api.go 3.9 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package ec2
  3. import (
  4. "fmt"
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/ec2query"
  11. )
  12. const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
  13. // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  14. // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
  15. // value will be populated with the request's response once the request completes
  16. // successfully.
  17. //
  18. // Use "Send" method on the returned Request to send the API call to the service.
  19. // the "output" return value is not valid until after Send returns without error.
  20. //
  21. // See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote
  22. // API call, and error handling.
  23. //
  24. // This method is useful when you want to inject custom logic or configuration
  25. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26. //
  27. //
  28. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  29. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  30. //
  31. // err := req.Send()
  32. // if err == nil { // resp is now filled
  33. // fmt.Println(resp)
  34. // }
  35. //
  36. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  37. func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
  38. op := &request.Operation{
  39. Name: opAcceptReservedInstancesExchangeQuote,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AcceptReservedInstancesExchangeQuoteInput{}
  45. }
  46. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  47. req = c.newRequest(op, input, output)
  48. return
  49. }
  50. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  51. //
  52. // Accepts the Convertible Reserved Instance exchange quote described in the
  53. // GetReservedInstancesExchangeQuote call.
  54. //
  55. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  56. // with awserr.Error's Code and Message methods to get detailed information about
  57. // the error.
  58. //
  59. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  60. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  61. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  62. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  63. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  64. return out, req.Send()
  65. }
  66. // AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
  67. // the ability to pass a context and additional request options.
  68. //
  69. // See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
  70. //
  71. // The context must be non-nil and will be used for request cancellation. If
  72. // the context is nil a panic will occur. In the future the SDK may create
  73. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  74. // for more information on using Contexts.
  75. func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  76. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  77. req.SetContext(ctx)
  78. req.ApplyOptions(opts...)
  79. return out, req.Send()
  80. }
  81. const opAcceptTransitGatewayPeeringAttachment = "AcceptTransitGatewayPeeringAttachment"
  82. // AcceptTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
  83. // client's request for the AcceptTransitGatewayPeeringAttachment operation. The "output" return
  84. // value will be populated with the request's response once the request completes
  85. // successfully.
  86. //
  87. // Use "Send" method on the returned Request to send the API call to the service.
  88. // the "output" return value is not valid until after Send returns without error.
  89. //
  90. // See AcceptTransitGatewayPeeringAttachment for more information on using the AcceptTransitGatewayPeeringAttachment
  91. // API call, and error handling.
  92. //
  93. // This method is useful when you want to inject custom logic or configuration
  94. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  95. //
  96. //
  97. // // Example sending a request using the AcceptTransitGatewayPeeringAttachmentRequest method.
  98. // req, resp := client.AcceptTransitGatewayPeeringAttachmentRequest(params)
  99. //
  100. // err := req.Send()
  101. // if err == nil { // resp is now filled
  102. // fmt.Println(resp)
  103. // }
  104. //
  105. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
  106. func (c *EC2) AcceptTransitGatewayPeeringAttachmentRequest(input *AcceptTransitGatewayPeeringAttachmentInput) (req *request.Request, output *AcceptTransitGatewayPeeringAttachmentOutput) {
  107. op := &request.Operation{
  108. Name: opAcceptTransitGatewayPeeringAttachment,
  109. HTTPMethod: "POST",
  110. HTTPPath: "/",
  111. }
  112. if input == nil {
  113. input = &AcceptTransitGatewayPeeringAttachmentInput{}
  114. }
  115. output = &AcceptTransitGatewayPeeringAttachmentOutput{}
  116. req = c.newRequest(op, input, output)
  117. return
  118. }
  119. // AcceptTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
  120. //
  121. // Accepts a transit gateway peering attachment request. The peering attachment
  122. // must be in the pendingAcceptance state.
  123. //
  124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  125. // with awserr.Error's Code and Message methods to get detailed information about
  126. // the error.
  127. //
  128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  129. // API operation AcceptTransitGatewayPeeringAttachment for usage and error information.
  130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
  131. func (c *EC2) AcceptTransitGatewayPeeringAttachment(input *AcceptTransitGatewayPeeringAttachmentInput) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
  132. req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
  133. return out, req.Send()
  134. }
  135. // AcceptTransitGatewayPeeringAttachmentWithContext is the same as AcceptTransitGatewayPeeringAttachment with the addition of
  136. // the ability to pass a context and additional request options.
  137. //
  138. // See AcceptTransitGatewayPeeringAttachment for details on how to use this API operation.
  139. //
  140. // The context must be non-nil and will be used for request cancellation. If
  141. // the context is nil a panic will occur. In the future the SDK may create
  142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  143. // for more information on using Contexts.
  144. func (c *EC2) AcceptTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
  145. req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
  146. req.SetContext(ctx)
  147. req.ApplyOptions(opts...)
  148. return out, req.Send()
  149. }
  150. const opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
  151. // AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  152. // client's request for the AcceptTransitGatewayVpcAttachment operation. The "output" return
  153. // value will be populated with the request's response once the request completes
  154. // successfully.
  155. //
  156. // Use "Send" method on the returned Request to send the API call to the service.
  157. // the "output" return value is not valid until after Send returns without error.
  158. //
  159. // See AcceptTransitGatewayVpcAttachment for more information on using the AcceptTransitGatewayVpcAttachment
  160. // API call, and error handling.
  161. //
  162. // This method is useful when you want to inject custom logic or configuration
  163. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  164. //
  165. //
  166. // // Example sending a request using the AcceptTransitGatewayVpcAttachmentRequest method.
  167. // req, resp := client.AcceptTransitGatewayVpcAttachmentRequest(params)
  168. //
  169. // err := req.Send()
  170. // if err == nil { // resp is now filled
  171. // fmt.Println(resp)
  172. // }
  173. //
  174. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
  175. func (c *EC2) AcceptTransitGatewayVpcAttachmentRequest(input *AcceptTransitGatewayVpcAttachmentInput) (req *request.Request, output *AcceptTransitGatewayVpcAttachmentOutput) {
  176. op := &request.Operation{
  177. Name: opAcceptTransitGatewayVpcAttachment,
  178. HTTPMethod: "POST",
  179. HTTPPath: "/",
  180. }
  181. if input == nil {
  182. input = &AcceptTransitGatewayVpcAttachmentInput{}
  183. }
  184. output = &AcceptTransitGatewayVpcAttachmentOutput{}
  185. req = c.newRequest(op, input, output)
  186. return
  187. }
  188. // AcceptTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  189. //
  190. // Accepts a request to attach a VPC to a transit gateway.
  191. //
  192. // The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
  193. // to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment
  194. // to reject a VPC attachment request.
  195. //
  196. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  197. // with awserr.Error's Code and Message methods to get detailed information about
  198. // the error.
  199. //
  200. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  201. // API operation AcceptTransitGatewayVpcAttachment for usage and error information.
  202. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
  203. func (c *EC2) AcceptTransitGatewayVpcAttachment(input *AcceptTransitGatewayVpcAttachmentInput) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
  204. req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
  205. return out, req.Send()
  206. }
  207. // AcceptTransitGatewayVpcAttachmentWithContext is the same as AcceptTransitGatewayVpcAttachment with the addition of
  208. // the ability to pass a context and additional request options.
  209. //
  210. // See AcceptTransitGatewayVpcAttachment for details on how to use this API operation.
  211. //
  212. // The context must be non-nil and will be used for request cancellation. If
  213. // the context is nil a panic will occur. In the future the SDK may create
  214. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  215. // for more information on using Contexts.
  216. func (c *EC2) AcceptTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayVpcAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
  217. req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
  218. req.SetContext(ctx)
  219. req.ApplyOptions(opts...)
  220. return out, req.Send()
  221. }
  222. const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
  223. // AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  224. // client's request for the AcceptVpcEndpointConnections operation. The "output" return
  225. // value will be populated with the request's response once the request completes
  226. // successfully.
  227. //
  228. // Use "Send" method on the returned Request to send the API call to the service.
  229. // the "output" return value is not valid until after Send returns without error.
  230. //
  231. // See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
  232. // API call, and error handling.
  233. //
  234. // This method is useful when you want to inject custom logic or configuration
  235. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  236. //
  237. //
  238. // // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
  239. // req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
  240. //
  241. // err := req.Send()
  242. // if err == nil { // resp is now filled
  243. // fmt.Println(resp)
  244. // }
  245. //
  246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  247. func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
  248. op := &request.Operation{
  249. Name: opAcceptVpcEndpointConnections,
  250. HTTPMethod: "POST",
  251. HTTPPath: "/",
  252. }
  253. if input == nil {
  254. input = &AcceptVpcEndpointConnectionsInput{}
  255. }
  256. output = &AcceptVpcEndpointConnectionsOutput{}
  257. req = c.newRequest(op, input, output)
  258. return
  259. }
  260. // AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  261. //
  262. // Accepts one or more interface VPC endpoint connection requests to your VPC
  263. // endpoint service.
  264. //
  265. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  266. // with awserr.Error's Code and Message methods to get detailed information about
  267. // the error.
  268. //
  269. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  270. // API operation AcceptVpcEndpointConnections for usage and error information.
  271. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  272. func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
  273. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  274. return out, req.Send()
  275. }
  276. // AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
  277. // the ability to pass a context and additional request options.
  278. //
  279. // See AcceptVpcEndpointConnections for details on how to use this API operation.
  280. //
  281. // The context must be non-nil and will be used for request cancellation. If
  282. // the context is nil a panic will occur. In the future the SDK may create
  283. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  284. // for more information on using Contexts.
  285. func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
  286. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  287. req.SetContext(ctx)
  288. req.ApplyOptions(opts...)
  289. return out, req.Send()
  290. }
  291. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  292. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  293. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  294. // value will be populated with the request's response once the request completes
  295. // successfully.
  296. //
  297. // Use "Send" method on the returned Request to send the API call to the service.
  298. // the "output" return value is not valid until after Send returns without error.
  299. //
  300. // See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
  301. // API call, and error handling.
  302. //
  303. // This method is useful when you want to inject custom logic or configuration
  304. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  305. //
  306. //
  307. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  308. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  309. //
  310. // err := req.Send()
  311. // if err == nil { // resp is now filled
  312. // fmt.Println(resp)
  313. // }
  314. //
  315. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  316. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  317. op := &request.Operation{
  318. Name: opAcceptVpcPeeringConnection,
  319. HTTPMethod: "POST",
  320. HTTPPath: "/",
  321. }
  322. if input == nil {
  323. input = &AcceptVpcPeeringConnectionInput{}
  324. }
  325. output = &AcceptVpcPeeringConnectionOutput{}
  326. req = c.newRequest(op, input, output)
  327. return
  328. }
  329. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  330. //
  331. // Accept a VPC peering connection request. To accept a request, the VPC peering
  332. // connection must be in the pending-acceptance state, and you must be the owner
  333. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  334. // VPC peering connection requests.
  335. //
  336. // For an inter-Region VPC peering connection request, you must accept the VPC
  337. // peering connection in the Region of the accepter VPC.
  338. //
  339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  340. // with awserr.Error's Code and Message methods to get detailed information about
  341. // the error.
  342. //
  343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  344. // API operation AcceptVpcPeeringConnection for usage and error information.
  345. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  346. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  347. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  348. return out, req.Send()
  349. }
  350. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  351. // the ability to pass a context and additional request options.
  352. //
  353. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  354. //
  355. // The context must be non-nil and will be used for request cancellation. If
  356. // the context is nil a panic will occur. In the future the SDK may create
  357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  358. // for more information on using Contexts.
  359. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  360. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  361. req.SetContext(ctx)
  362. req.ApplyOptions(opts...)
  363. return out, req.Send()
  364. }
  365. const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
  366. // AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
  367. // client's request for the AdvertiseByoipCidr operation. The "output" return
  368. // value will be populated with the request's response once the request completes
  369. // successfully.
  370. //
  371. // Use "Send" method on the returned Request to send the API call to the service.
  372. // the "output" return value is not valid until after Send returns without error.
  373. //
  374. // See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
  375. // API call, and error handling.
  376. //
  377. // This method is useful when you want to inject custom logic or configuration
  378. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  379. //
  380. //
  381. // // Example sending a request using the AdvertiseByoipCidrRequest method.
  382. // req, resp := client.AdvertiseByoipCidrRequest(params)
  383. //
  384. // err := req.Send()
  385. // if err == nil { // resp is now filled
  386. // fmt.Println(resp)
  387. // }
  388. //
  389. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
  390. func (c *EC2) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
  391. op := &request.Operation{
  392. Name: opAdvertiseByoipCidr,
  393. HTTPMethod: "POST",
  394. HTTPPath: "/",
  395. }
  396. if input == nil {
  397. input = &AdvertiseByoipCidrInput{}
  398. }
  399. output = &AdvertiseByoipCidrOutput{}
  400. req = c.newRequest(op, input, output)
  401. return
  402. }
  403. // AdvertiseByoipCidr API operation for Amazon Elastic Compute Cloud.
  404. //
  405. // Advertises an IPv4 address range that is provisioned for use with your AWS
  406. // resources through bring your own IP addresses (BYOIP).
  407. //
  408. // You can perform this operation at most once every 10 seconds, even if you
  409. // specify different address ranges each time.
  410. //
  411. // We recommend that you stop advertising the BYOIP CIDR from other locations
  412. // when you advertise it from AWS. To minimize down time, you can configure
  413. // your AWS resources to use an address from a BYOIP CIDR before it is advertised,
  414. // and then simultaneously stop advertising it from the current location and
  415. // start advertising it through AWS.
  416. //
  417. // It can take a few minutes before traffic to the specified addresses starts
  418. // routing to AWS because of BGP propagation delays.
  419. //
  420. // To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
  421. //
  422. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  423. // with awserr.Error's Code and Message methods to get detailed information about
  424. // the error.
  425. //
  426. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  427. // API operation AdvertiseByoipCidr for usage and error information.
  428. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
  429. func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
  430. req, out := c.AdvertiseByoipCidrRequest(input)
  431. return out, req.Send()
  432. }
  433. // AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
  434. // the ability to pass a context and additional request options.
  435. //
  436. // See AdvertiseByoipCidr for details on how to use this API operation.
  437. //
  438. // The context must be non-nil and will be used for request cancellation. If
  439. // the context is nil a panic will occur. In the future the SDK may create
  440. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  441. // for more information on using Contexts.
  442. func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
  443. req, out := c.AdvertiseByoipCidrRequest(input)
  444. req.SetContext(ctx)
  445. req.ApplyOptions(opts...)
  446. return out, req.Send()
  447. }
  448. const opAllocateAddress = "AllocateAddress"
  449. // AllocateAddressRequest generates a "aws/request.Request" representing the
  450. // client's request for the AllocateAddress operation. The "output" return
  451. // value will be populated with the request's response once the request completes
  452. // successfully.
  453. //
  454. // Use "Send" method on the returned Request to send the API call to the service.
  455. // the "output" return value is not valid until after Send returns without error.
  456. //
  457. // See AllocateAddress for more information on using the AllocateAddress
  458. // API call, and error handling.
  459. //
  460. // This method is useful when you want to inject custom logic or configuration
  461. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  462. //
  463. //
  464. // // Example sending a request using the AllocateAddressRequest method.
  465. // req, resp := client.AllocateAddressRequest(params)
  466. //
  467. // err := req.Send()
  468. // if err == nil { // resp is now filled
  469. // fmt.Println(resp)
  470. // }
  471. //
  472. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  473. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  474. op := &request.Operation{
  475. Name: opAllocateAddress,
  476. HTTPMethod: "POST",
  477. HTTPPath: "/",
  478. }
  479. if input == nil {
  480. input = &AllocateAddressInput{}
  481. }
  482. output = &AllocateAddressOutput{}
  483. req = c.newRequest(op, input, output)
  484. return
  485. }
  486. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  487. //
  488. // Allocates an Elastic IP address to your AWS account. After you allocate the
  489. // Elastic IP address you can associate it with an instance or network interface.
  490. // After you release an Elastic IP address, it is released to the IP address
  491. // pool and can be allocated to a different AWS account.
  492. //
  493. // You can allocate an Elastic IP address from an address pool owned by AWS
  494. // or from an address pool created from a public IPv4 address range that you
  495. // have brought to AWS for use with your AWS resources using bring your own
  496. // IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses
  497. // (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
  498. // in the Amazon Elastic Compute Cloud User Guide.
  499. //
  500. // [EC2-VPC] If you release an Elastic IP address, you might be able to recover
  501. // it. You cannot recover an Elastic IP address that you released after it is
  502. // allocated to another AWS account. You cannot recover an Elastic IP address
  503. // for EC2-Classic. To attempt to recover an Elastic IP address that you released,
  504. // specify it in this operation.
  505. //
  506. // An Elastic IP address is for use either in the EC2-Classic platform or in
  507. // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
  508. // per Region and 5 Elastic IP addresses for EC2-VPC per Region.
  509. //
  510. // For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  511. // in the Amazon Elastic Compute Cloud User Guide.
  512. //
  513. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  514. // with awserr.Error's Code and Message methods to get detailed information about
  515. // the error.
  516. //
  517. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  518. // API operation AllocateAddress for usage and error information.
  519. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  520. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  521. req, out := c.AllocateAddressRequest(input)
  522. return out, req.Send()
  523. }
  524. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  525. // the ability to pass a context and additional request options.
  526. //
  527. // See AllocateAddress for details on how to use this API operation.
  528. //
  529. // The context must be non-nil and will be used for request cancellation. If
  530. // the context is nil a panic will occur. In the future the SDK may create
  531. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  532. // for more information on using Contexts.
  533. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  534. req, out := c.AllocateAddressRequest(input)
  535. req.SetContext(ctx)
  536. req.ApplyOptions(opts...)
  537. return out, req.Send()
  538. }
  539. const opAllocateHosts = "AllocateHosts"
  540. // AllocateHostsRequest generates a "aws/request.Request" representing the
  541. // client's request for the AllocateHosts operation. The "output" return
  542. // value will be populated with the request's response once the request completes
  543. // successfully.
  544. //
  545. // Use "Send" method on the returned Request to send the API call to the service.
  546. // the "output" return value is not valid until after Send returns without error.
  547. //
  548. // See AllocateHosts for more information on using the AllocateHosts
  549. // API call, and error handling.
  550. //
  551. // This method is useful when you want to inject custom logic or configuration
  552. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  553. //
  554. //
  555. // // Example sending a request using the AllocateHostsRequest method.
  556. // req, resp := client.AllocateHostsRequest(params)
  557. //
  558. // err := req.Send()
  559. // if err == nil { // resp is now filled
  560. // fmt.Println(resp)
  561. // }
  562. //
  563. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  564. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  565. op := &request.Operation{
  566. Name: opAllocateHosts,
  567. HTTPMethod: "POST",
  568. HTTPPath: "/",
  569. }
  570. if input == nil {
  571. input = &AllocateHostsInput{}
  572. }
  573. output = &AllocateHostsOutput{}
  574. req = c.newRequest(op, input, output)
  575. return
  576. }
  577. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  578. //
  579. // Allocates a Dedicated Host to your account. At a minimum, specify the supported
  580. // instance type or instance family, the Availability Zone in which to allocate
  581. // the host, and the number of hosts to allocate.
  582. //
  583. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  584. // with awserr.Error's Code and Message methods to get detailed information about
  585. // the error.
  586. //
  587. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  588. // API operation AllocateHosts for usage and error information.
  589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  590. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  591. req, out := c.AllocateHostsRequest(input)
  592. return out, req.Send()
  593. }
  594. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  595. // the ability to pass a context and additional request options.
  596. //
  597. // See AllocateHosts for details on how to use this API operation.
  598. //
  599. // The context must be non-nil and will be used for request cancellation. If
  600. // the context is nil a panic will occur. In the future the SDK may create
  601. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  602. // for more information on using Contexts.
  603. func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  604. req, out := c.AllocateHostsRequest(input)
  605. req.SetContext(ctx)
  606. req.ApplyOptions(opts...)
  607. return out, req.Send()
  608. }
  609. const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
  610. // ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  611. // client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return
  612. // value will be populated with the request's response once the request completes
  613. // successfully.
  614. //
  615. // Use "Send" method on the returned Request to send the API call to the service.
  616. // the "output" return value is not valid until after Send returns without error.
  617. //
  618. // See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
  619. // API call, and error handling.
  620. //
  621. // This method is useful when you want to inject custom logic or configuration
  622. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  623. //
  624. //
  625. // // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
  626. // req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params)
  627. //
  628. // err := req.Send()
  629. // if err == nil { // resp is now filled
  630. // fmt.Println(resp)
  631. // }
  632. //
  633. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
  634. func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
  635. op := &request.Operation{
  636. Name: opApplySecurityGroupsToClientVpnTargetNetwork,
  637. HTTPMethod: "POST",
  638. HTTPPath: "/",
  639. }
  640. if input == nil {
  641. input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
  642. }
  643. output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
  644. req = c.newRequest(op, input, output)
  645. return
  646. }
  647. // ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  648. //
  649. // Applies a security group to the association between the target network and
  650. // the Client VPN endpoint. This action replaces the existing security groups
  651. // with the specified security groups.
  652. //
  653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  654. // with awserr.Error's Code and Message methods to get detailed information about
  655. // the error.
  656. //
  657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  658. // API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
  659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
  660. func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
  661. req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
  662. return out, req.Send()
  663. }
  664. // ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
  665. // the ability to pass a context and additional request options.
  666. //
  667. // See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation.
  668. //
  669. // The context must be non-nil and will be used for request cancellation. If
  670. // the context is nil a panic will occur. In the future the SDK may create
  671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  672. // for more information on using Contexts.
  673. func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
  674. req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
  675. req.SetContext(ctx)
  676. req.ApplyOptions(opts...)
  677. return out, req.Send()
  678. }
  679. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  680. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  681. // client's request for the AssignIpv6Addresses operation. The "output" return
  682. // value will be populated with the request's response once the request completes
  683. // successfully.
  684. //
  685. // Use "Send" method on the returned Request to send the API call to the service.
  686. // the "output" return value is not valid until after Send returns without error.
  687. //
  688. // See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
  689. // API call, and error handling.
  690. //
  691. // This method is useful when you want to inject custom logic or configuration
  692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  693. //
  694. //
  695. // // Example sending a request using the AssignIpv6AddressesRequest method.
  696. // req, resp := client.AssignIpv6AddressesRequest(params)
  697. //
  698. // err := req.Send()
  699. // if err == nil { // resp is now filled
  700. // fmt.Println(resp)
  701. // }
  702. //
  703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  704. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  705. op := &request.Operation{
  706. Name: opAssignIpv6Addresses,
  707. HTTPMethod: "POST",
  708. HTTPPath: "/",
  709. }
  710. if input == nil {
  711. input = &AssignIpv6AddressesInput{}
  712. }
  713. output = &AssignIpv6AddressesOutput{}
  714. req = c.newRequest(op, input, output)
  715. return
  716. }
  717. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  718. //
  719. // Assigns one or more IPv6 addresses to the specified network interface. You
  720. // can specify one or more specific IPv6 addresses, or you can specify the number
  721. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  722. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  723. // as you can assign private IPv4 addresses, and the limit varies per instance
  724. // type. For information, see IP Addresses Per Network Interface Per Instance
  725. // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  726. // in the Amazon Elastic Compute Cloud User Guide.
  727. //
  728. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  729. // with awserr.Error's Code and Message methods to get detailed information about
  730. // the error.
  731. //
  732. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  733. // API operation AssignIpv6Addresses for usage and error information.
  734. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  735. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  736. req, out := c.AssignIpv6AddressesRequest(input)
  737. return out, req.Send()
  738. }
  739. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  740. // the ability to pass a context and additional request options.
  741. //
  742. // See AssignIpv6Addresses for details on how to use this API operation.
  743. //
  744. // The context must be non-nil and will be used for request cancellation. If
  745. // the context is nil a panic will occur. In the future the SDK may create
  746. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  747. // for more information on using Contexts.
  748. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  749. req, out := c.AssignIpv6AddressesRequest(input)
  750. req.SetContext(ctx)
  751. req.ApplyOptions(opts...)
  752. return out, req.Send()
  753. }
  754. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  755. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  756. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  757. // value will be populated with the request's response once the request completes
  758. // successfully.
  759. //
  760. // Use "Send" method on the returned Request to send the API call to the service.
  761. // the "output" return value is not valid until after Send returns without error.
  762. //
  763. // See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
  764. // API call, and error handling.
  765. //
  766. // This method is useful when you want to inject custom logic or configuration
  767. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  768. //
  769. //
  770. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  771. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  772. //
  773. // err := req.Send()
  774. // if err == nil { // resp is now filled
  775. // fmt.Println(resp)
  776. // }
  777. //
  778. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  779. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  780. op := &request.Operation{
  781. Name: opAssignPrivateIpAddresses,
  782. HTTPMethod: "POST",
  783. HTTPPath: "/",
  784. }
  785. if input == nil {
  786. input = &AssignPrivateIpAddressesInput{}
  787. }
  788. output = &AssignPrivateIpAddressesOutput{}
  789. req = c.newRequest(op, input, output)
  790. return
  791. }
  792. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  793. //
  794. // Assigns one or more secondary private IP addresses to the specified network
  795. // interface.
  796. //
  797. // You can specify one or more specific secondary IP addresses, or you can specify
  798. // the number of secondary IP addresses to be automatically assigned within
  799. // the subnet's CIDR block range. The number of secondary IP addresses that
  800. // you can assign to an instance varies by instance type. For information about
  801. // instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  802. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  803. // Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  804. // in the Amazon Elastic Compute Cloud User Guide.
  805. //
  806. // When you move a secondary private IP address to another network interface,
  807. // any Elastic IP address that is associated with the IP address is also moved.
  808. //
  809. // Remapping an IP address is an asynchronous operation. When you move an IP
  810. // address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
  811. // in the instance metadata to confirm that the remapping is complete.
  812. //
  813. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  814. // with awserr.Error's Code and Message methods to get detailed information about
  815. // the error.
  816. //
  817. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  818. // API operation AssignPrivateIpAddresses for usage and error information.
  819. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  820. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  821. req, out := c.AssignPrivateIpAddressesRequest(input)
  822. return out, req.Send()
  823. }
  824. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  825. // the ability to pass a context and additional request options.
  826. //
  827. // See AssignPrivateIpAddresses for details on how to use this API operation.
  828. //
  829. // The context must be non-nil and will be used for request cancellation. If
  830. // the context is nil a panic will occur. In the future the SDK may create
  831. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  832. // for more information on using Contexts.
  833. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  834. req, out := c.AssignPrivateIpAddressesRequest(input)
  835. req.SetContext(ctx)
  836. req.ApplyOptions(opts...)
  837. return out, req.Send()
  838. }
  839. const opAssociateAddress = "AssociateAddress"
  840. // AssociateAddressRequest generates a "aws/request.Request" representing the
  841. // client's request for the AssociateAddress operation. The "output" return
  842. // value will be populated with the request's response once the request completes
  843. // successfully.
  844. //
  845. // Use "Send" method on the returned Request to send the API call to the service.
  846. // the "output" return value is not valid until after Send returns without error.
  847. //
  848. // See AssociateAddress for more information on using the AssociateAddress
  849. // API call, and error handling.
  850. //
  851. // This method is useful when you want to inject custom logic or configuration
  852. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  853. //
  854. //
  855. // // Example sending a request using the AssociateAddressRequest method.
  856. // req, resp := client.AssociateAddressRequest(params)
  857. //
  858. // err := req.Send()
  859. // if err == nil { // resp is now filled
  860. // fmt.Println(resp)
  861. // }
  862. //
  863. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  864. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  865. op := &request.Operation{
  866. Name: opAssociateAddress,
  867. HTTPMethod: "POST",
  868. HTTPPath: "/",
  869. }
  870. if input == nil {
  871. input = &AssociateAddressInput{}
  872. }
  873. output = &AssociateAddressOutput{}
  874. req = c.newRequest(op, input, output)
  875. return
  876. }
  877. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  878. //
  879. // Associates an Elastic IP address with an instance or a network interface.
  880. // Before you can use an Elastic IP address, you must allocate it to your account.
  881. //
  882. // An Elastic IP address is for use in either the EC2-Classic platform or in
  883. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  884. // in the Amazon Elastic Compute Cloud User Guide.
  885. //
  886. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  887. // already associated with a different instance, it is disassociated from that
  888. // instance and associated with the specified instance. If you associate an
  889. // Elastic IP address with an instance that has an existing Elastic IP address,
  890. // the existing address is disassociated from the instance, but remains allocated
  891. // to your account.
  892. //
  893. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  894. // the Elastic IP address is associated with the primary IP address. If the
  895. // Elastic IP address is already associated with a different instance or a network
  896. // interface, you get an error unless you allow reassociation. You cannot associate
  897. // an Elastic IP address with an instance or network interface that has an existing
  898. // Elastic IP address.
  899. //
  900. // You cannot associate an Elastic IP address with an interface in a different
  901. // network border group.
  902. //
  903. // This is an idempotent operation. If you perform the operation more than once,
  904. // Amazon EC2 doesn't return an error, and you may be charged for each time
  905. // the Elastic IP address is remapped to the same instance. For more information,
  906. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  907. //
  908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  909. // with awserr.Error's Code and Message methods to get detailed information about
  910. // the error.
  911. //
  912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  913. // API operation AssociateAddress for usage and error information.
  914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  915. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  916. req, out := c.AssociateAddressRequest(input)
  917. return out, req.Send()
  918. }
  919. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  920. // the ability to pass a context and additional request options.
  921. //
  922. // See AssociateAddress for details on how to use this API operation.
  923. //
  924. // The context must be non-nil and will be used for request cancellation. If
  925. // the context is nil a panic will occur. In the future the SDK may create
  926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  927. // for more information on using Contexts.
  928. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  929. req, out := c.AssociateAddressRequest(input)
  930. req.SetContext(ctx)
  931. req.ApplyOptions(opts...)
  932. return out, req.Send()
  933. }
  934. const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
  935. // AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  936. // client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
  937. // value will be populated with the request's response once the request completes
  938. // successfully.
  939. //
  940. // Use "Send" method on the returned Request to send the API call to the service.
  941. // the "output" return value is not valid until after Send returns without error.
  942. //
  943. // See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
  944. // API call, and error handling.
  945. //
  946. // This method is useful when you want to inject custom logic or configuration
  947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  948. //
  949. //
  950. // // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
  951. // req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
  952. //
  953. // err := req.Send()
  954. // if err == nil { // resp is now filled
  955. // fmt.Println(resp)
  956. // }
  957. //
  958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
  959. func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
  960. op := &request.Operation{
  961. Name: opAssociateClientVpnTargetNetwork,
  962. HTTPMethod: "POST",
  963. HTTPPath: "/",
  964. }
  965. if input == nil {
  966. input = &AssociateClientVpnTargetNetworkInput{}
  967. }
  968. output = &AssociateClientVpnTargetNetworkOutput{}
  969. req = c.newRequest(op, input, output)
  970. return
  971. }
  972. // AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  973. //
  974. // Associates a target network with a Client VPN endpoint. A target network
  975. // is a subnet in a VPC. You can associate multiple subnets from the same VPC
  976. // with a Client VPN endpoint. You can associate only one subnet in each Availability
  977. // Zone. We recommend that you associate at least two subnets to provide Availability
  978. // Zone redundancy.
  979. //
  980. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  981. // with awserr.Error's Code and Message methods to get detailed information about
  982. // the error.
  983. //
  984. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  985. // API operation AssociateClientVpnTargetNetwork for usage and error information.
  986. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
  987. func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
  988. req, out := c.AssociateClientVpnTargetNetworkRequest(input)
  989. return out, req.Send()
  990. }
  991. // AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
  992. // the ability to pass a context and additional request options.
  993. //
  994. // See AssociateClientVpnTargetNetwork for details on how to use this API operation.
  995. //
  996. // The context must be non-nil and will be used for request cancellation. If
  997. // the context is nil a panic will occur. In the future the SDK may create
  998. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  999. // for more information on using Contexts.
  1000. func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
  1001. req, out := c.AssociateClientVpnTargetNetworkRequest(input)
  1002. req.SetContext(ctx)
  1003. req.ApplyOptions(opts...)
  1004. return out, req.Send()
  1005. }
  1006. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  1007. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  1008. // client's request for the AssociateDhcpOptions operation. The "output" return
  1009. // value will be populated with the request's response once the request completes
  1010. // successfully.
  1011. //
  1012. // Use "Send" method on the returned Request to send the API call to the service.
  1013. // the "output" return value is not valid until after Send returns without error.
  1014. //
  1015. // See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
  1016. // API call, and error handling.
  1017. //
  1018. // This method is useful when you want to inject custom logic or configuration
  1019. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1020. //
  1021. //
  1022. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  1023. // req, resp := client.AssociateDhcpOptionsRequest(params)
  1024. //
  1025. // err := req.Send()
  1026. // if err == nil { // resp is now filled
  1027. // fmt.Println(resp)
  1028. // }
  1029. //
  1030. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  1031. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  1032. op := &request.Operation{
  1033. Name: opAssociateDhcpOptions,
  1034. HTTPMethod: "POST",
  1035. HTTPPath: "/",
  1036. }
  1037. if input == nil {
  1038. input = &AssociateDhcpOptionsInput{}
  1039. }
  1040. output = &AssociateDhcpOptionsOutput{}
  1041. req = c.newRequest(op, input, output)
  1042. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1043. return
  1044. }
  1045. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  1046. //
  1047. // Associates a set of DHCP options (that you've previously created) with the
  1048. // specified VPC, or associates no DHCP options with the VPC.
  1049. //
  1050. // After you associate the options with the VPC, any existing instances and
  1051. // all new instances that you launch in that VPC use the options. You don't
  1052. // need to restart or relaunch the instances. They automatically pick up the
  1053. // changes within a few hours, depending on how frequently the instance renews
  1054. // its DHCP lease. You can explicitly renew the lease using the operating system
  1055. // on the instance.
  1056. //
  1057. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
  1058. // in the Amazon Virtual Private Cloud User Guide.
  1059. //
  1060. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1061. // with awserr.Error's Code and Message methods to get detailed information about
  1062. // the error.
  1063. //
  1064. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1065. // API operation AssociateDhcpOptions for usage and error information.
  1066. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  1067. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  1068. req, out := c.AssociateDhcpOptionsRequest(input)
  1069. return out, req.Send()
  1070. }
  1071. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  1072. // the ability to pass a context and additional request options.
  1073. //
  1074. // See AssociateDhcpOptions for details on how to use this API operation.
  1075. //
  1076. // The context must be non-nil and will be used for request cancellation. If
  1077. // the context is nil a panic will occur. In the future the SDK may create
  1078. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1079. // for more information on using Contexts.
  1080. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  1081. req, out := c.AssociateDhcpOptionsRequest(input)
  1082. req.SetContext(ctx)
  1083. req.ApplyOptions(opts...)
  1084. return out, req.Send()
  1085. }
  1086. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  1087. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  1088. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  1089. // value will be populated with the request's response once the request completes
  1090. // successfully.
  1091. //
  1092. // Use "Send" method on the returned Request to send the API call to the service.
  1093. // the "output" return value is not valid until after Send returns without error.
  1094. //
  1095. // See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
  1096. // API call, and error handling.
  1097. //
  1098. // This method is useful when you want to inject custom logic or configuration
  1099. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1100. //
  1101. //
  1102. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  1103. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  1104. //
  1105. // err := req.Send()
  1106. // if err == nil { // resp is now filled
  1107. // fmt.Println(resp)
  1108. // }
  1109. //
  1110. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  1111. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  1112. op := &request.Operation{
  1113. Name: opAssociateIamInstanceProfile,
  1114. HTTPMethod: "POST",
  1115. HTTPPath: "/",
  1116. }
  1117. if input == nil {
  1118. input = &AssociateIamInstanceProfileInput{}
  1119. }
  1120. output = &AssociateIamInstanceProfileOutput{}
  1121. req = c.newRequest(op, input, output)
  1122. return
  1123. }
  1124. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  1125. //
  1126. // Associates an IAM instance profile with a running or stopped instance. You
  1127. // cannot associate more than one IAM instance profile with an instance.
  1128. //
  1129. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1130. // with awserr.Error's Code and Message methods to get detailed information about
  1131. // the error.
  1132. //
  1133. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1134. // API operation AssociateIamInstanceProfile for usage and error information.
  1135. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  1136. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  1137. req, out := c.AssociateIamInstanceProfileRequest(input)
  1138. return out, req.Send()
  1139. }
  1140. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  1141. // the ability to pass a context and additional request options.
  1142. //
  1143. // See AssociateIamInstanceProfile for details on how to use this API operation.
  1144. //
  1145. // The context must be non-nil and will be used for request cancellation. If
  1146. // the context is nil a panic will occur. In the future the SDK may create
  1147. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1148. // for more information on using Contexts.
  1149. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  1150. req, out := c.AssociateIamInstanceProfileRequest(input)
  1151. req.SetContext(ctx)
  1152. req.ApplyOptions(opts...)
  1153. return out, req.Send()
  1154. }
  1155. const opAssociateRouteTable = "AssociateRouteTable"
  1156. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  1157. // client's request for the AssociateRouteTable operation. The "output" return
  1158. // value will be populated with the request's response once the request completes
  1159. // successfully.
  1160. //
  1161. // Use "Send" method on the returned Request to send the API call to the service.
  1162. // the "output" return value is not valid until after Send returns without error.
  1163. //
  1164. // See AssociateRouteTable for more information on using the AssociateRouteTable
  1165. // API call, and error handling.
  1166. //
  1167. // This method is useful when you want to inject custom logic or configuration
  1168. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1169. //
  1170. //
  1171. // // Example sending a request using the AssociateRouteTableRequest method.
  1172. // req, resp := client.AssociateRouteTableRequest(params)
  1173. //
  1174. // err := req.Send()
  1175. // if err == nil { // resp is now filled
  1176. // fmt.Println(resp)
  1177. // }
  1178. //
  1179. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  1180. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  1181. op := &request.Operation{
  1182. Name: opAssociateRouteTable,
  1183. HTTPMethod: "POST",
  1184. HTTPPath: "/",
  1185. }
  1186. if input == nil {
  1187. input = &AssociateRouteTableInput{}
  1188. }
  1189. output = &AssociateRouteTableOutput{}
  1190. req = c.newRequest(op, input, output)
  1191. return
  1192. }
  1193. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  1194. //
  1195. // Associates a subnet in your VPC or an internet gateway or virtual private
  1196. // gateway attached to your VPC with a route table in your VPC. This association
  1197. // causes traffic from the subnet or gateway to be routed according to the routes
  1198. // in the route table. The action returns an association ID, which you need
  1199. // in order to disassociate the route table later. A route table can be associated
  1200. // with multiple subnets.
  1201. //
  1202. // For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  1203. // in the Amazon Virtual Private Cloud User Guide.
  1204. //
  1205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1206. // with awserr.Error's Code and Message methods to get detailed information about
  1207. // the error.
  1208. //
  1209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1210. // API operation AssociateRouteTable for usage and error information.
  1211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  1212. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  1213. req, out := c.AssociateRouteTableRequest(input)
  1214. return out, req.Send()
  1215. }
  1216. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  1217. // the ability to pass a context and additional request options.
  1218. //
  1219. // See AssociateRouteTable for details on how to use this API operation.
  1220. //
  1221. // The context must be non-nil and will be used for request cancellation. If
  1222. // the context is nil a panic will occur. In the future the SDK may create
  1223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1224. // for more information on using Contexts.
  1225. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  1226. req, out := c.AssociateRouteTableRequest(input)
  1227. req.SetContext(ctx)
  1228. req.ApplyOptions(opts...)
  1229. return out, req.Send()
  1230. }
  1231. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  1232. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  1233. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  1234. // value will be populated with the request's response once the request completes
  1235. // successfully.
  1236. //
  1237. // Use "Send" method on the returned Request to send the API call to the service.
  1238. // the "output" return value is not valid until after Send returns without error.
  1239. //
  1240. // See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
  1241. // API call, and error handling.
  1242. //
  1243. // This method is useful when you want to inject custom logic or configuration
  1244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1245. //
  1246. //
  1247. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  1248. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  1249. //
  1250. // err := req.Send()
  1251. // if err == nil { // resp is now filled
  1252. // fmt.Println(resp)
  1253. // }
  1254. //
  1255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  1256. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  1257. op := &request.Operation{
  1258. Name: opAssociateSubnetCidrBlock,
  1259. HTTPMethod: "POST",
  1260. HTTPPath: "/",
  1261. }
  1262. if input == nil {
  1263. input = &AssociateSubnetCidrBlockInput{}
  1264. }
  1265. output = &AssociateSubnetCidrBlockOutput{}
  1266. req = c.newRequest(op, input, output)
  1267. return
  1268. }
  1269. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  1270. //
  1271. // Associates a CIDR block with your subnet. You can only associate a single
  1272. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  1273. // of /64.
  1274. //
  1275. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1276. // with awserr.Error's Code and Message methods to get detailed information about
  1277. // the error.
  1278. //
  1279. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1280. // API operation AssociateSubnetCidrBlock for usage and error information.
  1281. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  1282. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  1283. req, out := c.AssociateSubnetCidrBlockRequest(input)
  1284. return out, req.Send()
  1285. }
  1286. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  1287. // the ability to pass a context and additional request options.
  1288. //
  1289. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  1290. //
  1291. // The context must be non-nil and will be used for request cancellation. If
  1292. // the context is nil a panic will occur. In the future the SDK may create
  1293. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1294. // for more information on using Contexts.
  1295. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  1296. req, out := c.AssociateSubnetCidrBlockRequest(input)
  1297. req.SetContext(ctx)
  1298. req.ApplyOptions(opts...)
  1299. return out, req.Send()
  1300. }
  1301. const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
  1302. // AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
  1303. // client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
  1304. // value will be populated with the request's response once the request completes
  1305. // successfully.
  1306. //
  1307. // Use "Send" method on the returned Request to send the API call to the service.
  1308. // the "output" return value is not valid until after Send returns without error.
  1309. //
  1310. // See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
  1311. // API call, and error handling.
  1312. //
  1313. // This method is useful when you want to inject custom logic or configuration
  1314. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1315. //
  1316. //
  1317. // // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
  1318. // req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
  1319. //
  1320. // err := req.Send()
  1321. // if err == nil { // resp is now filled
  1322. // fmt.Println(resp)
  1323. // }
  1324. //
  1325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
  1326. func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
  1327. op := &request.Operation{
  1328. Name: opAssociateTransitGatewayMulticastDomain,
  1329. HTTPMethod: "POST",
  1330. HTTPPath: "/",
  1331. }
  1332. if input == nil {
  1333. input = &AssociateTransitGatewayMulticastDomainInput{}
  1334. }
  1335. output = &AssociateTransitGatewayMulticastDomainOutput{}
  1336. req = c.newRequest(op, input, output)
  1337. return
  1338. }
  1339. // AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
  1340. //
  1341. // Associates the specified subnets and transit gateway attachments with the
  1342. // specified transit gateway multicast domain.
  1343. //
  1344. // The transit gateway attachment must be in the available state before you
  1345. // can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
  1346. // to see the state of the attachment.
  1347. //
  1348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1349. // with awserr.Error's Code and Message methods to get detailed information about
  1350. // the error.
  1351. //
  1352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1353. // API operation AssociateTransitGatewayMulticastDomain for usage and error information.
  1354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
  1355. func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
  1356. req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
  1357. return out, req.Send()
  1358. }
  1359. // AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
  1360. // the ability to pass a context and additional request options.
  1361. //
  1362. // See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
  1363. //
  1364. // The context must be non-nil and will be used for request cancellation. If
  1365. // the context is nil a panic will occur. In the future the SDK may create
  1366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1367. // for more information on using Contexts.
  1368. func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
  1369. req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
  1370. req.SetContext(ctx)
  1371. req.ApplyOptions(opts...)
  1372. return out, req.Send()
  1373. }
  1374. const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
  1375. // AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  1376. // client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
  1377. // value will be populated with the request's response once the request completes
  1378. // successfully.
  1379. //
  1380. // Use "Send" method on the returned Request to send the API call to the service.
  1381. // the "output" return value is not valid until after Send returns without error.
  1382. //
  1383. // See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
  1384. // API call, and error handling.
  1385. //
  1386. // This method is useful when you want to inject custom logic or configuration
  1387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1388. //
  1389. //
  1390. // // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
  1391. // req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
  1392. //
  1393. // err := req.Send()
  1394. // if err == nil { // resp is now filled
  1395. // fmt.Println(resp)
  1396. // }
  1397. //
  1398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
  1399. func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
  1400. op := &request.Operation{
  1401. Name: opAssociateTransitGatewayRouteTable,
  1402. HTTPMethod: "POST",
  1403. HTTPPath: "/",
  1404. }
  1405. if input == nil {
  1406. input = &AssociateTransitGatewayRouteTableInput{}
  1407. }
  1408. output = &AssociateTransitGatewayRouteTableOutput{}
  1409. req = c.newRequest(op, input, output)
  1410. return
  1411. }
  1412. // AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  1413. //
  1414. // Associates the specified attachment with the specified transit gateway route
  1415. // table. You can associate only one route table with an attachment.
  1416. //
  1417. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1418. // with awserr.Error's Code and Message methods to get detailed information about
  1419. // the error.
  1420. //
  1421. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1422. // API operation AssociateTransitGatewayRouteTable for usage and error information.
  1423. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
  1424. func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
  1425. req, out := c.AssociateTransitGatewayRouteTableRequest(input)
  1426. return out, req.Send()
  1427. }
  1428. // AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
  1429. // the ability to pass a context and additional request options.
  1430. //
  1431. // See AssociateTransitGatewayRouteTable for details on how to use this API operation.
  1432. //
  1433. // The context must be non-nil and will be used for request cancellation. If
  1434. // the context is nil a panic will occur. In the future the SDK may create
  1435. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1436. // for more information on using Contexts.
  1437. func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
  1438. req, out := c.AssociateTransitGatewayRouteTableRequest(input)
  1439. req.SetContext(ctx)
  1440. req.ApplyOptions(opts...)
  1441. return out, req.Send()
  1442. }
  1443. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  1444. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  1445. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  1446. // value will be populated with the request's response once the request completes
  1447. // successfully.
  1448. //
  1449. // Use "Send" method on the returned Request to send the API call to the service.
  1450. // the "output" return value is not valid until after Send returns without error.
  1451. //
  1452. // See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
  1453. // API call, and error handling.
  1454. //
  1455. // This method is useful when you want to inject custom logic or configuration
  1456. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1457. //
  1458. //
  1459. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  1460. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  1461. //
  1462. // err := req.Send()
  1463. // if err == nil { // resp is now filled
  1464. // fmt.Println(resp)
  1465. // }
  1466. //
  1467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  1468. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  1469. op := &request.Operation{
  1470. Name: opAssociateVpcCidrBlock,
  1471. HTTPMethod: "POST",
  1472. HTTPPath: "/",
  1473. }
  1474. if input == nil {
  1475. input = &AssociateVpcCidrBlockInput{}
  1476. }
  1477. output = &AssociateVpcCidrBlockOutput{}
  1478. req = c.newRequest(op, input, output)
  1479. return
  1480. }
  1481. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  1482. //
  1483. // Associates a CIDR block with your VPC. You can associate a secondary IPv4
  1484. // CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
  1485. // IPv6 CIDR block size is fixed at /56.
  1486. //
  1487. // For more information about associating CIDR blocks with your VPC and applicable
  1488. // restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing)
  1489. // in the Amazon Virtual Private Cloud User Guide.
  1490. //
  1491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1492. // with awserr.Error's Code and Message methods to get detailed information about
  1493. // the error.
  1494. //
  1495. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1496. // API operation AssociateVpcCidrBlock for usage and error information.
  1497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  1498. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  1499. req, out := c.AssociateVpcCidrBlockRequest(input)
  1500. return out, req.Send()
  1501. }
  1502. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  1503. // the ability to pass a context and additional request options.
  1504. //
  1505. // See AssociateVpcCidrBlock for details on how to use this API operation.
  1506. //
  1507. // The context must be non-nil and will be used for request cancellation. If
  1508. // the context is nil a panic will occur. In the future the SDK may create
  1509. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1510. // for more information on using Contexts.
  1511. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  1512. req, out := c.AssociateVpcCidrBlockRequest(input)
  1513. req.SetContext(ctx)
  1514. req.ApplyOptions(opts...)
  1515. return out, req.Send()
  1516. }
  1517. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  1518. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  1519. // client's request for the AttachClassicLinkVpc operation. The "output" return
  1520. // value will be populated with the request's response once the request completes
  1521. // successfully.
  1522. //
  1523. // Use "Send" method on the returned Request to send the API call to the service.
  1524. // the "output" return value is not valid until after Send returns without error.
  1525. //
  1526. // See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
  1527. // API call, and error handling.
  1528. //
  1529. // This method is useful when you want to inject custom logic or configuration
  1530. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1531. //
  1532. //
  1533. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  1534. // req, resp := client.AttachClassicLinkVpcRequest(params)
  1535. //
  1536. // err := req.Send()
  1537. // if err == nil { // resp is now filled
  1538. // fmt.Println(resp)
  1539. // }
  1540. //
  1541. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1542. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  1543. op := &request.Operation{
  1544. Name: opAttachClassicLinkVpc,
  1545. HTTPMethod: "POST",
  1546. HTTPPath: "/",
  1547. }
  1548. if input == nil {
  1549. input = &AttachClassicLinkVpcInput{}
  1550. }
  1551. output = &AttachClassicLinkVpcOutput{}
  1552. req = c.newRequest(op, input, output)
  1553. return
  1554. }
  1555. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  1556. //
  1557. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  1558. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  1559. // to more than one VPC at a time. You can only link an instance that's in the
  1560. // running state. An instance is automatically unlinked from a VPC when it's
  1561. // stopped - you can link it to the VPC again when you restart it.
  1562. //
  1563. // After you've linked an instance, you cannot change the VPC security groups
  1564. // that are associated with it. To change the security groups, you must first
  1565. // unlink the instance, and then link it again.
  1566. //
  1567. // Linking your instance to a VPC is sometimes referred to as attaching your
  1568. // instance.
  1569. //
  1570. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1571. // with awserr.Error's Code and Message methods to get detailed information about
  1572. // the error.
  1573. //
  1574. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1575. // API operation AttachClassicLinkVpc for usage and error information.
  1576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1577. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  1578. req, out := c.AttachClassicLinkVpcRequest(input)
  1579. return out, req.Send()
  1580. }
  1581. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  1582. // the ability to pass a context and additional request options.
  1583. //
  1584. // See AttachClassicLinkVpc for details on how to use this API operation.
  1585. //
  1586. // The context must be non-nil and will be used for request cancellation. If
  1587. // the context is nil a panic will occur. In the future the SDK may create
  1588. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1589. // for more information on using Contexts.
  1590. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  1591. req, out := c.AttachClassicLinkVpcRequest(input)
  1592. req.SetContext(ctx)
  1593. req.ApplyOptions(opts...)
  1594. return out, req.Send()
  1595. }
  1596. const opAttachInternetGateway = "AttachInternetGateway"
  1597. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  1598. // client's request for the AttachInternetGateway operation. The "output" return
  1599. // value will be populated with the request's response once the request completes
  1600. // successfully.
  1601. //
  1602. // Use "Send" method on the returned Request to send the API call to the service.
  1603. // the "output" return value is not valid until after Send returns without error.
  1604. //
  1605. // See AttachInternetGateway for more information on using the AttachInternetGateway
  1606. // API call, and error handling.
  1607. //
  1608. // This method is useful when you want to inject custom logic or configuration
  1609. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1610. //
  1611. //
  1612. // // Example sending a request using the AttachInternetGatewayRequest method.
  1613. // req, resp := client.AttachInternetGatewayRequest(params)
  1614. //
  1615. // err := req.Send()
  1616. // if err == nil { // resp is now filled
  1617. // fmt.Println(resp)
  1618. // }
  1619. //
  1620. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1621. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1622. op := &request.Operation{
  1623. Name: opAttachInternetGateway,
  1624. HTTPMethod: "POST",
  1625. HTTPPath: "/",
  1626. }
  1627. if input == nil {
  1628. input = &AttachInternetGatewayInput{}
  1629. }
  1630. output = &AttachInternetGatewayOutput{}
  1631. req = c.newRequest(op, input, output)
  1632. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1633. return
  1634. }
  1635. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1636. //
  1637. // Attaches an internet gateway or a virtual private gateway to a VPC, enabling
  1638. // connectivity between the internet and the VPC. For more information about
  1639. // your VPC and internet gateway, see the Amazon Virtual Private Cloud User
  1640. // Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
  1641. //
  1642. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1643. // with awserr.Error's Code and Message methods to get detailed information about
  1644. // the error.
  1645. //
  1646. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1647. // API operation AttachInternetGateway for usage and error information.
  1648. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1649. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1650. req, out := c.AttachInternetGatewayRequest(input)
  1651. return out, req.Send()
  1652. }
  1653. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1654. // the ability to pass a context and additional request options.
  1655. //
  1656. // See AttachInternetGateway for details on how to use this API operation.
  1657. //
  1658. // The context must be non-nil and will be used for request cancellation. If
  1659. // the context is nil a panic will occur. In the future the SDK may create
  1660. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1661. // for more information on using Contexts.
  1662. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1663. req, out := c.AttachInternetGatewayRequest(input)
  1664. req.SetContext(ctx)
  1665. req.ApplyOptions(opts...)
  1666. return out, req.Send()
  1667. }
  1668. const opAttachNetworkInterface = "AttachNetworkInterface"
  1669. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1670. // client's request for the AttachNetworkInterface operation. The "output" return
  1671. // value will be populated with the request's response once the request completes
  1672. // successfully.
  1673. //
  1674. // Use "Send" method on the returned Request to send the API call to the service.
  1675. // the "output" return value is not valid until after Send returns without error.
  1676. //
  1677. // See AttachNetworkInterface for more information on using the AttachNetworkInterface
  1678. // API call, and error handling.
  1679. //
  1680. // This method is useful when you want to inject custom logic or configuration
  1681. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1682. //
  1683. //
  1684. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1685. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1686. //
  1687. // err := req.Send()
  1688. // if err == nil { // resp is now filled
  1689. // fmt.Println(resp)
  1690. // }
  1691. //
  1692. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1693. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1694. op := &request.Operation{
  1695. Name: opAttachNetworkInterface,
  1696. HTTPMethod: "POST",
  1697. HTTPPath: "/",
  1698. }
  1699. if input == nil {
  1700. input = &AttachNetworkInterfaceInput{}
  1701. }
  1702. output = &AttachNetworkInterfaceOutput{}
  1703. req = c.newRequest(op, input, output)
  1704. return
  1705. }
  1706. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1707. //
  1708. // Attaches a network interface to an instance.
  1709. //
  1710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1711. // with awserr.Error's Code and Message methods to get detailed information about
  1712. // the error.
  1713. //
  1714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1715. // API operation AttachNetworkInterface for usage and error information.
  1716. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1717. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1718. req, out := c.AttachNetworkInterfaceRequest(input)
  1719. return out, req.Send()
  1720. }
  1721. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1722. // the ability to pass a context and additional request options.
  1723. //
  1724. // See AttachNetworkInterface for details on how to use this API operation.
  1725. //
  1726. // The context must be non-nil and will be used for request cancellation. If
  1727. // the context is nil a panic will occur. In the future the SDK may create
  1728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1729. // for more information on using Contexts.
  1730. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1731. req, out := c.AttachNetworkInterfaceRequest(input)
  1732. req.SetContext(ctx)
  1733. req.ApplyOptions(opts...)
  1734. return out, req.Send()
  1735. }
  1736. const opAttachVolume = "AttachVolume"
  1737. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1738. // client's request for the AttachVolume operation. The "output" return
  1739. // value will be populated with the request's response once the request completes
  1740. // successfully.
  1741. //
  1742. // Use "Send" method on the returned Request to send the API call to the service.
  1743. // the "output" return value is not valid until after Send returns without error.
  1744. //
  1745. // See AttachVolume for more information on using the AttachVolume
  1746. // API call, and error handling.
  1747. //
  1748. // This method is useful when you want to inject custom logic or configuration
  1749. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1750. //
  1751. //
  1752. // // Example sending a request using the AttachVolumeRequest method.
  1753. // req, resp := client.AttachVolumeRequest(params)
  1754. //
  1755. // err := req.Send()
  1756. // if err == nil { // resp is now filled
  1757. // fmt.Println(resp)
  1758. // }
  1759. //
  1760. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1761. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1762. op := &request.Operation{
  1763. Name: opAttachVolume,
  1764. HTTPMethod: "POST",
  1765. HTTPPath: "/",
  1766. }
  1767. if input == nil {
  1768. input = &AttachVolumeInput{}
  1769. }
  1770. output = &VolumeAttachment{}
  1771. req = c.newRequest(op, input, output)
  1772. return
  1773. }
  1774. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1775. //
  1776. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1777. // the instance with the specified device name.
  1778. //
  1779. // Encrypted EBS volumes must be attached to instances that support Amazon EBS
  1780. // encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1781. // in the Amazon Elastic Compute Cloud User Guide.
  1782. //
  1783. // After you attach an EBS volume, you must make it available. For more information,
  1784. // see Making an EBS Volume Available For Use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html).
  1785. //
  1786. // If a volume has an AWS Marketplace product code:
  1787. //
  1788. // * The volume can be attached only to a stopped instance.
  1789. //
  1790. // * AWS Marketplace product codes are copied from the volume to the instance.
  1791. //
  1792. // * You must be subscribed to the product.
  1793. //
  1794. // * The instance type and operating system of the instance must support
  1795. // the product. For example, you can't detach a volume from a Windows instance
  1796. // and attach it to a Linux instance.
  1797. //
  1798. // For more information, see Attaching Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1799. // in the Amazon Elastic Compute Cloud User Guide.
  1800. //
  1801. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1802. // with awserr.Error's Code and Message methods to get detailed information about
  1803. // the error.
  1804. //
  1805. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1806. // API operation AttachVolume for usage and error information.
  1807. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1808. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1809. req, out := c.AttachVolumeRequest(input)
  1810. return out, req.Send()
  1811. }
  1812. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1813. // the ability to pass a context and additional request options.
  1814. //
  1815. // See AttachVolume for details on how to use this API operation.
  1816. //
  1817. // The context must be non-nil and will be used for request cancellation. If
  1818. // the context is nil a panic will occur. In the future the SDK may create
  1819. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1820. // for more information on using Contexts.
  1821. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1822. req, out := c.AttachVolumeRequest(input)
  1823. req.SetContext(ctx)
  1824. req.ApplyOptions(opts...)
  1825. return out, req.Send()
  1826. }
  1827. const opAttachVpnGateway = "AttachVpnGateway"
  1828. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1829. // client's request for the AttachVpnGateway operation. The "output" return
  1830. // value will be populated with the request's response once the request completes
  1831. // successfully.
  1832. //
  1833. // Use "Send" method on the returned Request to send the API call to the service.
  1834. // the "output" return value is not valid until after Send returns without error.
  1835. //
  1836. // See AttachVpnGateway for more information on using the AttachVpnGateway
  1837. // API call, and error handling.
  1838. //
  1839. // This method is useful when you want to inject custom logic or configuration
  1840. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1841. //
  1842. //
  1843. // // Example sending a request using the AttachVpnGatewayRequest method.
  1844. // req, resp := client.AttachVpnGatewayRequest(params)
  1845. //
  1846. // err := req.Send()
  1847. // if err == nil { // resp is now filled
  1848. // fmt.Println(resp)
  1849. // }
  1850. //
  1851. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1852. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1853. op := &request.Operation{
  1854. Name: opAttachVpnGateway,
  1855. HTTPMethod: "POST",
  1856. HTTPPath: "/",
  1857. }
  1858. if input == nil {
  1859. input = &AttachVpnGatewayInput{}
  1860. }
  1861. output = &AttachVpnGatewayOutput{}
  1862. req = c.newRequest(op, input, output)
  1863. return
  1864. }
  1865. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1866. //
  1867. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1868. // gateway to one VPC at a time.
  1869. //
  1870. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  1871. // in the AWS Site-to-Site VPN User Guide.
  1872. //
  1873. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1874. // with awserr.Error's Code and Message methods to get detailed information about
  1875. // the error.
  1876. //
  1877. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1878. // API operation AttachVpnGateway for usage and error information.
  1879. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1880. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1881. req, out := c.AttachVpnGatewayRequest(input)
  1882. return out, req.Send()
  1883. }
  1884. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1885. // the ability to pass a context and additional request options.
  1886. //
  1887. // See AttachVpnGateway for details on how to use this API operation.
  1888. //
  1889. // The context must be non-nil and will be used for request cancellation. If
  1890. // the context is nil a panic will occur. In the future the SDK may create
  1891. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1892. // for more information on using Contexts.
  1893. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1894. req, out := c.AttachVpnGatewayRequest(input)
  1895. req.SetContext(ctx)
  1896. req.ApplyOptions(opts...)
  1897. return out, req.Send()
  1898. }
  1899. const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
  1900. // AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
  1901. // client's request for the AuthorizeClientVpnIngress operation. The "output" return
  1902. // value will be populated with the request's response once the request completes
  1903. // successfully.
  1904. //
  1905. // Use "Send" method on the returned Request to send the API call to the service.
  1906. // the "output" return value is not valid until after Send returns without error.
  1907. //
  1908. // See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
  1909. // API call, and error handling.
  1910. //
  1911. // This method is useful when you want to inject custom logic or configuration
  1912. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1913. //
  1914. //
  1915. // // Example sending a request using the AuthorizeClientVpnIngressRequest method.
  1916. // req, resp := client.AuthorizeClientVpnIngressRequest(params)
  1917. //
  1918. // err := req.Send()
  1919. // if err == nil { // resp is now filled
  1920. // fmt.Println(resp)
  1921. // }
  1922. //
  1923. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
  1924. func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
  1925. op := &request.Operation{
  1926. Name: opAuthorizeClientVpnIngress,
  1927. HTTPMethod: "POST",
  1928. HTTPPath: "/",
  1929. }
  1930. if input == nil {
  1931. input = &AuthorizeClientVpnIngressInput{}
  1932. }
  1933. output = &AuthorizeClientVpnIngressOutput{}
  1934. req = c.newRequest(op, input, output)
  1935. return
  1936. }
  1937. // AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
  1938. //
  1939. // Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
  1940. // rules act as firewall rules that grant access to networks. You must configure
  1941. // ingress authorization rules to enable clients to access resources in AWS
  1942. // or on-premises networks.
  1943. //
  1944. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1945. // with awserr.Error's Code and Message methods to get detailed information about
  1946. // the error.
  1947. //
  1948. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1949. // API operation AuthorizeClientVpnIngress for usage and error information.
  1950. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
  1951. func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
  1952. req, out := c.AuthorizeClientVpnIngressRequest(input)
  1953. return out, req.Send()
  1954. }
  1955. // AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
  1956. // the ability to pass a context and additional request options.
  1957. //
  1958. // See AuthorizeClientVpnIngress for details on how to use this API operation.
  1959. //
  1960. // The context must be non-nil and will be used for request cancellation. If
  1961. // the context is nil a panic will occur. In the future the SDK may create
  1962. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1963. // for more information on using Contexts.
  1964. func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
  1965. req, out := c.AuthorizeClientVpnIngressRequest(input)
  1966. req.SetContext(ctx)
  1967. req.ApplyOptions(opts...)
  1968. return out, req.Send()
  1969. }
  1970. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1971. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1972. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1973. // value will be populated with the request's response once the request completes
  1974. // successfully.
  1975. //
  1976. // Use "Send" method on the returned Request to send the API call to the service.
  1977. // the "output" return value is not valid until after Send returns without error.
  1978. //
  1979. // See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
  1980. // API call, and error handling.
  1981. //
  1982. // This method is useful when you want to inject custom logic or configuration
  1983. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1984. //
  1985. //
  1986. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1987. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1988. //
  1989. // err := req.Send()
  1990. // if err == nil { // resp is now filled
  1991. // fmt.Println(resp)
  1992. // }
  1993. //
  1994. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1995. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1996. op := &request.Operation{
  1997. Name: opAuthorizeSecurityGroupEgress,
  1998. HTTPMethod: "POST",
  1999. HTTPPath: "/",
  2000. }
  2001. if input == nil {
  2002. input = &AuthorizeSecurityGroupEgressInput{}
  2003. }
  2004. output = &AuthorizeSecurityGroupEgressOutput{}
  2005. req = c.newRequest(op, input, output)
  2006. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2007. return
  2008. }
  2009. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  2010. //
  2011. // [VPC only] Adds the specified egress rules to a security group for use with
  2012. // a VPC.
  2013. //
  2014. // An outbound rule permits instances to send traffic to the specified IPv4
  2015. // or IPv6 CIDR address ranges, or to the instances associated with the specified
  2016. // destination security groups.
  2017. //
  2018. // You specify a protocol for each rule (for example, TCP). For the TCP and
  2019. // UDP protocols, you must also specify the destination port or port range.
  2020. // For the ICMP protocol, you must also specify the ICMP type and code. You
  2021. // can use -1 for the type or code to mean all types or all codes.
  2022. //
  2023. // Rule changes are propagated to affected instances as quickly as possible.
  2024. // However, a small delay might occur.
  2025. //
  2026. // For more information about VPC security group limits, see Amazon VPC Limits
  2027. // (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
  2028. //
  2029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2030. // with awserr.Error's Code and Message methods to get detailed information about
  2031. // the error.
  2032. //
  2033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2034. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  2035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  2036. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  2037. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  2038. return out, req.Send()
  2039. }
  2040. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  2041. // the ability to pass a context and additional request options.
  2042. //
  2043. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  2044. //
  2045. // The context must be non-nil and will be used for request cancellation. If
  2046. // the context is nil a panic will occur. In the future the SDK may create
  2047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2048. // for more information on using Contexts.
  2049. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  2050. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  2051. req.SetContext(ctx)
  2052. req.ApplyOptions(opts...)
  2053. return out, req.Send()
  2054. }
  2055. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  2056. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  2057. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  2058. // value will be populated with the request's response once the request completes
  2059. // successfully.
  2060. //
  2061. // Use "Send" method on the returned Request to send the API call to the service.
  2062. // the "output" return value is not valid until after Send returns without error.
  2063. //
  2064. // See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
  2065. // API call, and error handling.
  2066. //
  2067. // This method is useful when you want to inject custom logic or configuration
  2068. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2069. //
  2070. //
  2071. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  2072. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  2073. //
  2074. // err := req.Send()
  2075. // if err == nil { // resp is now filled
  2076. // fmt.Println(resp)
  2077. // }
  2078. //
  2079. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  2080. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  2081. op := &request.Operation{
  2082. Name: opAuthorizeSecurityGroupIngress,
  2083. HTTPMethod: "POST",
  2084. HTTPPath: "/",
  2085. }
  2086. if input == nil {
  2087. input = &AuthorizeSecurityGroupIngressInput{}
  2088. }
  2089. output = &AuthorizeSecurityGroupIngressOutput{}
  2090. req = c.newRequest(op, input, output)
  2091. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2092. return
  2093. }
  2094. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  2095. //
  2096. // Adds the specified ingress rules to a security group.
  2097. //
  2098. // An inbound rule permits instances to receive traffic from the specified IPv4
  2099. // or IPv6 CIDR address ranges, or from the instances associated with the specified
  2100. // destination security groups.
  2101. //
  2102. // You specify a protocol for each rule (for example, TCP). For TCP and UDP,
  2103. // you must also specify the destination port or port range. For ICMP/ICMPv6,
  2104. // you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
  2105. // all types or all codes.
  2106. //
  2107. // Rule changes are propagated to instances within the security group as quickly
  2108. // as possible. However, a small delay might occur.
  2109. //
  2110. // For more information about VPC security group limits, see Amazon VPC Limits
  2111. // (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
  2112. //
  2113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2114. // with awserr.Error's Code and Message methods to get detailed information about
  2115. // the error.
  2116. //
  2117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2118. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  2119. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  2120. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  2121. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  2122. return out, req.Send()
  2123. }
  2124. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  2125. // the ability to pass a context and additional request options.
  2126. //
  2127. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  2128. //
  2129. // The context must be non-nil and will be used for request cancellation. If
  2130. // the context is nil a panic will occur. In the future the SDK may create
  2131. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2132. // for more information on using Contexts.
  2133. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  2134. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  2135. req.SetContext(ctx)
  2136. req.ApplyOptions(opts...)
  2137. return out, req.Send()
  2138. }
  2139. const opBundleInstance = "BundleInstance"
  2140. // BundleInstanceRequest generates a "aws/request.Request" representing the
  2141. // client's request for the BundleInstance operation. The "output" return
  2142. // value will be populated with the request's response once the request completes
  2143. // successfully.
  2144. //
  2145. // Use "Send" method on the returned Request to send the API call to the service.
  2146. // the "output" return value is not valid until after Send returns without error.
  2147. //
  2148. // See BundleInstance for more information on using the BundleInstance
  2149. // API call, and error handling.
  2150. //
  2151. // This method is useful when you want to inject custom logic or configuration
  2152. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2153. //
  2154. //
  2155. // // Example sending a request using the BundleInstanceRequest method.
  2156. // req, resp := client.BundleInstanceRequest(params)
  2157. //
  2158. // err := req.Send()
  2159. // if err == nil { // resp is now filled
  2160. // fmt.Println(resp)
  2161. // }
  2162. //
  2163. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  2164. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  2165. op := &request.Operation{
  2166. Name: opBundleInstance,
  2167. HTTPMethod: "POST",
  2168. HTTPPath: "/",
  2169. }
  2170. if input == nil {
  2171. input = &BundleInstanceInput{}
  2172. }
  2173. output = &BundleInstanceOutput{}
  2174. req = c.newRequest(op, input, output)
  2175. return
  2176. }
  2177. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  2178. //
  2179. // Bundles an Amazon instance store-backed Windows instance.
  2180. //
  2181. // During bundling, only the root device volume (C:\) is bundled. Data on other
  2182. // instance store volumes is not preserved.
  2183. //
  2184. // This action is not applicable for Linux/Unix instances or Windows instances
  2185. // that are backed by Amazon EBS.
  2186. //
  2187. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2188. // with awserr.Error's Code and Message methods to get detailed information about
  2189. // the error.
  2190. //
  2191. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2192. // API operation BundleInstance for usage and error information.
  2193. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  2194. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  2195. req, out := c.BundleInstanceRequest(input)
  2196. return out, req.Send()
  2197. }
  2198. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  2199. // the ability to pass a context and additional request options.
  2200. //
  2201. // See BundleInstance for details on how to use this API operation.
  2202. //
  2203. // The context must be non-nil and will be used for request cancellation. If
  2204. // the context is nil a panic will occur. In the future the SDK may create
  2205. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2206. // for more information on using Contexts.
  2207. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  2208. req, out := c.BundleInstanceRequest(input)
  2209. req.SetContext(ctx)
  2210. req.ApplyOptions(opts...)
  2211. return out, req.Send()
  2212. }
  2213. const opCancelBundleTask = "CancelBundleTask"
  2214. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  2215. // client's request for the CancelBundleTask operation. The "output" return
  2216. // value will be populated with the request's response once the request completes
  2217. // successfully.
  2218. //
  2219. // Use "Send" method on the returned Request to send the API call to the service.
  2220. // the "output" return value is not valid until after Send returns without error.
  2221. //
  2222. // See CancelBundleTask for more information on using the CancelBundleTask
  2223. // API call, and error handling.
  2224. //
  2225. // This method is useful when you want to inject custom logic or configuration
  2226. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2227. //
  2228. //
  2229. // // Example sending a request using the CancelBundleTaskRequest method.
  2230. // req, resp := client.CancelBundleTaskRequest(params)
  2231. //
  2232. // err := req.Send()
  2233. // if err == nil { // resp is now filled
  2234. // fmt.Println(resp)
  2235. // }
  2236. //
  2237. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  2238. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  2239. op := &request.Operation{
  2240. Name: opCancelBundleTask,
  2241. HTTPMethod: "POST",
  2242. HTTPPath: "/",
  2243. }
  2244. if input == nil {
  2245. input = &CancelBundleTaskInput{}
  2246. }
  2247. output = &CancelBundleTaskOutput{}
  2248. req = c.newRequest(op, input, output)
  2249. return
  2250. }
  2251. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  2252. //
  2253. // Cancels a bundling operation for an instance store-backed Windows instance.
  2254. //
  2255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2256. // with awserr.Error's Code and Message methods to get detailed information about
  2257. // the error.
  2258. //
  2259. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2260. // API operation CancelBundleTask for usage and error information.
  2261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  2262. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  2263. req, out := c.CancelBundleTaskRequest(input)
  2264. return out, req.Send()
  2265. }
  2266. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  2267. // the ability to pass a context and additional request options.
  2268. //
  2269. // See CancelBundleTask for details on how to use this API operation.
  2270. //
  2271. // The context must be non-nil and will be used for request cancellation. If
  2272. // the context is nil a panic will occur. In the future the SDK may create
  2273. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2274. // for more information on using Contexts.
  2275. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  2276. req, out := c.CancelBundleTaskRequest(input)
  2277. req.SetContext(ctx)
  2278. req.ApplyOptions(opts...)
  2279. return out, req.Send()
  2280. }
  2281. const opCancelCapacityReservation = "CancelCapacityReservation"
  2282. // CancelCapacityReservationRequest generates a "aws/request.Request" representing the
  2283. // client's request for the CancelCapacityReservation operation. The "output" return
  2284. // value will be populated with the request's response once the request completes
  2285. // successfully.
  2286. //
  2287. // Use "Send" method on the returned Request to send the API call to the service.
  2288. // the "output" return value is not valid until after Send returns without error.
  2289. //
  2290. // See CancelCapacityReservation for more information on using the CancelCapacityReservation
  2291. // API call, and error handling.
  2292. //
  2293. // This method is useful when you want to inject custom logic or configuration
  2294. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2295. //
  2296. //
  2297. // // Example sending a request using the CancelCapacityReservationRequest method.
  2298. // req, resp := client.CancelCapacityReservationRequest(params)
  2299. //
  2300. // err := req.Send()
  2301. // if err == nil { // resp is now filled
  2302. // fmt.Println(resp)
  2303. // }
  2304. //
  2305. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
  2306. func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
  2307. op := &request.Operation{
  2308. Name: opCancelCapacityReservation,
  2309. HTTPMethod: "POST",
  2310. HTTPPath: "/",
  2311. }
  2312. if input == nil {
  2313. input = &CancelCapacityReservationInput{}
  2314. }
  2315. output = &CancelCapacityReservationOutput{}
  2316. req = c.newRequest(op, input, output)
  2317. return
  2318. }
  2319. // CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
  2320. //
  2321. // Cancels the specified Capacity Reservation, releases the reserved capacity,
  2322. // and changes the Capacity Reservation's state to cancelled.
  2323. //
  2324. // Instances running in the reserved capacity continue running until you stop
  2325. // them. Stopped instances that target the Capacity Reservation can no longer
  2326. // launch. Modify these instances to either target a different Capacity Reservation,
  2327. // launch On-Demand Instance capacity, or run in any open Capacity Reservation
  2328. // that has matching attributes and sufficient capacity.
  2329. //
  2330. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2331. // with awserr.Error's Code and Message methods to get detailed information about
  2332. // the error.
  2333. //
  2334. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2335. // API operation CancelCapacityReservation for usage and error information.
  2336. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
  2337. func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
  2338. req, out := c.CancelCapacityReservationRequest(input)
  2339. return out, req.Send()
  2340. }
  2341. // CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
  2342. // the ability to pass a context and additional request options.
  2343. //
  2344. // See CancelCapacityReservation for details on how to use this API operation.
  2345. //
  2346. // The context must be non-nil and will be used for request cancellation. If
  2347. // the context is nil a panic will occur. In the future the SDK may create
  2348. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2349. // for more information on using Contexts.
  2350. func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
  2351. req, out := c.CancelCapacityReservationRequest(input)
  2352. req.SetContext(ctx)
  2353. req.ApplyOptions(opts...)
  2354. return out, req.Send()
  2355. }
  2356. const opCancelConversionTask = "CancelConversionTask"
  2357. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  2358. // client's request for the CancelConversionTask operation. The "output" return
  2359. // value will be populated with the request's response once the request completes
  2360. // successfully.
  2361. //
  2362. // Use "Send" method on the returned Request to send the API call to the service.
  2363. // the "output" return value is not valid until after Send returns without error.
  2364. //
  2365. // See CancelConversionTask for more information on using the CancelConversionTask
  2366. // API call, and error handling.
  2367. //
  2368. // This method is useful when you want to inject custom logic or configuration
  2369. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2370. //
  2371. //
  2372. // // Example sending a request using the CancelConversionTaskRequest method.
  2373. // req, resp := client.CancelConversionTaskRequest(params)
  2374. //
  2375. // err := req.Send()
  2376. // if err == nil { // resp is now filled
  2377. // fmt.Println(resp)
  2378. // }
  2379. //
  2380. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  2381. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  2382. op := &request.Operation{
  2383. Name: opCancelConversionTask,
  2384. HTTPMethod: "POST",
  2385. HTTPPath: "/",
  2386. }
  2387. if input == nil {
  2388. input = &CancelConversionTaskInput{}
  2389. }
  2390. output = &CancelConversionTaskOutput{}
  2391. req = c.newRequest(op, input, output)
  2392. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2393. return
  2394. }
  2395. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  2396. //
  2397. // Cancels an active conversion task. The task can be the import of an instance
  2398. // or volume. The action removes all artifacts of the conversion, including
  2399. // a partially uploaded volume or instance. If the conversion is complete or
  2400. // is in the process of transferring the final disk image, the command fails
  2401. // and returns an exception.
  2402. //
  2403. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  2404. // CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  2405. //
  2406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2407. // with awserr.Error's Code and Message methods to get detailed information about
  2408. // the error.
  2409. //
  2410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2411. // API operation CancelConversionTask for usage and error information.
  2412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  2413. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  2414. req, out := c.CancelConversionTaskRequest(input)
  2415. return out, req.Send()
  2416. }
  2417. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  2418. // the ability to pass a context and additional request options.
  2419. //
  2420. // See CancelConversionTask for details on how to use this API operation.
  2421. //
  2422. // The context must be non-nil and will be used for request cancellation. If
  2423. // the context is nil a panic will occur. In the future the SDK may create
  2424. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2425. // for more information on using Contexts.
  2426. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  2427. req, out := c.CancelConversionTaskRequest(input)
  2428. req.SetContext(ctx)
  2429. req.ApplyOptions(opts...)
  2430. return out, req.Send()
  2431. }
  2432. const opCancelExportTask = "CancelExportTask"
  2433. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  2434. // client's request for the CancelExportTask operation. The "output" return
  2435. // value will be populated with the request's response once the request completes
  2436. // successfully.
  2437. //
  2438. // Use "Send" method on the returned Request to send the API call to the service.
  2439. // the "output" return value is not valid until after Send returns without error.
  2440. //
  2441. // See CancelExportTask for more information on using the CancelExportTask
  2442. // API call, and error handling.
  2443. //
  2444. // This method is useful when you want to inject custom logic or configuration
  2445. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2446. //
  2447. //
  2448. // // Example sending a request using the CancelExportTaskRequest method.
  2449. // req, resp := client.CancelExportTaskRequest(params)
  2450. //
  2451. // err := req.Send()
  2452. // if err == nil { // resp is now filled
  2453. // fmt.Println(resp)
  2454. // }
  2455. //
  2456. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  2457. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  2458. op := &request.Operation{
  2459. Name: opCancelExportTask,
  2460. HTTPMethod: "POST",
  2461. HTTPPath: "/",
  2462. }
  2463. if input == nil {
  2464. input = &CancelExportTaskInput{}
  2465. }
  2466. output = &CancelExportTaskOutput{}
  2467. req = c.newRequest(op, input, output)
  2468. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2469. return
  2470. }
  2471. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  2472. //
  2473. // Cancels an active export task. The request removes all artifacts of the export,
  2474. // including any partially-created Amazon S3 objects. If the export task is
  2475. // complete or is in the process of transferring the final disk image, the command
  2476. // fails and returns an error.
  2477. //
  2478. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2479. // with awserr.Error's Code and Message methods to get detailed information about
  2480. // the error.
  2481. //
  2482. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2483. // API operation CancelExportTask for usage and error information.
  2484. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  2485. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  2486. req, out := c.CancelExportTaskRequest(input)
  2487. return out, req.Send()
  2488. }
  2489. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  2490. // the ability to pass a context and additional request options.
  2491. //
  2492. // See CancelExportTask for details on how to use this API operation.
  2493. //
  2494. // The context must be non-nil and will be used for request cancellation. If
  2495. // the context is nil a panic will occur. In the future the SDK may create
  2496. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2497. // for more information on using Contexts.
  2498. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  2499. req, out := c.CancelExportTaskRequest(input)
  2500. req.SetContext(ctx)
  2501. req.ApplyOptions(opts...)
  2502. return out, req.Send()
  2503. }
  2504. const opCancelImportTask = "CancelImportTask"
  2505. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  2506. // client's request for the CancelImportTask operation. The "output" return
  2507. // value will be populated with the request's response once the request completes
  2508. // successfully.
  2509. //
  2510. // Use "Send" method on the returned Request to send the API call to the service.
  2511. // the "output" return value is not valid until after Send returns without error.
  2512. //
  2513. // See CancelImportTask for more information on using the CancelImportTask
  2514. // API call, and error handling.
  2515. //
  2516. // This method is useful when you want to inject custom logic or configuration
  2517. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2518. //
  2519. //
  2520. // // Example sending a request using the CancelImportTaskRequest method.
  2521. // req, resp := client.CancelImportTaskRequest(params)
  2522. //
  2523. // err := req.Send()
  2524. // if err == nil { // resp is now filled
  2525. // fmt.Println(resp)
  2526. // }
  2527. //
  2528. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  2529. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  2530. op := &request.Operation{
  2531. Name: opCancelImportTask,
  2532. HTTPMethod: "POST",
  2533. HTTPPath: "/",
  2534. }
  2535. if input == nil {
  2536. input = &CancelImportTaskInput{}
  2537. }
  2538. output = &CancelImportTaskOutput{}
  2539. req = c.newRequest(op, input, output)
  2540. return
  2541. }
  2542. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  2543. //
  2544. // Cancels an in-process import virtual machine or import snapshot task.
  2545. //
  2546. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2547. // with awserr.Error's Code and Message methods to get detailed information about
  2548. // the error.
  2549. //
  2550. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2551. // API operation CancelImportTask for usage and error information.
  2552. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  2553. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  2554. req, out := c.CancelImportTaskRequest(input)
  2555. return out, req.Send()
  2556. }
  2557. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  2558. // the ability to pass a context and additional request options.
  2559. //
  2560. // See CancelImportTask for details on how to use this API operation.
  2561. //
  2562. // The context must be non-nil and will be used for request cancellation. If
  2563. // the context is nil a panic will occur. In the future the SDK may create
  2564. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2565. // for more information on using Contexts.
  2566. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  2567. req, out := c.CancelImportTaskRequest(input)
  2568. req.SetContext(ctx)
  2569. req.ApplyOptions(opts...)
  2570. return out, req.Send()
  2571. }
  2572. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  2573. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  2574. // client's request for the CancelReservedInstancesListing operation. The "output" return
  2575. // value will be populated with the request's response once the request completes
  2576. // successfully.
  2577. //
  2578. // Use "Send" method on the returned Request to send the API call to the service.
  2579. // the "output" return value is not valid until after Send returns without error.
  2580. //
  2581. // See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
  2582. // API call, and error handling.
  2583. //
  2584. // This method is useful when you want to inject custom logic or configuration
  2585. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2586. //
  2587. //
  2588. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  2589. // req, resp := client.CancelReservedInstancesListingRequest(params)
  2590. //
  2591. // err := req.Send()
  2592. // if err == nil { // resp is now filled
  2593. // fmt.Println(resp)
  2594. // }
  2595. //
  2596. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  2597. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  2598. op := &request.Operation{
  2599. Name: opCancelReservedInstancesListing,
  2600. HTTPMethod: "POST",
  2601. HTTPPath: "/",
  2602. }
  2603. if input == nil {
  2604. input = &CancelReservedInstancesListingInput{}
  2605. }
  2606. output = &CancelReservedInstancesListingOutput{}
  2607. req = c.newRequest(op, input, output)
  2608. return
  2609. }
  2610. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  2611. //
  2612. // Cancels the specified Reserved Instance listing in the Reserved Instance
  2613. // Marketplace.
  2614. //
  2615. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  2616. // in the Amazon Elastic Compute Cloud User Guide.
  2617. //
  2618. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2619. // with awserr.Error's Code and Message methods to get detailed information about
  2620. // the error.
  2621. //
  2622. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2623. // API operation CancelReservedInstancesListing for usage and error information.
  2624. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  2625. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  2626. req, out := c.CancelReservedInstancesListingRequest(input)
  2627. return out, req.Send()
  2628. }
  2629. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  2630. // the ability to pass a context and additional request options.
  2631. //
  2632. // See CancelReservedInstancesListing for details on how to use this API operation.
  2633. //
  2634. // The context must be non-nil and will be used for request cancellation. If
  2635. // the context is nil a panic will occur. In the future the SDK may create
  2636. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2637. // for more information on using Contexts.
  2638. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  2639. req, out := c.CancelReservedInstancesListingRequest(input)
  2640. req.SetContext(ctx)
  2641. req.ApplyOptions(opts...)
  2642. return out, req.Send()
  2643. }
  2644. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  2645. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  2646. // client's request for the CancelSpotFleetRequests operation. The "output" return
  2647. // value will be populated with the request's response once the request completes
  2648. // successfully.
  2649. //
  2650. // Use "Send" method on the returned Request to send the API call to the service.
  2651. // the "output" return value is not valid until after Send returns without error.
  2652. //
  2653. // See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
  2654. // API call, and error handling.
  2655. //
  2656. // This method is useful when you want to inject custom logic or configuration
  2657. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2658. //
  2659. //
  2660. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  2661. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  2662. //
  2663. // err := req.Send()
  2664. // if err == nil { // resp is now filled
  2665. // fmt.Println(resp)
  2666. // }
  2667. //
  2668. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2669. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  2670. op := &request.Operation{
  2671. Name: opCancelSpotFleetRequests,
  2672. HTTPMethod: "POST",
  2673. HTTPPath: "/",
  2674. }
  2675. if input == nil {
  2676. input = &CancelSpotFleetRequestsInput{}
  2677. }
  2678. output = &CancelSpotFleetRequestsOutput{}
  2679. req = c.newRequest(op, input, output)
  2680. return
  2681. }
  2682. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  2683. //
  2684. // Cancels the specified Spot Fleet requests.
  2685. //
  2686. // After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
  2687. // Instances. You must specify whether the Spot Fleet should also terminate
  2688. // its Spot Instances. If you terminate the instances, the Spot Fleet request
  2689. // enters the cancelled_terminating state. Otherwise, the Spot Fleet request
  2690. // enters the cancelled_running state and the instances continue to run until
  2691. // they are interrupted or you terminate them manually.
  2692. //
  2693. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2694. // with awserr.Error's Code and Message methods to get detailed information about
  2695. // the error.
  2696. //
  2697. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2698. // API operation CancelSpotFleetRequests for usage and error information.
  2699. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2700. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  2701. req, out := c.CancelSpotFleetRequestsRequest(input)
  2702. return out, req.Send()
  2703. }
  2704. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  2705. // the ability to pass a context and additional request options.
  2706. //
  2707. // See CancelSpotFleetRequests for details on how to use this API operation.
  2708. //
  2709. // The context must be non-nil and will be used for request cancellation. If
  2710. // the context is nil a panic will occur. In the future the SDK may create
  2711. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2712. // for more information on using Contexts.
  2713. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  2714. req, out := c.CancelSpotFleetRequestsRequest(input)
  2715. req.SetContext(ctx)
  2716. req.ApplyOptions(opts...)
  2717. return out, req.Send()
  2718. }
  2719. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2720. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2721. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2722. // value will be populated with the request's response once the request completes
  2723. // successfully.
  2724. //
  2725. // Use "Send" method on the returned Request to send the API call to the service.
  2726. // the "output" return value is not valid until after Send returns without error.
  2727. //
  2728. // See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
  2729. // API call, and error handling.
  2730. //
  2731. // This method is useful when you want to inject custom logic or configuration
  2732. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2733. //
  2734. //
  2735. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2736. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2737. //
  2738. // err := req.Send()
  2739. // if err == nil { // resp is now filled
  2740. // fmt.Println(resp)
  2741. // }
  2742. //
  2743. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2744. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2745. op := &request.Operation{
  2746. Name: opCancelSpotInstanceRequests,
  2747. HTTPMethod: "POST",
  2748. HTTPPath: "/",
  2749. }
  2750. if input == nil {
  2751. input = &CancelSpotInstanceRequestsInput{}
  2752. }
  2753. output = &CancelSpotInstanceRequestsOutput{}
  2754. req = c.newRequest(op, input, output)
  2755. return
  2756. }
  2757. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2758. //
  2759. // Cancels one or more Spot Instance requests.
  2760. //
  2761. // Canceling a Spot Instance request does not terminate running Spot Instances
  2762. // associated with the request.
  2763. //
  2764. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2765. // with awserr.Error's Code and Message methods to get detailed information about
  2766. // the error.
  2767. //
  2768. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2769. // API operation CancelSpotInstanceRequests for usage and error information.
  2770. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2771. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2772. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2773. return out, req.Send()
  2774. }
  2775. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2776. // the ability to pass a context and additional request options.
  2777. //
  2778. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2779. //
  2780. // The context must be non-nil and will be used for request cancellation. If
  2781. // the context is nil a panic will occur. In the future the SDK may create
  2782. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2783. // for more information on using Contexts.
  2784. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2785. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2786. req.SetContext(ctx)
  2787. req.ApplyOptions(opts...)
  2788. return out, req.Send()
  2789. }
  2790. const opConfirmProductInstance = "ConfirmProductInstance"
  2791. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2792. // client's request for the ConfirmProductInstance operation. The "output" return
  2793. // value will be populated with the request's response once the request completes
  2794. // successfully.
  2795. //
  2796. // Use "Send" method on the returned Request to send the API call to the service.
  2797. // the "output" return value is not valid until after Send returns without error.
  2798. //
  2799. // See ConfirmProductInstance for more information on using the ConfirmProductInstance
  2800. // API call, and error handling.
  2801. //
  2802. // This method is useful when you want to inject custom logic or configuration
  2803. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2804. //
  2805. //
  2806. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2807. // req, resp := client.ConfirmProductInstanceRequest(params)
  2808. //
  2809. // err := req.Send()
  2810. // if err == nil { // resp is now filled
  2811. // fmt.Println(resp)
  2812. // }
  2813. //
  2814. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2815. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2816. op := &request.Operation{
  2817. Name: opConfirmProductInstance,
  2818. HTTPMethod: "POST",
  2819. HTTPPath: "/",
  2820. }
  2821. if input == nil {
  2822. input = &ConfirmProductInstanceInput{}
  2823. }
  2824. output = &ConfirmProductInstanceOutput{}
  2825. req = c.newRequest(op, input, output)
  2826. return
  2827. }
  2828. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2829. //
  2830. // Determines whether a product code is associated with an instance. This action
  2831. // can only be used by the owner of the product code. It is useful when a product
  2832. // code owner must verify whether another user's instance is eligible for support.
  2833. //
  2834. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2835. // with awserr.Error's Code and Message methods to get detailed information about
  2836. // the error.
  2837. //
  2838. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2839. // API operation ConfirmProductInstance for usage and error information.
  2840. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2841. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2842. req, out := c.ConfirmProductInstanceRequest(input)
  2843. return out, req.Send()
  2844. }
  2845. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2846. // the ability to pass a context and additional request options.
  2847. //
  2848. // See ConfirmProductInstance for details on how to use this API operation.
  2849. //
  2850. // The context must be non-nil and will be used for request cancellation. If
  2851. // the context is nil a panic will occur. In the future the SDK may create
  2852. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2853. // for more information on using Contexts.
  2854. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2855. req, out := c.ConfirmProductInstanceRequest(input)
  2856. req.SetContext(ctx)
  2857. req.ApplyOptions(opts...)
  2858. return out, req.Send()
  2859. }
  2860. const opCopyFpgaImage = "CopyFpgaImage"
  2861. // CopyFpgaImageRequest generates a "aws/request.Request" representing the
  2862. // client's request for the CopyFpgaImage operation. The "output" return
  2863. // value will be populated with the request's response once the request completes
  2864. // successfully.
  2865. //
  2866. // Use "Send" method on the returned Request to send the API call to the service.
  2867. // the "output" return value is not valid until after Send returns without error.
  2868. //
  2869. // See CopyFpgaImage for more information on using the CopyFpgaImage
  2870. // API call, and error handling.
  2871. //
  2872. // This method is useful when you want to inject custom logic or configuration
  2873. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2874. //
  2875. //
  2876. // // Example sending a request using the CopyFpgaImageRequest method.
  2877. // req, resp := client.CopyFpgaImageRequest(params)
  2878. //
  2879. // err := req.Send()
  2880. // if err == nil { // resp is now filled
  2881. // fmt.Println(resp)
  2882. // }
  2883. //
  2884. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2885. func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
  2886. op := &request.Operation{
  2887. Name: opCopyFpgaImage,
  2888. HTTPMethod: "POST",
  2889. HTTPPath: "/",
  2890. }
  2891. if input == nil {
  2892. input = &CopyFpgaImageInput{}
  2893. }
  2894. output = &CopyFpgaImageOutput{}
  2895. req = c.newRequest(op, input, output)
  2896. return
  2897. }
  2898. // CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
  2899. //
  2900. // Copies the specified Amazon FPGA Image (AFI) to the current Region.
  2901. //
  2902. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2903. // with awserr.Error's Code and Message methods to get detailed information about
  2904. // the error.
  2905. //
  2906. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2907. // API operation CopyFpgaImage for usage and error information.
  2908. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2909. func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
  2910. req, out := c.CopyFpgaImageRequest(input)
  2911. return out, req.Send()
  2912. }
  2913. // CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
  2914. // the ability to pass a context and additional request options.
  2915. //
  2916. // See CopyFpgaImage for details on how to use this API operation.
  2917. //
  2918. // The context must be non-nil and will be used for request cancellation. If
  2919. // the context is nil a panic will occur. In the future the SDK may create
  2920. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2921. // for more information on using Contexts.
  2922. func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
  2923. req, out := c.CopyFpgaImageRequest(input)
  2924. req.SetContext(ctx)
  2925. req.ApplyOptions(opts...)
  2926. return out, req.Send()
  2927. }
  2928. const opCopyImage = "CopyImage"
  2929. // CopyImageRequest generates a "aws/request.Request" representing the
  2930. // client's request for the CopyImage operation. The "output" return
  2931. // value will be populated with the request's response once the request completes
  2932. // successfully.
  2933. //
  2934. // Use "Send" method on the returned Request to send the API call to the service.
  2935. // the "output" return value is not valid until after Send returns without error.
  2936. //
  2937. // See CopyImage for more information on using the CopyImage
  2938. // API call, and error handling.
  2939. //
  2940. // This method is useful when you want to inject custom logic or configuration
  2941. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2942. //
  2943. //
  2944. // // Example sending a request using the CopyImageRequest method.
  2945. // req, resp := client.CopyImageRequest(params)
  2946. //
  2947. // err := req.Send()
  2948. // if err == nil { // resp is now filled
  2949. // fmt.Println(resp)
  2950. // }
  2951. //
  2952. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2953. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2954. op := &request.Operation{
  2955. Name: opCopyImage,
  2956. HTTPMethod: "POST",
  2957. HTTPPath: "/",
  2958. }
  2959. if input == nil {
  2960. input = &CopyImageInput{}
  2961. }
  2962. output = &CopyImageOutput{}
  2963. req = c.newRequest(op, input, output)
  2964. return
  2965. }
  2966. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2967. //
  2968. // Initiates the copy of an AMI from the specified source Region to the current
  2969. // Region. You specify the destination Region by using its endpoint when making
  2970. // the request.
  2971. //
  2972. // Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
  2973. // unencrypted backing snapshots remain unencrypted, unless you set Encrypted
  2974. // during the copy operation. You cannot create an unencrypted copy of an encrypted
  2975. // backing snapshot.
  2976. //
  2977. // For more information about the prerequisites and limits when copying an AMI,
  2978. // see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2979. // in the Amazon Elastic Compute Cloud User Guide.
  2980. //
  2981. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2982. // with awserr.Error's Code and Message methods to get detailed information about
  2983. // the error.
  2984. //
  2985. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2986. // API operation CopyImage for usage and error information.
  2987. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2988. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2989. req, out := c.CopyImageRequest(input)
  2990. return out, req.Send()
  2991. }
  2992. // CopyImageWithContext is the same as CopyImage with the addition of
  2993. // the ability to pass a context and additional request options.
  2994. //
  2995. // See CopyImage for details on how to use this API operation.
  2996. //
  2997. // The context must be non-nil and will be used for request cancellation. If
  2998. // the context is nil a panic will occur. In the future the SDK may create
  2999. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3000. // for more information on using Contexts.
  3001. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  3002. req, out := c.CopyImageRequest(input)
  3003. req.SetContext(ctx)
  3004. req.ApplyOptions(opts...)
  3005. return out, req.Send()
  3006. }
  3007. const opCopySnapshot = "CopySnapshot"
  3008. // CopySnapshotRequest generates a "aws/request.Request" representing the
  3009. // client's request for the CopySnapshot operation. The "output" return
  3010. // value will be populated with the request's response once the request completes
  3011. // successfully.
  3012. //
  3013. // Use "Send" method on the returned Request to send the API call to the service.
  3014. // the "output" return value is not valid until after Send returns without error.
  3015. //
  3016. // See CopySnapshot for more information on using the CopySnapshot
  3017. // API call, and error handling.
  3018. //
  3019. // This method is useful when you want to inject custom logic or configuration
  3020. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3021. //
  3022. //
  3023. // // Example sending a request using the CopySnapshotRequest method.
  3024. // req, resp := client.CopySnapshotRequest(params)
  3025. //
  3026. // err := req.Send()
  3027. // if err == nil { // resp is now filled
  3028. // fmt.Println(resp)
  3029. // }
  3030. //
  3031. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  3032. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  3033. op := &request.Operation{
  3034. Name: opCopySnapshot,
  3035. HTTPMethod: "POST",
  3036. HTTPPath: "/",
  3037. }
  3038. if input == nil {
  3039. input = &CopySnapshotInput{}
  3040. }
  3041. output = &CopySnapshotOutput{}
  3042. req = c.newRequest(op, input, output)
  3043. return
  3044. }
  3045. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  3046. //
  3047. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  3048. // S3. You can copy the snapshot within the same Region or from one Region to
  3049. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  3050. // Images (AMIs).
  3051. //
  3052. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  3053. // snapshots remain unencrypted, unless you enable encryption for the snapshot
  3054. // copy operation. By default, encrypted snapshot copies use the default AWS
  3055. // Key Management Service (AWS KMS) customer master key (CMK); however, you
  3056. // can specify a different CMK.
  3057. //
  3058. // To copy an encrypted snapshot that has been shared from another account,
  3059. // you must have permissions for the CMK used to encrypt the snapshot.
  3060. //
  3061. // Snapshots created by copying another snapshot have an arbitrary volume ID
  3062. // that should not be used for any purpose.
  3063. //
  3064. // For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  3065. // in the Amazon Elastic Compute Cloud User Guide.
  3066. //
  3067. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3068. // with awserr.Error's Code and Message methods to get detailed information about
  3069. // the error.
  3070. //
  3071. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3072. // API operation CopySnapshot for usage and error information.
  3073. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  3074. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  3075. req, out := c.CopySnapshotRequest(input)
  3076. return out, req.Send()
  3077. }
  3078. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  3079. // the ability to pass a context and additional request options.
  3080. //
  3081. // See CopySnapshot for details on how to use this API operation.
  3082. //
  3083. // The context must be non-nil and will be used for request cancellation. If
  3084. // the context is nil a panic will occur. In the future the SDK may create
  3085. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3086. // for more information on using Contexts.
  3087. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  3088. req, out := c.CopySnapshotRequest(input)
  3089. req.SetContext(ctx)
  3090. req.ApplyOptions(opts...)
  3091. return out, req.Send()
  3092. }
  3093. const opCreateCapacityReservation = "CreateCapacityReservation"
  3094. // CreateCapacityReservationRequest generates a "aws/request.Request" representing the
  3095. // client's request for the CreateCapacityReservation operation. The "output" return
  3096. // value will be populated with the request's response once the request completes
  3097. // successfully.
  3098. //
  3099. // Use "Send" method on the returned Request to send the API call to the service.
  3100. // the "output" return value is not valid until after Send returns without error.
  3101. //
  3102. // See CreateCapacityReservation for more information on using the CreateCapacityReservation
  3103. // API call, and error handling.
  3104. //
  3105. // This method is useful when you want to inject custom logic or configuration
  3106. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3107. //
  3108. //
  3109. // // Example sending a request using the CreateCapacityReservationRequest method.
  3110. // req, resp := client.CreateCapacityReservationRequest(params)
  3111. //
  3112. // err := req.Send()
  3113. // if err == nil { // resp is now filled
  3114. // fmt.Println(resp)
  3115. // }
  3116. //
  3117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
  3118. func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
  3119. op := &request.Operation{
  3120. Name: opCreateCapacityReservation,
  3121. HTTPMethod: "POST",
  3122. HTTPPath: "/",
  3123. }
  3124. if input == nil {
  3125. input = &CreateCapacityReservationInput{}
  3126. }
  3127. output = &CreateCapacityReservationOutput{}
  3128. req = c.newRequest(op, input, output)
  3129. return
  3130. }
  3131. // CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
  3132. //
  3133. // Creates a new Capacity Reservation with the specified attributes.
  3134. //
  3135. // Capacity Reservations enable you to reserve capacity for your Amazon EC2
  3136. // instances in a specific Availability Zone for any duration. This gives you
  3137. // the flexibility to selectively add capacity reservations and still get the
  3138. // Regional RI discounts for that usage. By creating Capacity Reservations,
  3139. // you ensure that you always have access to Amazon EC2 capacity when you need
  3140. // it, for as long as you need it. For more information, see Capacity Reservations
  3141. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
  3142. // in the Amazon Elastic Compute Cloud User Guide.
  3143. //
  3144. // Your request to create a Capacity Reservation could fail if Amazon EC2 does
  3145. // not have sufficient capacity to fulfill the request. If your request fails
  3146. // due to Amazon EC2 capacity constraints, either try again at a later time,
  3147. // try in a different Availability Zone, or request a smaller capacity reservation.
  3148. // If your application is flexible across instance types and sizes, try to create
  3149. // a Capacity Reservation with different instance attributes.
  3150. //
  3151. // Your request could also fail if the requested quantity exceeds your On-Demand
  3152. // Instance limit for the selected instance type. If your request fails due
  3153. // to limit constraints, increase your On-Demand Instance limit for the required
  3154. // instance type and try again. For more information about increasing your instance
  3155. // limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
  3156. // in the Amazon Elastic Compute Cloud User Guide.
  3157. //
  3158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3159. // with awserr.Error's Code and Message methods to get detailed information about
  3160. // the error.
  3161. //
  3162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3163. // API operation CreateCapacityReservation for usage and error information.
  3164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
  3165. func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
  3166. req, out := c.CreateCapacityReservationRequest(input)
  3167. return out, req.Send()
  3168. }
  3169. // CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
  3170. // the ability to pass a context and additional request options.
  3171. //
  3172. // See CreateCapacityReservation for details on how to use this API operation.
  3173. //
  3174. // The context must be non-nil and will be used for request cancellation. If
  3175. // the context is nil a panic will occur. In the future the SDK may create
  3176. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3177. // for more information on using Contexts.
  3178. func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
  3179. req, out := c.CreateCapacityReservationRequest(input)
  3180. req.SetContext(ctx)
  3181. req.ApplyOptions(opts...)
  3182. return out, req.Send()
  3183. }
  3184. const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
  3185. // CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
  3186. // client's request for the CreateClientVpnEndpoint operation. The "output" return
  3187. // value will be populated with the request's response once the request completes
  3188. // successfully.
  3189. //
  3190. // Use "Send" method on the returned Request to send the API call to the service.
  3191. // the "output" return value is not valid until after Send returns without error.
  3192. //
  3193. // See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
  3194. // API call, and error handling.
  3195. //
  3196. // This method is useful when you want to inject custom logic or configuration
  3197. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3198. //
  3199. //
  3200. // // Example sending a request using the CreateClientVpnEndpointRequest method.
  3201. // req, resp := client.CreateClientVpnEndpointRequest(params)
  3202. //
  3203. // err := req.Send()
  3204. // if err == nil { // resp is now filled
  3205. // fmt.Println(resp)
  3206. // }
  3207. //
  3208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
  3209. func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
  3210. op := &request.Operation{
  3211. Name: opCreateClientVpnEndpoint,
  3212. HTTPMethod: "POST",
  3213. HTTPPath: "/",
  3214. }
  3215. if input == nil {
  3216. input = &CreateClientVpnEndpointInput{}
  3217. }
  3218. output = &CreateClientVpnEndpointOutput{}
  3219. req = c.newRequest(op, input, output)
  3220. return
  3221. }
  3222. // CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  3223. //
  3224. // Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
  3225. // create and configure to enable and manage client VPN sessions. It is the
  3226. // destination endpoint at which all client VPN sessions are terminated.
  3227. //
  3228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3229. // with awserr.Error's Code and Message methods to get detailed information about
  3230. // the error.
  3231. //
  3232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3233. // API operation CreateClientVpnEndpoint for usage and error information.
  3234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
  3235. func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
  3236. req, out := c.CreateClientVpnEndpointRequest(input)
  3237. return out, req.Send()
  3238. }
  3239. // CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
  3240. // the ability to pass a context and additional request options.
  3241. //
  3242. // See CreateClientVpnEndpoint for details on how to use this API operation.
  3243. //
  3244. // The context must be non-nil and will be used for request cancellation. If
  3245. // the context is nil a panic will occur. In the future the SDK may create
  3246. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3247. // for more information on using Contexts.
  3248. func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
  3249. req, out := c.CreateClientVpnEndpointRequest(input)
  3250. req.SetContext(ctx)
  3251. req.ApplyOptions(opts...)
  3252. return out, req.Send()
  3253. }
  3254. const opCreateClientVpnRoute = "CreateClientVpnRoute"
  3255. // CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
  3256. // client's request for the CreateClientVpnRoute operation. The "output" return
  3257. // value will be populated with the request's response once the request completes
  3258. // successfully.
  3259. //
  3260. // Use "Send" method on the returned Request to send the API call to the service.
  3261. // the "output" return value is not valid until after Send returns without error.
  3262. //
  3263. // See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
  3264. // API call, and error handling.
  3265. //
  3266. // This method is useful when you want to inject custom logic or configuration
  3267. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3268. //
  3269. //
  3270. // // Example sending a request using the CreateClientVpnRouteRequest method.
  3271. // req, resp := client.CreateClientVpnRouteRequest(params)
  3272. //
  3273. // err := req.Send()
  3274. // if err == nil { // resp is now filled
  3275. // fmt.Println(resp)
  3276. // }
  3277. //
  3278. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
  3279. func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
  3280. op := &request.Operation{
  3281. Name: opCreateClientVpnRoute,
  3282. HTTPMethod: "POST",
  3283. HTTPPath: "/",
  3284. }
  3285. if input == nil {
  3286. input = &CreateClientVpnRouteInput{}
  3287. }
  3288. output = &CreateClientVpnRouteOutput{}
  3289. req = c.newRequest(op, input, output)
  3290. return
  3291. }
  3292. // CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
  3293. //
  3294. // Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
  3295. // has a route table that describes the available destination network routes.
  3296. // Each route in the route table specifies the path for traffic to specific
  3297. // resources or networks.
  3298. //
  3299. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3300. // with awserr.Error's Code and Message methods to get detailed information about
  3301. // the error.
  3302. //
  3303. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3304. // API operation CreateClientVpnRoute for usage and error information.
  3305. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
  3306. func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
  3307. req, out := c.CreateClientVpnRouteRequest(input)
  3308. return out, req.Send()
  3309. }
  3310. // CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
  3311. // the ability to pass a context and additional request options.
  3312. //
  3313. // See CreateClientVpnRoute for details on how to use this API operation.
  3314. //
  3315. // The context must be non-nil and will be used for request cancellation. If
  3316. // the context is nil a panic will occur. In the future the SDK may create
  3317. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3318. // for more information on using Contexts.
  3319. func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
  3320. req, out := c.CreateClientVpnRouteRequest(input)
  3321. req.SetContext(ctx)
  3322. req.ApplyOptions(opts...)
  3323. return out, req.Send()
  3324. }
  3325. const opCreateCustomerGateway = "CreateCustomerGateway"
  3326. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  3327. // client's request for the CreateCustomerGateway operation. The "output" return
  3328. // value will be populated with the request's response once the request completes
  3329. // successfully.
  3330. //
  3331. // Use "Send" method on the returned Request to send the API call to the service.
  3332. // the "output" return value is not valid until after Send returns without error.
  3333. //
  3334. // See CreateCustomerGateway for more information on using the CreateCustomerGateway
  3335. // API call, and error handling.
  3336. //
  3337. // This method is useful when you want to inject custom logic or configuration
  3338. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3339. //
  3340. //
  3341. // // Example sending a request using the CreateCustomerGatewayRequest method.
  3342. // req, resp := client.CreateCustomerGatewayRequest(params)
  3343. //
  3344. // err := req.Send()
  3345. // if err == nil { // resp is now filled
  3346. // fmt.Println(resp)
  3347. // }
  3348. //
  3349. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  3350. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  3351. op := &request.Operation{
  3352. Name: opCreateCustomerGateway,
  3353. HTTPMethod: "POST",
  3354. HTTPPath: "/",
  3355. }
  3356. if input == nil {
  3357. input = &CreateCustomerGatewayInput{}
  3358. }
  3359. output = &CreateCustomerGatewayOutput{}
  3360. req = c.newRequest(op, input, output)
  3361. return
  3362. }
  3363. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  3364. //
  3365. // Provides information to AWS about your VPN customer gateway device. The customer
  3366. // gateway is the appliance at your end of the VPN connection. (The device on
  3367. // the AWS side of the VPN connection is the virtual private gateway.) You must
  3368. // provide the Internet-routable IP address of the customer gateway's external
  3369. // interface. The IP address must be static and can be behind a device performing
  3370. // network address translation (NAT).
  3371. //
  3372. // For devices that use Border Gateway Protocol (BGP), you can also provide
  3373. // the device's BGP Autonomous System Number (ASN). You can use an existing
  3374. // ASN assigned to your network. If you don't have an ASN already, you can use
  3375. // a private ASN (in the 64512 - 65534 range).
  3376. //
  3377. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  3378. // the exception of 7224, which is reserved in the us-east-1 Region, and 9059,
  3379. // which is reserved in the eu-west-1 Region.
  3380. //
  3381. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  3382. // in the AWS Site-to-Site VPN User Guide.
  3383. //
  3384. // To create more than one customer gateway with the same VPN type, IP address,
  3385. // and BGP ASN, specify a unique device name for each customer gateway. Identical
  3386. // requests return information about the existing customer gateway and do not
  3387. // create new customer gateways.
  3388. //
  3389. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3390. // with awserr.Error's Code and Message methods to get detailed information about
  3391. // the error.
  3392. //
  3393. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3394. // API operation CreateCustomerGateway for usage and error information.
  3395. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  3396. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  3397. req, out := c.CreateCustomerGatewayRequest(input)
  3398. return out, req.Send()
  3399. }
  3400. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  3401. // the ability to pass a context and additional request options.
  3402. //
  3403. // See CreateCustomerGateway for details on how to use this API operation.
  3404. //
  3405. // The context must be non-nil and will be used for request cancellation. If
  3406. // the context is nil a panic will occur. In the future the SDK may create
  3407. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3408. // for more information on using Contexts.
  3409. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  3410. req, out := c.CreateCustomerGatewayRequest(input)
  3411. req.SetContext(ctx)
  3412. req.ApplyOptions(opts...)
  3413. return out, req.Send()
  3414. }
  3415. const opCreateDefaultSubnet = "CreateDefaultSubnet"
  3416. // CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
  3417. // client's request for the CreateDefaultSubnet operation. The "output" return
  3418. // value will be populated with the request's response once the request completes
  3419. // successfully.
  3420. //
  3421. // Use "Send" method on the returned Request to send the API call to the service.
  3422. // the "output" return value is not valid until after Send returns without error.
  3423. //
  3424. // See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
  3425. // API call, and error handling.
  3426. //
  3427. // This method is useful when you want to inject custom logic or configuration
  3428. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3429. //
  3430. //
  3431. // // Example sending a request using the CreateDefaultSubnetRequest method.
  3432. // req, resp := client.CreateDefaultSubnetRequest(params)
  3433. //
  3434. // err := req.Send()
  3435. // if err == nil { // resp is now filled
  3436. // fmt.Println(resp)
  3437. // }
  3438. //
  3439. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  3440. func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
  3441. op := &request.Operation{
  3442. Name: opCreateDefaultSubnet,
  3443. HTTPMethod: "POST",
  3444. HTTPPath: "/",
  3445. }
  3446. if input == nil {
  3447. input = &CreateDefaultSubnetInput{}
  3448. }
  3449. output = &CreateDefaultSubnetOutput{}
  3450. req = c.newRequest(op, input, output)
  3451. return
  3452. }
  3453. // CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
  3454. //
  3455. // Creates a default subnet with a size /20 IPv4 CIDR block in the specified
  3456. // Availability Zone in your default VPC. You can have only one default subnet
  3457. // per Availability Zone. For more information, see Creating a Default Subnet
  3458. // (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
  3459. // in the Amazon Virtual Private Cloud User Guide.
  3460. //
  3461. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3462. // with awserr.Error's Code and Message methods to get detailed information about
  3463. // the error.
  3464. //
  3465. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3466. // API operation CreateDefaultSubnet for usage and error information.
  3467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  3468. func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
  3469. req, out := c.CreateDefaultSubnetRequest(input)
  3470. return out, req.Send()
  3471. }
  3472. // CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
  3473. // the ability to pass a context and additional request options.
  3474. //
  3475. // See CreateDefaultSubnet for details on how to use this API operation.
  3476. //
  3477. // The context must be non-nil and will be used for request cancellation. If
  3478. // the context is nil a panic will occur. In the future the SDK may create
  3479. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3480. // for more information on using Contexts.
  3481. func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
  3482. req, out := c.CreateDefaultSubnetRequest(input)
  3483. req.SetContext(ctx)
  3484. req.ApplyOptions(opts...)
  3485. return out, req.Send()
  3486. }
  3487. const opCreateDefaultVpc = "CreateDefaultVpc"
  3488. // CreateDefaultVpcRequest generates a "aws/request.Request" representing the
  3489. // client's request for the CreateDefaultVpc operation. The "output" return
  3490. // value will be populated with the request's response once the request completes
  3491. // successfully.
  3492. //
  3493. // Use "Send" method on the returned Request to send the API call to the service.
  3494. // the "output" return value is not valid until after Send returns without error.
  3495. //
  3496. // See CreateDefaultVpc for more information on using the CreateDefaultVpc
  3497. // API call, and error handling.
  3498. //
  3499. // This method is useful when you want to inject custom logic or configuration
  3500. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3501. //
  3502. //
  3503. // // Example sending a request using the CreateDefaultVpcRequest method.
  3504. // req, resp := client.CreateDefaultVpcRequest(params)
  3505. //
  3506. // err := req.Send()
  3507. // if err == nil { // resp is now filled
  3508. // fmt.Println(resp)
  3509. // }
  3510. //
  3511. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  3512. func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
  3513. op := &request.Operation{
  3514. Name: opCreateDefaultVpc,
  3515. HTTPMethod: "POST",
  3516. HTTPPath: "/",
  3517. }
  3518. if input == nil {
  3519. input = &CreateDefaultVpcInput{}
  3520. }
  3521. output = &CreateDefaultVpcOutput{}
  3522. req = c.newRequest(op, input, output)
  3523. return
  3524. }
  3525. // CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
  3526. //
  3527. // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
  3528. // in each Availability Zone. For more information about the components of a
  3529. // default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)
  3530. // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
  3531. // of the default VPC yourself.
  3532. //
  3533. // If you deleted your previous default VPC, you can create a default VPC. You
  3534. // cannot have more than one default VPC per Region.
  3535. //
  3536. // If your account supports EC2-Classic, you cannot use this action to create
  3537. // a default VPC in a Region that supports EC2-Classic. If you want a default
  3538. // VPC in a Region that supports EC2-Classic, see "I really want a default VPC
  3539. // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
  3540. //
  3541. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3542. // with awserr.Error's Code and Message methods to get detailed information about
  3543. // the error.
  3544. //
  3545. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3546. // API operation CreateDefaultVpc for usage and error information.
  3547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  3548. func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
  3549. req, out := c.CreateDefaultVpcRequest(input)
  3550. return out, req.Send()
  3551. }
  3552. // CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
  3553. // the ability to pass a context and additional request options.
  3554. //
  3555. // See CreateDefaultVpc for details on how to use this API operation.
  3556. //
  3557. // The context must be non-nil and will be used for request cancellation. If
  3558. // the context is nil a panic will occur. In the future the SDK may create
  3559. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3560. // for more information on using Contexts.
  3561. func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
  3562. req, out := c.CreateDefaultVpcRequest(input)
  3563. req.SetContext(ctx)
  3564. req.ApplyOptions(opts...)
  3565. return out, req.Send()
  3566. }
  3567. const opCreateDhcpOptions = "CreateDhcpOptions"
  3568. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  3569. // client's request for the CreateDhcpOptions operation. The "output" return
  3570. // value will be populated with the request's response once the request completes
  3571. // successfully.
  3572. //
  3573. // Use "Send" method on the returned Request to send the API call to the service.
  3574. // the "output" return value is not valid until after Send returns without error.
  3575. //
  3576. // See CreateDhcpOptions for more information on using the CreateDhcpOptions
  3577. // API call, and error handling.
  3578. //
  3579. // This method is useful when you want to inject custom logic or configuration
  3580. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3581. //
  3582. //
  3583. // // Example sending a request using the CreateDhcpOptionsRequest method.
  3584. // req, resp := client.CreateDhcpOptionsRequest(params)
  3585. //
  3586. // err := req.Send()
  3587. // if err == nil { // resp is now filled
  3588. // fmt.Println(resp)
  3589. // }
  3590. //
  3591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  3592. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  3593. op := &request.Operation{
  3594. Name: opCreateDhcpOptions,
  3595. HTTPMethod: "POST",
  3596. HTTPPath: "/",
  3597. }
  3598. if input == nil {
  3599. input = &CreateDhcpOptionsInput{}
  3600. }
  3601. output = &CreateDhcpOptionsOutput{}
  3602. req = c.newRequest(op, input, output)
  3603. return
  3604. }
  3605. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  3606. //
  3607. // Creates a set of DHCP options for your VPC. After creating the set, you must
  3608. // associate it with the VPC, causing all existing and new instances that you
  3609. // launch in the VPC to use this set of DHCP options. The following are the
  3610. // individual DHCP options you can specify. For more information about the options,
  3611. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  3612. //
  3613. // * domain-name-servers - The IP addresses of up to four domain name servers,
  3614. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  3615. // If specifying more than one domain name server, specify the IP addresses
  3616. // in a single parameter, separated by commas. To have your instance receive
  3617. // a custom DNS hostname as specified in domain-name, you must set domain-name-servers
  3618. // to a custom DNS server.
  3619. //
  3620. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  3621. // ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
  3622. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  3623. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  3624. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  3625. // systems accept multiple domain names separated by spaces. However, Windows
  3626. // and other Linux operating systems treat the value as a single domain,
  3627. // which results in unexpected behavior. If your DHCP options set is associated
  3628. // with a VPC that has instances with multiple operating systems, specify
  3629. // only one domain name.
  3630. //
  3631. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  3632. // servers.
  3633. //
  3634. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  3635. //
  3636. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  3637. // that you specify 2 (broadcast and multicast are not currently supported).
  3638. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  3639. //
  3640. // Your VPC automatically starts out with a set of DHCP options that includes
  3641. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  3642. // of options, and if your VPC has an internet gateway, make sure to set the
  3643. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  3644. // server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
  3645. // in the Amazon Virtual Private Cloud User Guide.
  3646. //
  3647. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3648. // with awserr.Error's Code and Message methods to get detailed information about
  3649. // the error.
  3650. //
  3651. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3652. // API operation CreateDhcpOptions for usage and error information.
  3653. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  3654. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  3655. req, out := c.CreateDhcpOptionsRequest(input)
  3656. return out, req.Send()
  3657. }
  3658. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  3659. // the ability to pass a context and additional request options.
  3660. //
  3661. // See CreateDhcpOptions for details on how to use this API operation.
  3662. //
  3663. // The context must be non-nil and will be used for request cancellation. If
  3664. // the context is nil a panic will occur. In the future the SDK may create
  3665. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3666. // for more information on using Contexts.
  3667. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  3668. req, out := c.CreateDhcpOptionsRequest(input)
  3669. req.SetContext(ctx)
  3670. req.ApplyOptions(opts...)
  3671. return out, req.Send()
  3672. }
  3673. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  3674. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  3675. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  3676. // value will be populated with the request's response once the request completes
  3677. // successfully.
  3678. //
  3679. // Use "Send" method on the returned Request to send the API call to the service.
  3680. // the "output" return value is not valid until after Send returns without error.
  3681. //
  3682. // See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
  3683. // API call, and error handling.
  3684. //
  3685. // This method is useful when you want to inject custom logic or configuration
  3686. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3687. //
  3688. //
  3689. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  3690. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  3691. //
  3692. // err := req.Send()
  3693. // if err == nil { // resp is now filled
  3694. // fmt.Println(resp)
  3695. // }
  3696. //
  3697. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  3698. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  3699. op := &request.Operation{
  3700. Name: opCreateEgressOnlyInternetGateway,
  3701. HTTPMethod: "POST",
  3702. HTTPPath: "/",
  3703. }
  3704. if input == nil {
  3705. input = &CreateEgressOnlyInternetGatewayInput{}
  3706. }
  3707. output = &CreateEgressOnlyInternetGatewayOutput{}
  3708. req = c.newRequest(op, input, output)
  3709. return
  3710. }
  3711. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  3712. //
  3713. // [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
  3714. // internet gateway is used to enable outbound communication over IPv6 from
  3715. // instances in your VPC to the internet, and prevents hosts outside of your
  3716. // VPC from initiating an IPv6 connection with your instance.
  3717. //
  3718. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3719. // with awserr.Error's Code and Message methods to get detailed information about
  3720. // the error.
  3721. //
  3722. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3723. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  3724. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  3725. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  3726. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  3727. return out, req.Send()
  3728. }
  3729. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  3730. // the ability to pass a context and additional request options.
  3731. //
  3732. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  3733. //
  3734. // The context must be non-nil and will be used for request cancellation. If
  3735. // the context is nil a panic will occur. In the future the SDK may create
  3736. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3737. // for more information on using Contexts.
  3738. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  3739. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  3740. req.SetContext(ctx)
  3741. req.ApplyOptions(opts...)
  3742. return out, req.Send()
  3743. }
  3744. const opCreateFleet = "CreateFleet"
  3745. // CreateFleetRequest generates a "aws/request.Request" representing the
  3746. // client's request for the CreateFleet operation. The "output" return
  3747. // value will be populated with the request's response once the request completes
  3748. // successfully.
  3749. //
  3750. // Use "Send" method on the returned Request to send the API call to the service.
  3751. // the "output" return value is not valid until after Send returns without error.
  3752. //
  3753. // See CreateFleet for more information on using the CreateFleet
  3754. // API call, and error handling.
  3755. //
  3756. // This method is useful when you want to inject custom logic or configuration
  3757. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3758. //
  3759. //
  3760. // // Example sending a request using the CreateFleetRequest method.
  3761. // req, resp := client.CreateFleetRequest(params)
  3762. //
  3763. // err := req.Send()
  3764. // if err == nil { // resp is now filled
  3765. // fmt.Println(resp)
  3766. // }
  3767. //
  3768. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  3769. func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
  3770. op := &request.Operation{
  3771. Name: opCreateFleet,
  3772. HTTPMethod: "POST",
  3773. HTTPPath: "/",
  3774. }
  3775. if input == nil {
  3776. input = &CreateFleetInput{}
  3777. }
  3778. output = &CreateFleetOutput{}
  3779. req = c.newRequest(op, input, output)
  3780. return
  3781. }
  3782. // CreateFleet API operation for Amazon Elastic Compute Cloud.
  3783. //
  3784. // Launches an EC2 Fleet.
  3785. //
  3786. // You can create a single EC2 Fleet that includes multiple launch specifications
  3787. // that vary by instance type, AMI, Availability Zone, or subnet.
  3788. //
  3789. // For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
  3790. // in the Amazon Elastic Compute Cloud User Guide.
  3791. //
  3792. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3793. // with awserr.Error's Code and Message methods to get detailed information about
  3794. // the error.
  3795. //
  3796. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3797. // API operation CreateFleet for usage and error information.
  3798. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  3799. func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
  3800. req, out := c.CreateFleetRequest(input)
  3801. return out, req.Send()
  3802. }
  3803. // CreateFleetWithContext is the same as CreateFleet with the addition of
  3804. // the ability to pass a context and additional request options.
  3805. //
  3806. // See CreateFleet for details on how to use this API operation.
  3807. //
  3808. // The context must be non-nil and will be used for request cancellation. If
  3809. // the context is nil a panic will occur. In the future the SDK may create
  3810. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3811. // for more information on using Contexts.
  3812. func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
  3813. req, out := c.CreateFleetRequest(input)
  3814. req.SetContext(ctx)
  3815. req.ApplyOptions(opts...)
  3816. return out, req.Send()
  3817. }
  3818. const opCreateFlowLogs = "CreateFlowLogs"
  3819. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  3820. // client's request for the CreateFlowLogs operation. The "output" return
  3821. // value will be populated with the request's response once the request completes
  3822. // successfully.
  3823. //
  3824. // Use "Send" method on the returned Request to send the API call to the service.
  3825. // the "output" return value is not valid until after Send returns without error.
  3826. //
  3827. // See CreateFlowLogs for more information on using the CreateFlowLogs
  3828. // API call, and error handling.
  3829. //
  3830. // This method is useful when you want to inject custom logic or configuration
  3831. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3832. //
  3833. //
  3834. // // Example sending a request using the CreateFlowLogsRequest method.
  3835. // req, resp := client.CreateFlowLogsRequest(params)
  3836. //
  3837. // err := req.Send()
  3838. // if err == nil { // resp is now filled
  3839. // fmt.Println(resp)
  3840. // }
  3841. //
  3842. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  3843. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  3844. op := &request.Operation{
  3845. Name: opCreateFlowLogs,
  3846. HTTPMethod: "POST",
  3847. HTTPPath: "/",
  3848. }
  3849. if input == nil {
  3850. input = &CreateFlowLogsInput{}
  3851. }
  3852. output = &CreateFlowLogsOutput{}
  3853. req = c.newRequest(op, input, output)
  3854. return
  3855. }
  3856. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  3857. //
  3858. // Creates one or more flow logs to capture information about IP traffic for
  3859. // a specific network interface, subnet, or VPC.
  3860. //
  3861. // Flow log data for a monitored network interface is recorded as flow log records,
  3862. // which are log events consisting of fields that describe the traffic flow.
  3863. // For more information, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)
  3864. // in the Amazon Virtual Private Cloud User Guide.
  3865. //
  3866. // When publishing to CloudWatch Logs, flow log records are published to a log
  3867. // group, and each network interface has a unique log stream in the log group.
  3868. // When publishing to Amazon S3, flow log records for all of the monitored network
  3869. // interfaces are published to a single log file object that is stored in the
  3870. // specified bucket.
  3871. //
  3872. // For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
  3873. // in the Amazon Virtual Private Cloud User Guide.
  3874. //
  3875. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3876. // with awserr.Error's Code and Message methods to get detailed information about
  3877. // the error.
  3878. //
  3879. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3880. // API operation CreateFlowLogs for usage and error information.
  3881. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  3882. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  3883. req, out := c.CreateFlowLogsRequest(input)
  3884. return out, req.Send()
  3885. }
  3886. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  3887. // the ability to pass a context and additional request options.
  3888. //
  3889. // See CreateFlowLogs for details on how to use this API operation.
  3890. //
  3891. // The context must be non-nil and will be used for request cancellation. If
  3892. // the context is nil a panic will occur. In the future the SDK may create
  3893. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3894. // for more information on using Contexts.
  3895. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  3896. req, out := c.CreateFlowLogsRequest(input)
  3897. req.SetContext(ctx)
  3898. req.ApplyOptions(opts...)
  3899. return out, req.Send()
  3900. }
  3901. const opCreateFpgaImage = "CreateFpgaImage"
  3902. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  3903. // client's request for the CreateFpgaImage operation. The "output" return
  3904. // value will be populated with the request's response once the request completes
  3905. // successfully.
  3906. //
  3907. // Use "Send" method on the returned Request to send the API call to the service.
  3908. // the "output" return value is not valid until after Send returns without error.
  3909. //
  3910. // See CreateFpgaImage for more information on using the CreateFpgaImage
  3911. // API call, and error handling.
  3912. //
  3913. // This method is useful when you want to inject custom logic or configuration
  3914. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3915. //
  3916. //
  3917. // // Example sending a request using the CreateFpgaImageRequest method.
  3918. // req, resp := client.CreateFpgaImageRequest(params)
  3919. //
  3920. // err := req.Send()
  3921. // if err == nil { // resp is now filled
  3922. // fmt.Println(resp)
  3923. // }
  3924. //
  3925. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3926. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  3927. op := &request.Operation{
  3928. Name: opCreateFpgaImage,
  3929. HTTPMethod: "POST",
  3930. HTTPPath: "/",
  3931. }
  3932. if input == nil {
  3933. input = &CreateFpgaImageInput{}
  3934. }
  3935. output = &CreateFpgaImageOutput{}
  3936. req = c.newRequest(op, input, output)
  3937. return
  3938. }
  3939. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  3940. //
  3941. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  3942. //
  3943. // The create operation is asynchronous. To verify that the AFI is ready for
  3944. // use, check the output logs.
  3945. //
  3946. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  3947. // You can securely deploy an AFI on multiple FPGA-accelerated instances. For
  3948. // more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  3949. //
  3950. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3951. // with awserr.Error's Code and Message methods to get detailed information about
  3952. // the error.
  3953. //
  3954. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3955. // API operation CreateFpgaImage for usage and error information.
  3956. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3957. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  3958. req, out := c.CreateFpgaImageRequest(input)
  3959. return out, req.Send()
  3960. }
  3961. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  3962. // the ability to pass a context and additional request options.
  3963. //
  3964. // See CreateFpgaImage for details on how to use this API operation.
  3965. //
  3966. // The context must be non-nil and will be used for request cancellation. If
  3967. // the context is nil a panic will occur. In the future the SDK may create
  3968. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3969. // for more information on using Contexts.
  3970. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  3971. req, out := c.CreateFpgaImageRequest(input)
  3972. req.SetContext(ctx)
  3973. req.ApplyOptions(opts...)
  3974. return out, req.Send()
  3975. }
  3976. const opCreateImage = "CreateImage"
  3977. // CreateImageRequest generates a "aws/request.Request" representing the
  3978. // client's request for the CreateImage operation. The "output" return
  3979. // value will be populated with the request's response once the request completes
  3980. // successfully.
  3981. //
  3982. // Use "Send" method on the returned Request to send the API call to the service.
  3983. // the "output" return value is not valid until after Send returns without error.
  3984. //
  3985. // See CreateImage for more information on using the CreateImage
  3986. // API call, and error handling.
  3987. //
  3988. // This method is useful when you want to inject custom logic or configuration
  3989. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3990. //
  3991. //
  3992. // // Example sending a request using the CreateImageRequest method.
  3993. // req, resp := client.CreateImageRequest(params)
  3994. //
  3995. // err := req.Send()
  3996. // if err == nil { // resp is now filled
  3997. // fmt.Println(resp)
  3998. // }
  3999. //
  4000. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  4001. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  4002. op := &request.Operation{
  4003. Name: opCreateImage,
  4004. HTTPMethod: "POST",
  4005. HTTPPath: "/",
  4006. }
  4007. if input == nil {
  4008. input = &CreateImageInput{}
  4009. }
  4010. output = &CreateImageOutput{}
  4011. req = c.newRequest(op, input, output)
  4012. return
  4013. }
  4014. // CreateImage API operation for Amazon Elastic Compute Cloud.
  4015. //
  4016. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  4017. // is either running or stopped.
  4018. //
  4019. // If you customized your instance with instance store volumes or EBS volumes
  4020. // in addition to the root device volume, the new AMI contains block device
  4021. // mapping information for those volumes. When you launch an instance from this
  4022. // new AMI, the instance automatically launches with those additional volumes.
  4023. //
  4024. // For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  4025. // in the Amazon Elastic Compute Cloud User Guide.
  4026. //
  4027. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4028. // with awserr.Error's Code and Message methods to get detailed information about
  4029. // the error.
  4030. //
  4031. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4032. // API operation CreateImage for usage and error information.
  4033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  4034. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  4035. req, out := c.CreateImageRequest(input)
  4036. return out, req.Send()
  4037. }
  4038. // CreateImageWithContext is the same as CreateImage with the addition of
  4039. // the ability to pass a context and additional request options.
  4040. //
  4041. // See CreateImage for details on how to use this API operation.
  4042. //
  4043. // The context must be non-nil and will be used for request cancellation. If
  4044. // the context is nil a panic will occur. In the future the SDK may create
  4045. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4046. // for more information on using Contexts.
  4047. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  4048. req, out := c.CreateImageRequest(input)
  4049. req.SetContext(ctx)
  4050. req.ApplyOptions(opts...)
  4051. return out, req.Send()
  4052. }
  4053. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  4054. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  4055. // client's request for the CreateInstanceExportTask operation. The "output" return
  4056. // value will be populated with the request's response once the request completes
  4057. // successfully.
  4058. //
  4059. // Use "Send" method on the returned Request to send the API call to the service.
  4060. // the "output" return value is not valid until after Send returns without error.
  4061. //
  4062. // See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
  4063. // API call, and error handling.
  4064. //
  4065. // This method is useful when you want to inject custom logic or configuration
  4066. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4067. //
  4068. //
  4069. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  4070. // req, resp := client.CreateInstanceExportTaskRequest(params)
  4071. //
  4072. // err := req.Send()
  4073. // if err == nil { // resp is now filled
  4074. // fmt.Println(resp)
  4075. // }
  4076. //
  4077. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  4078. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  4079. op := &request.Operation{
  4080. Name: opCreateInstanceExportTask,
  4081. HTTPMethod: "POST",
  4082. HTTPPath: "/",
  4083. }
  4084. if input == nil {
  4085. input = &CreateInstanceExportTaskInput{}
  4086. }
  4087. output = &CreateInstanceExportTaskOutput{}
  4088. req = c.newRequest(op, input, output)
  4089. return
  4090. }
  4091. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  4092. //
  4093. // Exports a running or stopped instance to an S3 bucket.
  4094. //
  4095. // For information about the supported operating systems, image formats, and
  4096. // known limitations for the types of instances you can export, see Exporting
  4097. // an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  4098. // in the VM Import/Export User Guide.
  4099. //
  4100. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4101. // with awserr.Error's Code and Message methods to get detailed information about
  4102. // the error.
  4103. //
  4104. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4105. // API operation CreateInstanceExportTask for usage and error information.
  4106. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  4107. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  4108. req, out := c.CreateInstanceExportTaskRequest(input)
  4109. return out, req.Send()
  4110. }
  4111. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  4112. // the ability to pass a context and additional request options.
  4113. //
  4114. // See CreateInstanceExportTask for details on how to use this API operation.
  4115. //
  4116. // The context must be non-nil and will be used for request cancellation. If
  4117. // the context is nil a panic will occur. In the future the SDK may create
  4118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4119. // for more information on using Contexts.
  4120. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  4121. req, out := c.CreateInstanceExportTaskRequest(input)
  4122. req.SetContext(ctx)
  4123. req.ApplyOptions(opts...)
  4124. return out, req.Send()
  4125. }
  4126. const opCreateInternetGateway = "CreateInternetGateway"
  4127. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  4128. // client's request for the CreateInternetGateway operation. The "output" return
  4129. // value will be populated with the request's response once the request completes
  4130. // successfully.
  4131. //
  4132. // Use "Send" method on the returned Request to send the API call to the service.
  4133. // the "output" return value is not valid until after Send returns without error.
  4134. //
  4135. // See CreateInternetGateway for more information on using the CreateInternetGateway
  4136. // API call, and error handling.
  4137. //
  4138. // This method is useful when you want to inject custom logic or configuration
  4139. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4140. //
  4141. //
  4142. // // Example sending a request using the CreateInternetGatewayRequest method.
  4143. // req, resp := client.CreateInternetGatewayRequest(params)
  4144. //
  4145. // err := req.Send()
  4146. // if err == nil { // resp is now filled
  4147. // fmt.Println(resp)
  4148. // }
  4149. //
  4150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  4151. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  4152. op := &request.Operation{
  4153. Name: opCreateInternetGateway,
  4154. HTTPMethod: "POST",
  4155. HTTPPath: "/",
  4156. }
  4157. if input == nil {
  4158. input = &CreateInternetGatewayInput{}
  4159. }
  4160. output = &CreateInternetGatewayOutput{}
  4161. req = c.newRequest(op, input, output)
  4162. return
  4163. }
  4164. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  4165. //
  4166. // Creates an internet gateway for use with a VPC. After creating the internet
  4167. // gateway, you attach it to a VPC using AttachInternetGateway.
  4168. //
  4169. // For more information about your VPC and internet gateway, see the Amazon
  4170. // Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
  4171. //
  4172. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4173. // with awserr.Error's Code and Message methods to get detailed information about
  4174. // the error.
  4175. //
  4176. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4177. // API operation CreateInternetGateway for usage and error information.
  4178. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  4179. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  4180. req, out := c.CreateInternetGatewayRequest(input)
  4181. return out, req.Send()
  4182. }
  4183. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  4184. // the ability to pass a context and additional request options.
  4185. //
  4186. // See CreateInternetGateway for details on how to use this API operation.
  4187. //
  4188. // The context must be non-nil and will be used for request cancellation. If
  4189. // the context is nil a panic will occur. In the future the SDK may create
  4190. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4191. // for more information on using Contexts.
  4192. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  4193. req, out := c.CreateInternetGatewayRequest(input)
  4194. req.SetContext(ctx)
  4195. req.ApplyOptions(opts...)
  4196. return out, req.Send()
  4197. }
  4198. const opCreateKeyPair = "CreateKeyPair"
  4199. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  4200. // client's request for the CreateKeyPair operation. The "output" return
  4201. // value will be populated with the request's response once the request completes
  4202. // successfully.
  4203. //
  4204. // Use "Send" method on the returned Request to send the API call to the service.
  4205. // the "output" return value is not valid until after Send returns without error.
  4206. //
  4207. // See CreateKeyPair for more information on using the CreateKeyPair
  4208. // API call, and error handling.
  4209. //
  4210. // This method is useful when you want to inject custom logic or configuration
  4211. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4212. //
  4213. //
  4214. // // Example sending a request using the CreateKeyPairRequest method.
  4215. // req, resp := client.CreateKeyPairRequest(params)
  4216. //
  4217. // err := req.Send()
  4218. // if err == nil { // resp is now filled
  4219. // fmt.Println(resp)
  4220. // }
  4221. //
  4222. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  4223. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  4224. op := &request.Operation{
  4225. Name: opCreateKeyPair,
  4226. HTTPMethod: "POST",
  4227. HTTPPath: "/",
  4228. }
  4229. if input == nil {
  4230. input = &CreateKeyPairInput{}
  4231. }
  4232. output = &CreateKeyPairOutput{}
  4233. req = c.newRequest(op, input, output)
  4234. return
  4235. }
  4236. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  4237. //
  4238. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  4239. // the public key and displays the private key for you to save to a file. The
  4240. // private key is returned as an unencrypted PEM encoded PKCS#1 private key.
  4241. // If a key with the specified name already exists, Amazon EC2 returns an error.
  4242. //
  4243. // You can have up to five thousand key pairs per Region.
  4244. //
  4245. // The key pair returned to you is available only in the Region in which you
  4246. // create it. If you prefer, you can create your own key pair using a third-party
  4247. // tool and upload it to any Region using ImportKeyPair.
  4248. //
  4249. // For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  4250. // in the Amazon Elastic Compute Cloud User Guide.
  4251. //
  4252. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4253. // with awserr.Error's Code and Message methods to get detailed information about
  4254. // the error.
  4255. //
  4256. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4257. // API operation CreateKeyPair for usage and error information.
  4258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  4259. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  4260. req, out := c.CreateKeyPairRequest(input)
  4261. return out, req.Send()
  4262. }
  4263. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  4264. // the ability to pass a context and additional request options.
  4265. //
  4266. // See CreateKeyPair for details on how to use this API operation.
  4267. //
  4268. // The context must be non-nil and will be used for request cancellation. If
  4269. // the context is nil a panic will occur. In the future the SDK may create
  4270. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4271. // for more information on using Contexts.
  4272. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  4273. req, out := c.CreateKeyPairRequest(input)
  4274. req.SetContext(ctx)
  4275. req.ApplyOptions(opts...)
  4276. return out, req.Send()
  4277. }
  4278. const opCreateLaunchTemplate = "CreateLaunchTemplate"
  4279. // CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
  4280. // client's request for the CreateLaunchTemplate operation. The "output" return
  4281. // value will be populated with the request's response once the request completes
  4282. // successfully.
  4283. //
  4284. // Use "Send" method on the returned Request to send the API call to the service.
  4285. // the "output" return value is not valid until after Send returns without error.
  4286. //
  4287. // See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
  4288. // API call, and error handling.
  4289. //
  4290. // This method is useful when you want to inject custom logic or configuration
  4291. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4292. //
  4293. //
  4294. // // Example sending a request using the CreateLaunchTemplateRequest method.
  4295. // req, resp := client.CreateLaunchTemplateRequest(params)
  4296. //
  4297. // err := req.Send()
  4298. // if err == nil { // resp is now filled
  4299. // fmt.Println(resp)
  4300. // }
  4301. //
  4302. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  4303. func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
  4304. op := &request.Operation{
  4305. Name: opCreateLaunchTemplate,
  4306. HTTPMethod: "POST",
  4307. HTTPPath: "/",
  4308. }
  4309. if input == nil {
  4310. input = &CreateLaunchTemplateInput{}
  4311. }
  4312. output = &CreateLaunchTemplateOutput{}
  4313. req = c.newRequest(op, input, output)
  4314. return
  4315. }
  4316. // CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  4317. //
  4318. // Creates a launch template. A launch template contains the parameters to launch
  4319. // an instance. When you launch an instance using RunInstances, you can specify
  4320. // a launch template instead of providing the launch parameters in the request.
  4321. //
  4322. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4323. // with awserr.Error's Code and Message methods to get detailed information about
  4324. // the error.
  4325. //
  4326. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4327. // API operation CreateLaunchTemplate for usage and error information.
  4328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  4329. func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
  4330. req, out := c.CreateLaunchTemplateRequest(input)
  4331. return out, req.Send()
  4332. }
  4333. // CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
  4334. // the ability to pass a context and additional request options.
  4335. //
  4336. // See CreateLaunchTemplate for details on how to use this API operation.
  4337. //
  4338. // The context must be non-nil and will be used for request cancellation. If
  4339. // the context is nil a panic will occur. In the future the SDK may create
  4340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4341. // for more information on using Contexts.
  4342. func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
  4343. req, out := c.CreateLaunchTemplateRequest(input)
  4344. req.SetContext(ctx)
  4345. req.ApplyOptions(opts...)
  4346. return out, req.Send()
  4347. }
  4348. const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
  4349. // CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
  4350. // client's request for the CreateLaunchTemplateVersion operation. The "output" return
  4351. // value will be populated with the request's response once the request completes
  4352. // successfully.
  4353. //
  4354. // Use "Send" method on the returned Request to send the API call to the service.
  4355. // the "output" return value is not valid until after Send returns without error.
  4356. //
  4357. // See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
  4358. // API call, and error handling.
  4359. //
  4360. // This method is useful when you want to inject custom logic or configuration
  4361. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4362. //
  4363. //
  4364. // // Example sending a request using the CreateLaunchTemplateVersionRequest method.
  4365. // req, resp := client.CreateLaunchTemplateVersionRequest(params)
  4366. //
  4367. // err := req.Send()
  4368. // if err == nil { // resp is now filled
  4369. // fmt.Println(resp)
  4370. // }
  4371. //
  4372. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  4373. func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
  4374. op := &request.Operation{
  4375. Name: opCreateLaunchTemplateVersion,
  4376. HTTPMethod: "POST",
  4377. HTTPPath: "/",
  4378. }
  4379. if input == nil {
  4380. input = &CreateLaunchTemplateVersionInput{}
  4381. }
  4382. output = &CreateLaunchTemplateVersionOutput{}
  4383. req = c.newRequest(op, input, output)
  4384. return
  4385. }
  4386. // CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
  4387. //
  4388. // Creates a new version for a launch template. You can specify an existing
  4389. // version of launch template from which to base the new version.
  4390. //
  4391. // Launch template versions are numbered in the order in which they are created.
  4392. // You cannot specify, change, or replace the numbering of launch template versions.
  4393. //
  4394. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4395. // with awserr.Error's Code and Message methods to get detailed information about
  4396. // the error.
  4397. //
  4398. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4399. // API operation CreateLaunchTemplateVersion for usage and error information.
  4400. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  4401. func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
  4402. req, out := c.CreateLaunchTemplateVersionRequest(input)
  4403. return out, req.Send()
  4404. }
  4405. // CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
  4406. // the ability to pass a context and additional request options.
  4407. //
  4408. // See CreateLaunchTemplateVersion for details on how to use this API operation.
  4409. //
  4410. // The context must be non-nil and will be used for request cancellation. If
  4411. // the context is nil a panic will occur. In the future the SDK may create
  4412. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4413. // for more information on using Contexts.
  4414. func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
  4415. req, out := c.CreateLaunchTemplateVersionRequest(input)
  4416. req.SetContext(ctx)
  4417. req.ApplyOptions(opts...)
  4418. return out, req.Send()
  4419. }
  4420. const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
  4421. // CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
  4422. // client's request for the CreateLocalGatewayRoute operation. The "output" return
  4423. // value will be populated with the request's response once the request completes
  4424. // successfully.
  4425. //
  4426. // Use "Send" method on the returned Request to send the API call to the service.
  4427. // the "output" return value is not valid until after Send returns without error.
  4428. //
  4429. // See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
  4430. // API call, and error handling.
  4431. //
  4432. // This method is useful when you want to inject custom logic or configuration
  4433. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4434. //
  4435. //
  4436. // // Example sending a request using the CreateLocalGatewayRouteRequest method.
  4437. // req, resp := client.CreateLocalGatewayRouteRequest(params)
  4438. //
  4439. // err := req.Send()
  4440. // if err == nil { // resp is now filled
  4441. // fmt.Println(resp)
  4442. // }
  4443. //
  4444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
  4445. func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
  4446. op := &request.Operation{
  4447. Name: opCreateLocalGatewayRoute,
  4448. HTTPMethod: "POST",
  4449. HTTPPath: "/",
  4450. }
  4451. if input == nil {
  4452. input = &CreateLocalGatewayRouteInput{}
  4453. }
  4454. output = &CreateLocalGatewayRouteOutput{}
  4455. req = c.newRequest(op, input, output)
  4456. return
  4457. }
  4458. // CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
  4459. //
  4460. // Creates a static route for the specified local gateway route table.
  4461. //
  4462. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4463. // with awserr.Error's Code and Message methods to get detailed information about
  4464. // the error.
  4465. //
  4466. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4467. // API operation CreateLocalGatewayRoute for usage and error information.
  4468. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
  4469. func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
  4470. req, out := c.CreateLocalGatewayRouteRequest(input)
  4471. return out, req.Send()
  4472. }
  4473. // CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
  4474. // the ability to pass a context and additional request options.
  4475. //
  4476. // See CreateLocalGatewayRoute for details on how to use this API operation.
  4477. //
  4478. // The context must be non-nil and will be used for request cancellation. If
  4479. // the context is nil a panic will occur. In the future the SDK may create
  4480. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4481. // for more information on using Contexts.
  4482. func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
  4483. req, out := c.CreateLocalGatewayRouteRequest(input)
  4484. req.SetContext(ctx)
  4485. req.ApplyOptions(opts...)
  4486. return out, req.Send()
  4487. }
  4488. const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
  4489. // CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
  4490. // client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
  4491. // value will be populated with the request's response once the request completes
  4492. // successfully.
  4493. //
  4494. // Use "Send" method on the returned Request to send the API call to the service.
  4495. // the "output" return value is not valid until after Send returns without error.
  4496. //
  4497. // See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
  4498. // API call, and error handling.
  4499. //
  4500. // This method is useful when you want to inject custom logic or configuration
  4501. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4502. //
  4503. //
  4504. // // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
  4505. // req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
  4506. //
  4507. // err := req.Send()
  4508. // if err == nil { // resp is now filled
  4509. // fmt.Println(resp)
  4510. // }
  4511. //
  4512. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
  4513. func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
  4514. op := &request.Operation{
  4515. Name: opCreateLocalGatewayRouteTableVpcAssociation,
  4516. HTTPMethod: "POST",
  4517. HTTPPath: "/",
  4518. }
  4519. if input == nil {
  4520. input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
  4521. }
  4522. output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
  4523. req = c.newRequest(op, input, output)
  4524. return
  4525. }
  4526. // CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
  4527. //
  4528. // Associates the specified VPC with the specified local gateway route table.
  4529. //
  4530. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4531. // with awserr.Error's Code and Message methods to get detailed information about
  4532. // the error.
  4533. //
  4534. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4535. // API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
  4536. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
  4537. func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
  4538. req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
  4539. return out, req.Send()
  4540. }
  4541. // CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
  4542. // the ability to pass a context and additional request options.
  4543. //
  4544. // See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
  4545. //
  4546. // The context must be non-nil and will be used for request cancellation. If
  4547. // the context is nil a panic will occur. In the future the SDK may create
  4548. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4549. // for more information on using Contexts.
  4550. func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
  4551. req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
  4552. req.SetContext(ctx)
  4553. req.ApplyOptions(opts...)
  4554. return out, req.Send()
  4555. }
  4556. const opCreateNatGateway = "CreateNatGateway"
  4557. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  4558. // client's request for the CreateNatGateway operation. The "output" return
  4559. // value will be populated with the request's response once the request completes
  4560. // successfully.
  4561. //
  4562. // Use "Send" method on the returned Request to send the API call to the service.
  4563. // the "output" return value is not valid until after Send returns without error.
  4564. //
  4565. // See CreateNatGateway for more information on using the CreateNatGateway
  4566. // API call, and error handling.
  4567. //
  4568. // This method is useful when you want to inject custom logic or configuration
  4569. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4570. //
  4571. //
  4572. // // Example sending a request using the CreateNatGatewayRequest method.
  4573. // req, resp := client.CreateNatGatewayRequest(params)
  4574. //
  4575. // err := req.Send()
  4576. // if err == nil { // resp is now filled
  4577. // fmt.Println(resp)
  4578. // }
  4579. //
  4580. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  4581. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  4582. op := &request.Operation{
  4583. Name: opCreateNatGateway,
  4584. HTTPMethod: "POST",
  4585. HTTPPath: "/",
  4586. }
  4587. if input == nil {
  4588. input = &CreateNatGatewayInput{}
  4589. }
  4590. output = &CreateNatGatewayOutput{}
  4591. req = c.newRequest(op, input, output)
  4592. return
  4593. }
  4594. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  4595. //
  4596. // Creates a NAT gateway in the specified public subnet. This action creates
  4597. // a network interface in the specified subnet with a private IP address from
  4598. // the IP address range of the subnet. Internet-bound traffic from a private
  4599. // subnet can be routed to the NAT gateway, therefore enabling instances in
  4600. // the private subnet to connect to the internet. For more information, see
  4601. // NAT Gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
  4602. // in the Amazon Virtual Private Cloud User Guide.
  4603. //
  4604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4605. // with awserr.Error's Code and Message methods to get detailed information about
  4606. // the error.
  4607. //
  4608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4609. // API operation CreateNatGateway for usage and error information.
  4610. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  4611. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  4612. req, out := c.CreateNatGatewayRequest(input)
  4613. return out, req.Send()
  4614. }
  4615. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  4616. // the ability to pass a context and additional request options.
  4617. //
  4618. // See CreateNatGateway for details on how to use this API operation.
  4619. //
  4620. // The context must be non-nil and will be used for request cancellation. If
  4621. // the context is nil a panic will occur. In the future the SDK may create
  4622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4623. // for more information on using Contexts.
  4624. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  4625. req, out := c.CreateNatGatewayRequest(input)
  4626. req.SetContext(ctx)
  4627. req.ApplyOptions(opts...)
  4628. return out, req.Send()
  4629. }
  4630. const opCreateNetworkAcl = "CreateNetworkAcl"
  4631. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  4632. // client's request for the CreateNetworkAcl operation. The "output" return
  4633. // value will be populated with the request's response once the request completes
  4634. // successfully.
  4635. //
  4636. // Use "Send" method on the returned Request to send the API call to the service.
  4637. // the "output" return value is not valid until after Send returns without error.
  4638. //
  4639. // See CreateNetworkAcl for more information on using the CreateNetworkAcl
  4640. // API call, and error handling.
  4641. //
  4642. // This method is useful when you want to inject custom logic or configuration
  4643. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4644. //
  4645. //
  4646. // // Example sending a request using the CreateNetworkAclRequest method.
  4647. // req, resp := client.CreateNetworkAclRequest(params)
  4648. //
  4649. // err := req.Send()
  4650. // if err == nil { // resp is now filled
  4651. // fmt.Println(resp)
  4652. // }
  4653. //
  4654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  4655. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  4656. op := &request.Operation{
  4657. Name: opCreateNetworkAcl,
  4658. HTTPMethod: "POST",
  4659. HTTPPath: "/",
  4660. }
  4661. if input == nil {
  4662. input = &CreateNetworkAclInput{}
  4663. }
  4664. output = &CreateNetworkAclOutput{}
  4665. req = c.newRequest(op, input, output)
  4666. return
  4667. }
  4668. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  4669. //
  4670. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  4671. // security (in addition to security groups) for the instances in your VPC.
  4672. //
  4673. // For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
  4674. // in the Amazon Virtual Private Cloud User Guide.
  4675. //
  4676. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4677. // with awserr.Error's Code and Message methods to get detailed information about
  4678. // the error.
  4679. //
  4680. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4681. // API operation CreateNetworkAcl for usage and error information.
  4682. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  4683. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  4684. req, out := c.CreateNetworkAclRequest(input)
  4685. return out, req.Send()
  4686. }
  4687. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  4688. // the ability to pass a context and additional request options.
  4689. //
  4690. // See CreateNetworkAcl for details on how to use this API operation.
  4691. //
  4692. // The context must be non-nil and will be used for request cancellation. If
  4693. // the context is nil a panic will occur. In the future the SDK may create
  4694. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4695. // for more information on using Contexts.
  4696. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  4697. req, out := c.CreateNetworkAclRequest(input)
  4698. req.SetContext(ctx)
  4699. req.ApplyOptions(opts...)
  4700. return out, req.Send()
  4701. }
  4702. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  4703. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  4704. // client's request for the CreateNetworkAclEntry operation. The "output" return
  4705. // value will be populated with the request's response once the request completes
  4706. // successfully.
  4707. //
  4708. // Use "Send" method on the returned Request to send the API call to the service.
  4709. // the "output" return value is not valid until after Send returns without error.
  4710. //
  4711. // See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
  4712. // API call, and error handling.
  4713. //
  4714. // This method is useful when you want to inject custom logic or configuration
  4715. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4716. //
  4717. //
  4718. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  4719. // req, resp := client.CreateNetworkAclEntryRequest(params)
  4720. //
  4721. // err := req.Send()
  4722. // if err == nil { // resp is now filled
  4723. // fmt.Println(resp)
  4724. // }
  4725. //
  4726. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  4727. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  4728. op := &request.Operation{
  4729. Name: opCreateNetworkAclEntry,
  4730. HTTPMethod: "POST",
  4731. HTTPPath: "/",
  4732. }
  4733. if input == nil {
  4734. input = &CreateNetworkAclEntryInput{}
  4735. }
  4736. output = &CreateNetworkAclEntryOutput{}
  4737. req = c.newRequest(op, input, output)
  4738. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4739. return
  4740. }
  4741. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  4742. //
  4743. // Creates an entry (a rule) in a network ACL with the specified rule number.
  4744. // Each network ACL has a set of numbered ingress rules and a separate set of
  4745. // numbered egress rules. When determining whether a packet should be allowed
  4746. // in or out of a subnet associated with the ACL, we process the entries in
  4747. // the ACL according to the rule numbers, in ascending order. Each network ACL
  4748. // has a set of ingress rules and a separate set of egress rules.
  4749. //
  4750. // We recommend that you leave room between the rule numbers (for example, 100,
  4751. // 110, 120, ...), and not number them one right after the other (for example,
  4752. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  4753. // ones without having to renumber the rules.
  4754. //
  4755. // After you add an entry, you can't modify it; you must either replace it,
  4756. // or create an entry and delete the old one.
  4757. //
  4758. // For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
  4759. // in the Amazon Virtual Private Cloud User Guide.
  4760. //
  4761. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4762. // with awserr.Error's Code and Message methods to get detailed information about
  4763. // the error.
  4764. //
  4765. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4766. // API operation CreateNetworkAclEntry for usage and error information.
  4767. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  4768. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  4769. req, out := c.CreateNetworkAclEntryRequest(input)
  4770. return out, req.Send()
  4771. }
  4772. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  4773. // the ability to pass a context and additional request options.
  4774. //
  4775. // See CreateNetworkAclEntry for details on how to use this API operation.
  4776. //
  4777. // The context must be non-nil and will be used for request cancellation. If
  4778. // the context is nil a panic will occur. In the future the SDK may create
  4779. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4780. // for more information on using Contexts.
  4781. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  4782. req, out := c.CreateNetworkAclEntryRequest(input)
  4783. req.SetContext(ctx)
  4784. req.ApplyOptions(opts...)
  4785. return out, req.Send()
  4786. }
  4787. const opCreateNetworkInterface = "CreateNetworkInterface"
  4788. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  4789. // client's request for the CreateNetworkInterface operation. The "output" return
  4790. // value will be populated with the request's response once the request completes
  4791. // successfully.
  4792. //
  4793. // Use "Send" method on the returned Request to send the API call to the service.
  4794. // the "output" return value is not valid until after Send returns without error.
  4795. //
  4796. // See CreateNetworkInterface for more information on using the CreateNetworkInterface
  4797. // API call, and error handling.
  4798. //
  4799. // This method is useful when you want to inject custom logic or configuration
  4800. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4801. //
  4802. //
  4803. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  4804. // req, resp := client.CreateNetworkInterfaceRequest(params)
  4805. //
  4806. // err := req.Send()
  4807. // if err == nil { // resp is now filled
  4808. // fmt.Println(resp)
  4809. // }
  4810. //
  4811. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  4812. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  4813. op := &request.Operation{
  4814. Name: opCreateNetworkInterface,
  4815. HTTPMethod: "POST",
  4816. HTTPPath: "/",
  4817. }
  4818. if input == nil {
  4819. input = &CreateNetworkInterfaceInput{}
  4820. }
  4821. output = &CreateNetworkInterfaceOutput{}
  4822. req = c.newRequest(op, input, output)
  4823. return
  4824. }
  4825. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  4826. //
  4827. // Creates a network interface in the specified subnet.
  4828. //
  4829. // For more information about network interfaces, see Elastic Network Interfaces
  4830. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  4831. // Amazon Virtual Private Cloud User Guide.
  4832. //
  4833. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4834. // with awserr.Error's Code and Message methods to get detailed information about
  4835. // the error.
  4836. //
  4837. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4838. // API operation CreateNetworkInterface for usage and error information.
  4839. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  4840. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  4841. req, out := c.CreateNetworkInterfaceRequest(input)
  4842. return out, req.Send()
  4843. }
  4844. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  4845. // the ability to pass a context and additional request options.
  4846. //
  4847. // See CreateNetworkInterface for details on how to use this API operation.
  4848. //
  4849. // The context must be non-nil and will be used for request cancellation. If
  4850. // the context is nil a panic will occur. In the future the SDK may create
  4851. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4852. // for more information on using Contexts.
  4853. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  4854. req, out := c.CreateNetworkInterfaceRequest(input)
  4855. req.SetContext(ctx)
  4856. req.ApplyOptions(opts...)
  4857. return out, req.Send()
  4858. }
  4859. const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
  4860. // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  4861. // client's request for the CreateNetworkInterfacePermission operation. The "output" return
  4862. // value will be populated with the request's response once the request completes
  4863. // successfully.
  4864. //
  4865. // Use "Send" method on the returned Request to send the API call to the service.
  4866. // the "output" return value is not valid until after Send returns without error.
  4867. //
  4868. // See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
  4869. // API call, and error handling.
  4870. //
  4871. // This method is useful when you want to inject custom logic or configuration
  4872. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4873. //
  4874. //
  4875. // // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
  4876. // req, resp := client.CreateNetworkInterfacePermissionRequest(params)
  4877. //
  4878. // err := req.Send()
  4879. // if err == nil { // resp is now filled
  4880. // fmt.Println(resp)
  4881. // }
  4882. //
  4883. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  4884. func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
  4885. op := &request.Operation{
  4886. Name: opCreateNetworkInterfacePermission,
  4887. HTTPMethod: "POST",
  4888. HTTPPath: "/",
  4889. }
  4890. if input == nil {
  4891. input = &CreateNetworkInterfacePermissionInput{}
  4892. }
  4893. output = &CreateNetworkInterfacePermissionOutput{}
  4894. req = c.newRequest(op, input, output)
  4895. return
  4896. }
  4897. // CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  4898. //
  4899. // Grants an AWS-authorized account permission to attach the specified network
  4900. // interface to an instance in their account.
  4901. //
  4902. // You can grant permission to a single AWS account only, and only one account
  4903. // at a time.
  4904. //
  4905. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4906. // with awserr.Error's Code and Message methods to get detailed information about
  4907. // the error.
  4908. //
  4909. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4910. // API operation CreateNetworkInterfacePermission for usage and error information.
  4911. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  4912. func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
  4913. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  4914. return out, req.Send()
  4915. }
  4916. // CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
  4917. // the ability to pass a context and additional request options.
  4918. //
  4919. // See CreateNetworkInterfacePermission for details on how to use this API operation.
  4920. //
  4921. // The context must be non-nil and will be used for request cancellation. If
  4922. // the context is nil a panic will occur. In the future the SDK may create
  4923. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4924. // for more information on using Contexts.
  4925. func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
  4926. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  4927. req.SetContext(ctx)
  4928. req.ApplyOptions(opts...)
  4929. return out, req.Send()
  4930. }
  4931. const opCreatePlacementGroup = "CreatePlacementGroup"
  4932. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  4933. // client's request for the CreatePlacementGroup operation. The "output" return
  4934. // value will be populated with the request's response once the request completes
  4935. // successfully.
  4936. //
  4937. // Use "Send" method on the returned Request to send the API call to the service.
  4938. // the "output" return value is not valid until after Send returns without error.
  4939. //
  4940. // See CreatePlacementGroup for more information on using the CreatePlacementGroup
  4941. // API call, and error handling.
  4942. //
  4943. // This method is useful when you want to inject custom logic or configuration
  4944. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4945. //
  4946. //
  4947. // // Example sending a request using the CreatePlacementGroupRequest method.
  4948. // req, resp := client.CreatePlacementGroupRequest(params)
  4949. //
  4950. // err := req.Send()
  4951. // if err == nil { // resp is now filled
  4952. // fmt.Println(resp)
  4953. // }
  4954. //
  4955. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  4956. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  4957. op := &request.Operation{
  4958. Name: opCreatePlacementGroup,
  4959. HTTPMethod: "POST",
  4960. HTTPPath: "/",
  4961. }
  4962. if input == nil {
  4963. input = &CreatePlacementGroupInput{}
  4964. }
  4965. output = &CreatePlacementGroupOutput{}
  4966. req = c.newRequest(op, input, output)
  4967. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4968. return
  4969. }
  4970. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  4971. //
  4972. // Creates a placement group in which to launch instances. The strategy of the
  4973. // placement group determines how the instances are organized within the group.
  4974. //
  4975. // A cluster placement group is a logical grouping of instances within a single
  4976. // Availability Zone that benefit from low network latency, high network throughput.
  4977. // A spread placement group places instances on distinct hardware. A partition
  4978. // placement group places groups of instances in different partitions, where
  4979. // instances in one partition do not share the same hardware with instances
  4980. // in another partition.
  4981. //
  4982. // For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  4983. // in the Amazon Elastic Compute Cloud User Guide.
  4984. //
  4985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4986. // with awserr.Error's Code and Message methods to get detailed information about
  4987. // the error.
  4988. //
  4989. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4990. // API operation CreatePlacementGroup for usage and error information.
  4991. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  4992. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  4993. req, out := c.CreatePlacementGroupRequest(input)
  4994. return out, req.Send()
  4995. }
  4996. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  4997. // the ability to pass a context and additional request options.
  4998. //
  4999. // See CreatePlacementGroup for details on how to use this API operation.
  5000. //
  5001. // The context must be non-nil and will be used for request cancellation. If
  5002. // the context is nil a panic will occur. In the future the SDK may create
  5003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5004. // for more information on using Contexts.
  5005. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  5006. req, out := c.CreatePlacementGroupRequest(input)
  5007. req.SetContext(ctx)
  5008. req.ApplyOptions(opts...)
  5009. return out, req.Send()
  5010. }
  5011. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  5012. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  5013. // client's request for the CreateReservedInstancesListing operation. The "output" return
  5014. // value will be populated with the request's response once the request completes
  5015. // successfully.
  5016. //
  5017. // Use "Send" method on the returned Request to send the API call to the service.
  5018. // the "output" return value is not valid until after Send returns without error.
  5019. //
  5020. // See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
  5021. // API call, and error handling.
  5022. //
  5023. // This method is useful when you want to inject custom logic or configuration
  5024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5025. //
  5026. //
  5027. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  5028. // req, resp := client.CreateReservedInstancesListingRequest(params)
  5029. //
  5030. // err := req.Send()
  5031. // if err == nil { // resp is now filled
  5032. // fmt.Println(resp)
  5033. // }
  5034. //
  5035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  5036. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  5037. op := &request.Operation{
  5038. Name: opCreateReservedInstancesListing,
  5039. HTTPMethod: "POST",
  5040. HTTPPath: "/",
  5041. }
  5042. if input == nil {
  5043. input = &CreateReservedInstancesListingInput{}
  5044. }
  5045. output = &CreateReservedInstancesListingOutput{}
  5046. req = c.newRequest(op, input, output)
  5047. return
  5048. }
  5049. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  5050. //
  5051. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  5052. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  5053. // listing at a time. To get a list of your Standard Reserved Instances, you
  5054. // can use the DescribeReservedInstances operation.
  5055. //
  5056. // Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
  5057. // Convertible Reserved Instances cannot be sold.
  5058. //
  5059. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  5060. // Reserved Instance capacity that they no longer need with buyers who want
  5061. // to purchase additional capacity. Reserved Instances bought and sold through
  5062. // the Reserved Instance Marketplace work like any other Reserved Instances.
  5063. //
  5064. // To sell your Standard Reserved Instances, you must first register as a seller
  5065. // in the Reserved Instance Marketplace. After completing the registration process,
  5066. // you can create a Reserved Instance Marketplace listing of some or all of
  5067. // your Standard Reserved Instances, and specify the upfront price to receive
  5068. // for them. Your Standard Reserved Instance listings then become available
  5069. // for purchase. To view the details of your Standard Reserved Instance listing,
  5070. // you can use the DescribeReservedInstancesListings operation.
  5071. //
  5072. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  5073. // in the Amazon Elastic Compute Cloud User Guide.
  5074. //
  5075. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5076. // with awserr.Error's Code and Message methods to get detailed information about
  5077. // the error.
  5078. //
  5079. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5080. // API operation CreateReservedInstancesListing for usage and error information.
  5081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  5082. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  5083. req, out := c.CreateReservedInstancesListingRequest(input)
  5084. return out, req.Send()
  5085. }
  5086. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  5087. // the ability to pass a context and additional request options.
  5088. //
  5089. // See CreateReservedInstancesListing for details on how to use this API operation.
  5090. //
  5091. // The context must be non-nil and will be used for request cancellation. If
  5092. // the context is nil a panic will occur. In the future the SDK may create
  5093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5094. // for more information on using Contexts.
  5095. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  5096. req, out := c.CreateReservedInstancesListingRequest(input)
  5097. req.SetContext(ctx)
  5098. req.ApplyOptions(opts...)
  5099. return out, req.Send()
  5100. }
  5101. const opCreateRoute = "CreateRoute"
  5102. // CreateRouteRequest generates a "aws/request.Request" representing the
  5103. // client's request for the CreateRoute operation. The "output" return
  5104. // value will be populated with the request's response once the request completes
  5105. // successfully.
  5106. //
  5107. // Use "Send" method on the returned Request to send the API call to the service.
  5108. // the "output" return value is not valid until after Send returns without error.
  5109. //
  5110. // See CreateRoute for more information on using the CreateRoute
  5111. // API call, and error handling.
  5112. //
  5113. // This method is useful when you want to inject custom logic or configuration
  5114. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5115. //
  5116. //
  5117. // // Example sending a request using the CreateRouteRequest method.
  5118. // req, resp := client.CreateRouteRequest(params)
  5119. //
  5120. // err := req.Send()
  5121. // if err == nil { // resp is now filled
  5122. // fmt.Println(resp)
  5123. // }
  5124. //
  5125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  5126. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  5127. op := &request.Operation{
  5128. Name: opCreateRoute,
  5129. HTTPMethod: "POST",
  5130. HTTPPath: "/",
  5131. }
  5132. if input == nil {
  5133. input = &CreateRouteInput{}
  5134. }
  5135. output = &CreateRouteOutput{}
  5136. req = c.newRequest(op, input, output)
  5137. return
  5138. }
  5139. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  5140. //
  5141. // Creates a route in a route table within a VPC.
  5142. //
  5143. // You must specify one of the following targets: internet gateway or virtual
  5144. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  5145. // interface, egress-only internet gateway, or transit gateway.
  5146. //
  5147. // When determining how to route traffic, we use the route with the most specific
  5148. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  5149. // the route table includes the following two IPv4 routes:
  5150. //
  5151. // * 192.0.2.0/24 (goes to some target A)
  5152. //
  5153. // * 192.0.2.0/28 (goes to some target B)
  5154. //
  5155. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  5156. // route in the list covers a smaller number of IP addresses and is therefore
  5157. // more specific, so we use that route to determine where to target the traffic.
  5158. //
  5159. // For more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  5160. // in the Amazon Virtual Private Cloud User Guide.
  5161. //
  5162. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5163. // with awserr.Error's Code and Message methods to get detailed information about
  5164. // the error.
  5165. //
  5166. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5167. // API operation CreateRoute for usage and error information.
  5168. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  5169. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  5170. req, out := c.CreateRouteRequest(input)
  5171. return out, req.Send()
  5172. }
  5173. // CreateRouteWithContext is the same as CreateRoute with the addition of
  5174. // the ability to pass a context and additional request options.
  5175. //
  5176. // See CreateRoute for details on how to use this API operation.
  5177. //
  5178. // The context must be non-nil and will be used for request cancellation. If
  5179. // the context is nil a panic will occur. In the future the SDK may create
  5180. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5181. // for more information on using Contexts.
  5182. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  5183. req, out := c.CreateRouteRequest(input)
  5184. req.SetContext(ctx)
  5185. req.ApplyOptions(opts...)
  5186. return out, req.Send()
  5187. }
  5188. const opCreateRouteTable = "CreateRouteTable"
  5189. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  5190. // client's request for the CreateRouteTable operation. The "output" return
  5191. // value will be populated with the request's response once the request completes
  5192. // successfully.
  5193. //
  5194. // Use "Send" method on the returned Request to send the API call to the service.
  5195. // the "output" return value is not valid until after Send returns without error.
  5196. //
  5197. // See CreateRouteTable for more information on using the CreateRouteTable
  5198. // API call, and error handling.
  5199. //
  5200. // This method is useful when you want to inject custom logic or configuration
  5201. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5202. //
  5203. //
  5204. // // Example sending a request using the CreateRouteTableRequest method.
  5205. // req, resp := client.CreateRouteTableRequest(params)
  5206. //
  5207. // err := req.Send()
  5208. // if err == nil { // resp is now filled
  5209. // fmt.Println(resp)
  5210. // }
  5211. //
  5212. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  5213. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  5214. op := &request.Operation{
  5215. Name: opCreateRouteTable,
  5216. HTTPMethod: "POST",
  5217. HTTPPath: "/",
  5218. }
  5219. if input == nil {
  5220. input = &CreateRouteTableInput{}
  5221. }
  5222. output = &CreateRouteTableOutput{}
  5223. req = c.newRequest(op, input, output)
  5224. return
  5225. }
  5226. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  5227. //
  5228. // Creates a route table for the specified VPC. After you create a route table,
  5229. // you can add routes and associate the table with a subnet.
  5230. //
  5231. // For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  5232. // in the Amazon Virtual Private Cloud User Guide.
  5233. //
  5234. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5235. // with awserr.Error's Code and Message methods to get detailed information about
  5236. // the error.
  5237. //
  5238. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5239. // API operation CreateRouteTable for usage and error information.
  5240. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  5241. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  5242. req, out := c.CreateRouteTableRequest(input)
  5243. return out, req.Send()
  5244. }
  5245. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  5246. // the ability to pass a context and additional request options.
  5247. //
  5248. // See CreateRouteTable for details on how to use this API operation.
  5249. //
  5250. // The context must be non-nil and will be used for request cancellation. If
  5251. // the context is nil a panic will occur. In the future the SDK may create
  5252. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5253. // for more information on using Contexts.
  5254. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  5255. req, out := c.CreateRouteTableRequest(input)
  5256. req.SetContext(ctx)
  5257. req.ApplyOptions(opts...)
  5258. return out, req.Send()
  5259. }
  5260. const opCreateSecurityGroup = "CreateSecurityGroup"
  5261. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  5262. // client's request for the CreateSecurityGroup operation. The "output" return
  5263. // value will be populated with the request's response once the request completes
  5264. // successfully.
  5265. //
  5266. // Use "Send" method on the returned Request to send the API call to the service.
  5267. // the "output" return value is not valid until after Send returns without error.
  5268. //
  5269. // See CreateSecurityGroup for more information on using the CreateSecurityGroup
  5270. // API call, and error handling.
  5271. //
  5272. // This method is useful when you want to inject custom logic or configuration
  5273. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5274. //
  5275. //
  5276. // // Example sending a request using the CreateSecurityGroupRequest method.
  5277. // req, resp := client.CreateSecurityGroupRequest(params)
  5278. //
  5279. // err := req.Send()
  5280. // if err == nil { // resp is now filled
  5281. // fmt.Println(resp)
  5282. // }
  5283. //
  5284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  5285. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  5286. op := &request.Operation{
  5287. Name: opCreateSecurityGroup,
  5288. HTTPMethod: "POST",
  5289. HTTPPath: "/",
  5290. }
  5291. if input == nil {
  5292. input = &CreateSecurityGroupInput{}
  5293. }
  5294. output = &CreateSecurityGroupOutput{}
  5295. req = c.newRequest(op, input, output)
  5296. return
  5297. }
  5298. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  5299. //
  5300. // Creates a security group.
  5301. //
  5302. // A security group acts as a virtual firewall for your instance to control
  5303. // inbound and outbound traffic. For more information, see Amazon EC2 Security
  5304. // Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  5305. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  5306. // VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  5307. // in the Amazon Virtual Private Cloud User Guide.
  5308. //
  5309. // When you create a security group, you specify a friendly name of your choice.
  5310. // You can have a security group for use in EC2-Classic with the same name as
  5311. // a security group for use in a VPC. However, you can't have two security groups
  5312. // for use in EC2-Classic with the same name or two security groups for use
  5313. // in a VPC with the same name.
  5314. //
  5315. // You have a default security group for use in EC2-Classic and a default security
  5316. // group for use in your VPC. If you don't specify a security group when you
  5317. // launch an instance, the instance is launched into the appropriate default
  5318. // security group. A default security group includes a default rule that grants
  5319. // instances unrestricted network access to each other.
  5320. //
  5321. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  5322. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  5323. //
  5324. // For more information about VPC security group limits, see Amazon VPC Limits
  5325. // (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
  5326. //
  5327. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5328. // with awserr.Error's Code and Message methods to get detailed information about
  5329. // the error.
  5330. //
  5331. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5332. // API operation CreateSecurityGroup for usage and error information.
  5333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  5334. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  5335. req, out := c.CreateSecurityGroupRequest(input)
  5336. return out, req.Send()
  5337. }
  5338. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  5339. // the ability to pass a context and additional request options.
  5340. //
  5341. // See CreateSecurityGroup for details on how to use this API operation.
  5342. //
  5343. // The context must be non-nil and will be used for request cancellation. If
  5344. // the context is nil a panic will occur. In the future the SDK may create
  5345. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5346. // for more information on using Contexts.
  5347. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  5348. req, out := c.CreateSecurityGroupRequest(input)
  5349. req.SetContext(ctx)
  5350. req.ApplyOptions(opts...)
  5351. return out, req.Send()
  5352. }
  5353. const opCreateSnapshot = "CreateSnapshot"
  5354. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  5355. // client's request for the CreateSnapshot operation. The "output" return
  5356. // value will be populated with the request's response once the request completes
  5357. // successfully.
  5358. //
  5359. // Use "Send" method on the returned Request to send the API call to the service.
  5360. // the "output" return value is not valid until after Send returns without error.
  5361. //
  5362. // See CreateSnapshot for more information on using the CreateSnapshot
  5363. // API call, and error handling.
  5364. //
  5365. // This method is useful when you want to inject custom logic or configuration
  5366. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5367. //
  5368. //
  5369. // // Example sending a request using the CreateSnapshotRequest method.
  5370. // req, resp := client.CreateSnapshotRequest(params)
  5371. //
  5372. // err := req.Send()
  5373. // if err == nil { // resp is now filled
  5374. // fmt.Println(resp)
  5375. // }
  5376. //
  5377. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  5378. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  5379. op := &request.Operation{
  5380. Name: opCreateSnapshot,
  5381. HTTPMethod: "POST",
  5382. HTTPPath: "/",
  5383. }
  5384. if input == nil {
  5385. input = &CreateSnapshotInput{}
  5386. }
  5387. output = &Snapshot{}
  5388. req = c.newRequest(op, input, output)
  5389. return
  5390. }
  5391. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  5392. //
  5393. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  5394. // snapshots for backups, to make copies of EBS volumes, and to save data before
  5395. // shutting down an instance.
  5396. //
  5397. // When a snapshot is created, any AWS Marketplace product codes that are associated
  5398. // with the source volume are propagated to the snapshot.
  5399. //
  5400. // You can take a snapshot of an attached volume that is in use. However, snapshots
  5401. // only capture data that has been written to your EBS volume at the time the
  5402. // snapshot command is issued; this may exclude any data that has been cached
  5403. // by any applications or the operating system. If you can pause any file systems
  5404. // on the volume long enough to take a snapshot, your snapshot should be complete.
  5405. // However, if you cannot pause all file writes to the volume, you should unmount
  5406. // the volume from within the instance, issue the snapshot command, and then
  5407. // remount the volume to ensure a consistent and complete snapshot. You may
  5408. // remount and use your volume while the snapshot status is pending.
  5409. //
  5410. // To create a snapshot for EBS volumes that serve as root devices, you should
  5411. // stop the instance before taking the snapshot.
  5412. //
  5413. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  5414. // Volumes that are created from encrypted snapshots are also automatically
  5415. // encrypted. Your encrypted volumes and any associated snapshots always remain
  5416. // protected.
  5417. //
  5418. // You can tag your snapshots during creation. For more information, see Tagging
  5419. // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5420. // in the Amazon Elastic Compute Cloud User Guide.
  5421. //
  5422. // For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  5423. // and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  5424. // in the Amazon Elastic Compute Cloud User Guide.
  5425. //
  5426. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5427. // with awserr.Error's Code and Message methods to get detailed information about
  5428. // the error.
  5429. //
  5430. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5431. // API operation CreateSnapshot for usage and error information.
  5432. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  5433. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  5434. req, out := c.CreateSnapshotRequest(input)
  5435. return out, req.Send()
  5436. }
  5437. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  5438. // the ability to pass a context and additional request options.
  5439. //
  5440. // See CreateSnapshot for details on how to use this API operation.
  5441. //
  5442. // The context must be non-nil and will be used for request cancellation. If
  5443. // the context is nil a panic will occur. In the future the SDK may create
  5444. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5445. // for more information on using Contexts.
  5446. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  5447. req, out := c.CreateSnapshotRequest(input)
  5448. req.SetContext(ctx)
  5449. req.ApplyOptions(opts...)
  5450. return out, req.Send()
  5451. }
  5452. const opCreateSnapshots = "CreateSnapshots"
  5453. // CreateSnapshotsRequest generates a "aws/request.Request" representing the
  5454. // client's request for the CreateSnapshots operation. The "output" return
  5455. // value will be populated with the request's response once the request completes
  5456. // successfully.
  5457. //
  5458. // Use "Send" method on the returned Request to send the API call to the service.
  5459. // the "output" return value is not valid until after Send returns without error.
  5460. //
  5461. // See CreateSnapshots for more information on using the CreateSnapshots
  5462. // API call, and error handling.
  5463. //
  5464. // This method is useful when you want to inject custom logic or configuration
  5465. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5466. //
  5467. //
  5468. // // Example sending a request using the CreateSnapshotsRequest method.
  5469. // req, resp := client.CreateSnapshotsRequest(params)
  5470. //
  5471. // err := req.Send()
  5472. // if err == nil { // resp is now filled
  5473. // fmt.Println(resp)
  5474. // }
  5475. //
  5476. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
  5477. func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) {
  5478. op := &request.Operation{
  5479. Name: opCreateSnapshots,
  5480. HTTPMethod: "POST",
  5481. HTTPPath: "/",
  5482. }
  5483. if input == nil {
  5484. input = &CreateSnapshotsInput{}
  5485. }
  5486. output = &CreateSnapshotsOutput{}
  5487. req = c.newRequest(op, input, output)
  5488. return
  5489. }
  5490. // CreateSnapshots API operation for Amazon Elastic Compute Cloud.
  5491. //
  5492. // Creates crash-consistent snapshots of multiple EBS volumes and stores the
  5493. // data in S3. Volumes are chosen by specifying an instance. Any attached volumes
  5494. // will produce one snapshot each that is crash-consistent across the instance.
  5495. // Boot volumes can be excluded by changing the parameters.
  5496. //
  5497. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5498. // with awserr.Error's Code and Message methods to get detailed information about
  5499. // the error.
  5500. //
  5501. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5502. // API operation CreateSnapshots for usage and error information.
  5503. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
  5504. func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) {
  5505. req, out := c.CreateSnapshotsRequest(input)
  5506. return out, req.Send()
  5507. }
  5508. // CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of
  5509. // the ability to pass a context and additional request options.
  5510. //
  5511. // See CreateSnapshots for details on how to use this API operation.
  5512. //
  5513. // The context must be non-nil and will be used for request cancellation. If
  5514. // the context is nil a panic will occur. In the future the SDK may create
  5515. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5516. // for more information on using Contexts.
  5517. func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) {
  5518. req, out := c.CreateSnapshotsRequest(input)
  5519. req.SetContext(ctx)
  5520. req.ApplyOptions(opts...)
  5521. return out, req.Send()
  5522. }
  5523. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  5524. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  5525. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  5526. // value will be populated with the request's response once the request completes
  5527. // successfully.
  5528. //
  5529. // Use "Send" method on the returned Request to send the API call to the service.
  5530. // the "output" return value is not valid until after Send returns without error.
  5531. //
  5532. // See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
  5533. // API call, and error handling.
  5534. //
  5535. // This method is useful when you want to inject custom logic or configuration
  5536. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5537. //
  5538. //
  5539. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  5540. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  5541. //
  5542. // err := req.Send()
  5543. // if err == nil { // resp is now filled
  5544. // fmt.Println(resp)
  5545. // }
  5546. //
  5547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  5548. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  5549. op := &request.Operation{
  5550. Name: opCreateSpotDatafeedSubscription,
  5551. HTTPMethod: "POST",
  5552. HTTPPath: "/",
  5553. }
  5554. if input == nil {
  5555. input = &CreateSpotDatafeedSubscriptionInput{}
  5556. }
  5557. output = &CreateSpotDatafeedSubscriptionOutput{}
  5558. req = c.newRequest(op, input, output)
  5559. return
  5560. }
  5561. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  5562. //
  5563. // Creates a data feed for Spot Instances, enabling you to view Spot Instance
  5564. // usage logs. You can create one data feed per AWS account. For more information,
  5565. // see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  5566. // in the Amazon EC2 User Guide for Linux Instances.
  5567. //
  5568. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5569. // with awserr.Error's Code and Message methods to get detailed information about
  5570. // the error.
  5571. //
  5572. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5573. // API operation CreateSpotDatafeedSubscription for usage and error information.
  5574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  5575. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  5576. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  5577. return out, req.Send()
  5578. }
  5579. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  5580. // the ability to pass a context and additional request options.
  5581. //
  5582. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  5583. //
  5584. // The context must be non-nil and will be used for request cancellation. If
  5585. // the context is nil a panic will occur. In the future the SDK may create
  5586. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5587. // for more information on using Contexts.
  5588. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  5589. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  5590. req.SetContext(ctx)
  5591. req.ApplyOptions(opts...)
  5592. return out, req.Send()
  5593. }
  5594. const opCreateSubnet = "CreateSubnet"
  5595. // CreateSubnetRequest generates a "aws/request.Request" representing the
  5596. // client's request for the CreateSubnet operation. The "output" return
  5597. // value will be populated with the request's response once the request completes
  5598. // successfully.
  5599. //
  5600. // Use "Send" method on the returned Request to send the API call to the service.
  5601. // the "output" return value is not valid until after Send returns without error.
  5602. //
  5603. // See CreateSubnet for more information on using the CreateSubnet
  5604. // API call, and error handling.
  5605. //
  5606. // This method is useful when you want to inject custom logic or configuration
  5607. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5608. //
  5609. //
  5610. // // Example sending a request using the CreateSubnetRequest method.
  5611. // req, resp := client.CreateSubnetRequest(params)
  5612. //
  5613. // err := req.Send()
  5614. // if err == nil { // resp is now filled
  5615. // fmt.Println(resp)
  5616. // }
  5617. //
  5618. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  5619. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  5620. op := &request.Operation{
  5621. Name: opCreateSubnet,
  5622. HTTPMethod: "POST",
  5623. HTTPPath: "/",
  5624. }
  5625. if input == nil {
  5626. input = &CreateSubnetInput{}
  5627. }
  5628. output = &CreateSubnetOutput{}
  5629. req = c.newRequest(op, input, output)
  5630. return
  5631. }
  5632. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  5633. //
  5634. // Creates a subnet in an existing VPC.
  5635. //
  5636. // When you create each subnet, you provide the VPC ID and IPv4 CIDR block for
  5637. // the subnet. After you create a subnet, you can't change its CIDR block. The
  5638. // size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR
  5639. // block, or a subset of a VPC's IPv4 CIDR block. If you create more than one
  5640. // subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest
  5641. // IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses),
  5642. // and the largest uses a /16 netmask (65,536 IPv4 addresses).
  5643. //
  5644. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  5645. // with an IPv6 CIDR block that uses a /64 prefix length.
  5646. //
  5647. // AWS reserves both the first four and the last IPv4 address in each subnet's
  5648. // CIDR block. They're not available for use.
  5649. //
  5650. // If you add more than one subnet to a VPC, they're set up in a star topology
  5651. // with a logical router in the middle.
  5652. //
  5653. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  5654. // address doesn't change if you stop and restart the instance (unlike a similar
  5655. // instance launched outside a VPC, which gets a new IP address when restarted).
  5656. // It's therefore possible to have a subnet with no running instances (they're
  5657. // all stopped), but no remaining IP addresses available.
  5658. //
  5659. // For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
  5660. // in the Amazon Virtual Private Cloud User Guide.
  5661. //
  5662. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5663. // with awserr.Error's Code and Message methods to get detailed information about
  5664. // the error.
  5665. //
  5666. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5667. // API operation CreateSubnet for usage and error information.
  5668. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  5669. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  5670. req, out := c.CreateSubnetRequest(input)
  5671. return out, req.Send()
  5672. }
  5673. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  5674. // the ability to pass a context and additional request options.
  5675. //
  5676. // See CreateSubnet for details on how to use this API operation.
  5677. //
  5678. // The context must be non-nil and will be used for request cancellation. If
  5679. // the context is nil a panic will occur. In the future the SDK may create
  5680. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5681. // for more information on using Contexts.
  5682. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  5683. req, out := c.CreateSubnetRequest(input)
  5684. req.SetContext(ctx)
  5685. req.ApplyOptions(opts...)
  5686. return out, req.Send()
  5687. }
  5688. const opCreateTags = "CreateTags"
  5689. // CreateTagsRequest generates a "aws/request.Request" representing the
  5690. // client's request for the CreateTags operation. The "output" return
  5691. // value will be populated with the request's response once the request completes
  5692. // successfully.
  5693. //
  5694. // Use "Send" method on the returned Request to send the API call to the service.
  5695. // the "output" return value is not valid until after Send returns without error.
  5696. //
  5697. // See CreateTags for more information on using the CreateTags
  5698. // API call, and error handling.
  5699. //
  5700. // This method is useful when you want to inject custom logic or configuration
  5701. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5702. //
  5703. //
  5704. // // Example sending a request using the CreateTagsRequest method.
  5705. // req, resp := client.CreateTagsRequest(params)
  5706. //
  5707. // err := req.Send()
  5708. // if err == nil { // resp is now filled
  5709. // fmt.Println(resp)
  5710. // }
  5711. //
  5712. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  5713. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  5714. op := &request.Operation{
  5715. Name: opCreateTags,
  5716. HTTPMethod: "POST",
  5717. HTTPPath: "/",
  5718. }
  5719. if input == nil {
  5720. input = &CreateTagsInput{}
  5721. }
  5722. output = &CreateTagsOutput{}
  5723. req = c.newRequest(op, input, output)
  5724. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5725. return
  5726. }
  5727. // CreateTags API operation for Amazon Elastic Compute Cloud.
  5728. //
  5729. // Adds or overwrites the specified tags for the specified Amazon EC2 resource
  5730. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  5731. // of a key and optional value. Tag keys must be unique per resource.
  5732. //
  5733. // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5734. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  5735. // creating IAM policies that control users' access to resources based on tags,
  5736. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  5737. // in the Amazon Elastic Compute Cloud User Guide.
  5738. //
  5739. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5740. // with awserr.Error's Code and Message methods to get detailed information about
  5741. // the error.
  5742. //
  5743. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5744. // API operation CreateTags for usage and error information.
  5745. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  5746. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  5747. req, out := c.CreateTagsRequest(input)
  5748. return out, req.Send()
  5749. }
  5750. // CreateTagsWithContext is the same as CreateTags with the addition of
  5751. // the ability to pass a context and additional request options.
  5752. //
  5753. // See CreateTags for details on how to use this API operation.
  5754. //
  5755. // The context must be non-nil and will be used for request cancellation. If
  5756. // the context is nil a panic will occur. In the future the SDK may create
  5757. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5758. // for more information on using Contexts.
  5759. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  5760. req, out := c.CreateTagsRequest(input)
  5761. req.SetContext(ctx)
  5762. req.ApplyOptions(opts...)
  5763. return out, req.Send()
  5764. }
  5765. const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter"
  5766. // CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
  5767. // client's request for the CreateTrafficMirrorFilter operation. The "output" return
  5768. // value will be populated with the request's response once the request completes
  5769. // successfully.
  5770. //
  5771. // Use "Send" method on the returned Request to send the API call to the service.
  5772. // the "output" return value is not valid until after Send returns without error.
  5773. //
  5774. // See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter
  5775. // API call, and error handling.
  5776. //
  5777. // This method is useful when you want to inject custom logic or configuration
  5778. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5779. //
  5780. //
  5781. // // Example sending a request using the CreateTrafficMirrorFilterRequest method.
  5782. // req, resp := client.CreateTrafficMirrorFilterRequest(params)
  5783. //
  5784. // err := req.Send()
  5785. // if err == nil { // resp is now filled
  5786. // fmt.Println(resp)
  5787. // }
  5788. //
  5789. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
  5790. func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) {
  5791. op := &request.Operation{
  5792. Name: opCreateTrafficMirrorFilter,
  5793. HTTPMethod: "POST",
  5794. HTTPPath: "/",
  5795. }
  5796. if input == nil {
  5797. input = &CreateTrafficMirrorFilterInput{}
  5798. }
  5799. output = &CreateTrafficMirrorFilterOutput{}
  5800. req = c.newRequest(op, input, output)
  5801. return
  5802. }
  5803. // CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
  5804. //
  5805. // Creates a Traffic Mirror filter.
  5806. //
  5807. // A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
  5808. //
  5809. // By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule
  5810. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm)
  5811. // to add Traffic Mirror rules to the filter. The rules you add define what
  5812. // traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices
  5813. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html)
  5814. // to mirror supported network services.
  5815. //
  5816. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5817. // with awserr.Error's Code and Message methods to get detailed information about
  5818. // the error.
  5819. //
  5820. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5821. // API operation CreateTrafficMirrorFilter for usage and error information.
  5822. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
  5823. func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) {
  5824. req, out := c.CreateTrafficMirrorFilterRequest(input)
  5825. return out, req.Send()
  5826. }
  5827. // CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of
  5828. // the ability to pass a context and additional request options.
  5829. //
  5830. // See CreateTrafficMirrorFilter for details on how to use this API operation.
  5831. //
  5832. // The context must be non-nil and will be used for request cancellation. If
  5833. // the context is nil a panic will occur. In the future the SDK may create
  5834. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5835. // for more information on using Contexts.
  5836. func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) {
  5837. req, out := c.CreateTrafficMirrorFilterRequest(input)
  5838. req.SetContext(ctx)
  5839. req.ApplyOptions(opts...)
  5840. return out, req.Send()
  5841. }
  5842. const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule"
  5843. // CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
  5844. // client's request for the CreateTrafficMirrorFilterRule operation. The "output" return
  5845. // value will be populated with the request's response once the request completes
  5846. // successfully.
  5847. //
  5848. // Use "Send" method on the returned Request to send the API call to the service.
  5849. // the "output" return value is not valid until after Send returns without error.
  5850. //
  5851. // See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule
  5852. // API call, and error handling.
  5853. //
  5854. // This method is useful when you want to inject custom logic or configuration
  5855. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5856. //
  5857. //
  5858. // // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method.
  5859. // req, resp := client.CreateTrafficMirrorFilterRuleRequest(params)
  5860. //
  5861. // err := req.Send()
  5862. // if err == nil { // resp is now filled
  5863. // fmt.Println(resp)
  5864. // }
  5865. //
  5866. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
  5867. func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) {
  5868. op := &request.Operation{
  5869. Name: opCreateTrafficMirrorFilterRule,
  5870. HTTPMethod: "POST",
  5871. HTTPPath: "/",
  5872. }
  5873. if input == nil {
  5874. input = &CreateTrafficMirrorFilterRuleInput{}
  5875. }
  5876. output = &CreateTrafficMirrorFilterRuleOutput{}
  5877. req = c.newRequest(op, input, output)
  5878. return
  5879. }
  5880. // CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
  5881. //
  5882. // Creates a Traffic Mirror filter rule.
  5883. //
  5884. // A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
  5885. //
  5886. // You need the Traffic Mirror filter ID when you create the rule.
  5887. //
  5888. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5889. // with awserr.Error's Code and Message methods to get detailed information about
  5890. // the error.
  5891. //
  5892. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5893. // API operation CreateTrafficMirrorFilterRule for usage and error information.
  5894. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
  5895. func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) {
  5896. req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
  5897. return out, req.Send()
  5898. }
  5899. // CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of
  5900. // the ability to pass a context and additional request options.
  5901. //
  5902. // See CreateTrafficMirrorFilterRule for details on how to use this API operation.
  5903. //
  5904. // The context must be non-nil and will be used for request cancellation. If
  5905. // the context is nil a panic will occur. In the future the SDK may create
  5906. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5907. // for more information on using Contexts.
  5908. func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) {
  5909. req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
  5910. req.SetContext(ctx)
  5911. req.ApplyOptions(opts...)
  5912. return out, req.Send()
  5913. }
  5914. const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession"
  5915. // CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
  5916. // client's request for the CreateTrafficMirrorSession operation. The "output" return
  5917. // value will be populated with the request's response once the request completes
  5918. // successfully.
  5919. //
  5920. // Use "Send" method on the returned Request to send the API call to the service.
  5921. // the "output" return value is not valid until after Send returns without error.
  5922. //
  5923. // See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession
  5924. // API call, and error handling.
  5925. //
  5926. // This method is useful when you want to inject custom logic or configuration
  5927. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5928. //
  5929. //
  5930. // // Example sending a request using the CreateTrafficMirrorSessionRequest method.
  5931. // req, resp := client.CreateTrafficMirrorSessionRequest(params)
  5932. //
  5933. // err := req.Send()
  5934. // if err == nil { // resp is now filled
  5935. // fmt.Println(resp)
  5936. // }
  5937. //
  5938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
  5939. func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) {
  5940. op := &request.Operation{
  5941. Name: opCreateTrafficMirrorSession,
  5942. HTTPMethod: "POST",
  5943. HTTPPath: "/",
  5944. }
  5945. if input == nil {
  5946. input = &CreateTrafficMirrorSessionInput{}
  5947. }
  5948. output = &CreateTrafficMirrorSessionOutput{}
  5949. req = c.newRequest(op, input, output)
  5950. return
  5951. }
  5952. // CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
  5953. //
  5954. // Creates a Traffic Mirror session.
  5955. //
  5956. // A Traffic Mirror session actively copies packets from a Traffic Mirror source
  5957. // to a Traffic Mirror target. Create a filter, and then assign it to the session
  5958. // to define a subset of the traffic to mirror, for example all TCP traffic.
  5959. //
  5960. // The Traffic Mirror source and the Traffic Mirror target (monitoring appliances)
  5961. // can be in the same VPC, or in a different VPC connected via VPC peering or
  5962. // a transit gateway.
  5963. //
  5964. // By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm)
  5965. // to create filter rules that specify the traffic to mirror.
  5966. //
  5967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5968. // with awserr.Error's Code and Message methods to get detailed information about
  5969. // the error.
  5970. //
  5971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5972. // API operation CreateTrafficMirrorSession for usage and error information.
  5973. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
  5974. func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) {
  5975. req, out := c.CreateTrafficMirrorSessionRequest(input)
  5976. return out, req.Send()
  5977. }
  5978. // CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of
  5979. // the ability to pass a context and additional request options.
  5980. //
  5981. // See CreateTrafficMirrorSession for details on how to use this API operation.
  5982. //
  5983. // The context must be non-nil and will be used for request cancellation. If
  5984. // the context is nil a panic will occur. In the future the SDK may create
  5985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5986. // for more information on using Contexts.
  5987. func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) {
  5988. req, out := c.CreateTrafficMirrorSessionRequest(input)
  5989. req.SetContext(ctx)
  5990. req.ApplyOptions(opts...)
  5991. return out, req.Send()
  5992. }
  5993. const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget"
  5994. // CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
  5995. // client's request for the CreateTrafficMirrorTarget operation. The "output" return
  5996. // value will be populated with the request's response once the request completes
  5997. // successfully.
  5998. //
  5999. // Use "Send" method on the returned Request to send the API call to the service.
  6000. // the "output" return value is not valid until after Send returns without error.
  6001. //
  6002. // See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget
  6003. // API call, and error handling.
  6004. //
  6005. // This method is useful when you want to inject custom logic or configuration
  6006. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6007. //
  6008. //
  6009. // // Example sending a request using the CreateTrafficMirrorTargetRequest method.
  6010. // req, resp := client.CreateTrafficMirrorTargetRequest(params)
  6011. //
  6012. // err := req.Send()
  6013. // if err == nil { // resp is now filled
  6014. // fmt.Println(resp)
  6015. // }
  6016. //
  6017. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
  6018. func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) {
  6019. op := &request.Operation{
  6020. Name: opCreateTrafficMirrorTarget,
  6021. HTTPMethod: "POST",
  6022. HTTPPath: "/",
  6023. }
  6024. if input == nil {
  6025. input = &CreateTrafficMirrorTargetInput{}
  6026. }
  6027. output = &CreateTrafficMirrorTargetOutput{}
  6028. req = c.newRequest(op, input, output)
  6029. return
  6030. }
  6031. // CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
  6032. //
  6033. // Creates a target for your Traffic Mirror session.
  6034. //
  6035. // A Traffic Mirror target is the destination for mirrored traffic. The Traffic
  6036. // Mirror source and the Traffic Mirror target (monitoring appliances) can be
  6037. // in the same VPC, or in different VPCs connected via VPC peering or a transit
  6038. // gateway.
  6039. //
  6040. // A Traffic Mirror target can be a network interface, or a Network Load Balancer.
  6041. //
  6042. // To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession
  6043. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm).
  6044. //
  6045. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6046. // with awserr.Error's Code and Message methods to get detailed information about
  6047. // the error.
  6048. //
  6049. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6050. // API operation CreateTrafficMirrorTarget for usage and error information.
  6051. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
  6052. func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) {
  6053. req, out := c.CreateTrafficMirrorTargetRequest(input)
  6054. return out, req.Send()
  6055. }
  6056. // CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of
  6057. // the ability to pass a context and additional request options.
  6058. //
  6059. // See CreateTrafficMirrorTarget for details on how to use this API operation.
  6060. //
  6061. // The context must be non-nil and will be used for request cancellation. If
  6062. // the context is nil a panic will occur. In the future the SDK may create
  6063. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6064. // for more information on using Contexts.
  6065. func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) {
  6066. req, out := c.CreateTrafficMirrorTargetRequest(input)
  6067. req.SetContext(ctx)
  6068. req.ApplyOptions(opts...)
  6069. return out, req.Send()
  6070. }
  6071. const opCreateTransitGateway = "CreateTransitGateway"
  6072. // CreateTransitGatewayRequest generates a "aws/request.Request" representing the
  6073. // client's request for the CreateTransitGateway operation. The "output" return
  6074. // value will be populated with the request's response once the request completes
  6075. // successfully.
  6076. //
  6077. // Use "Send" method on the returned Request to send the API call to the service.
  6078. // the "output" return value is not valid until after Send returns without error.
  6079. //
  6080. // See CreateTransitGateway for more information on using the CreateTransitGateway
  6081. // API call, and error handling.
  6082. //
  6083. // This method is useful when you want to inject custom logic or configuration
  6084. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6085. //
  6086. //
  6087. // // Example sending a request using the CreateTransitGatewayRequest method.
  6088. // req, resp := client.CreateTransitGatewayRequest(params)
  6089. //
  6090. // err := req.Send()
  6091. // if err == nil { // resp is now filled
  6092. // fmt.Println(resp)
  6093. // }
  6094. //
  6095. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
  6096. func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
  6097. op := &request.Operation{
  6098. Name: opCreateTransitGateway,
  6099. HTTPMethod: "POST",
  6100. HTTPPath: "/",
  6101. }
  6102. if input == nil {
  6103. input = &CreateTransitGatewayInput{}
  6104. }
  6105. output = &CreateTransitGatewayOutput{}
  6106. req = c.newRequest(op, input, output)
  6107. return
  6108. }
  6109. // CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
  6110. //
  6111. // Creates a transit gateway.
  6112. //
  6113. // You can use a transit gateway to interconnect your virtual private clouds
  6114. // (VPC) and on-premises networks. After the transit gateway enters the available
  6115. // state, you can attach your VPCs and VPN connections to the transit gateway.
  6116. //
  6117. // To attach your VPCs, use CreateTransitGatewayVpcAttachment.
  6118. //
  6119. // To attach a VPN connection, use CreateCustomerGateway to create a customer
  6120. // gateway and specify the ID of the customer gateway and the ID of the transit
  6121. // gateway in a call to CreateVpnConnection.
  6122. //
  6123. // When you create a transit gateway, we create a default transit gateway route
  6124. // table and use it as the default association route table and the default propagation
  6125. // route table. You can use CreateTransitGatewayRouteTable to create additional
  6126. // transit gateway route tables. If you disable automatic route propagation,
  6127. // we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
  6128. // to propagate routes from a resource attachment to a transit gateway route
  6129. // table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
  6130. // to associate a resource attachment with a transit gateway route table.
  6131. //
  6132. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6133. // with awserr.Error's Code and Message methods to get detailed information about
  6134. // the error.
  6135. //
  6136. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6137. // API operation CreateTransitGateway for usage and error information.
  6138. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
  6139. func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
  6140. req, out := c.CreateTransitGatewayRequest(input)
  6141. return out, req.Send()
  6142. }
  6143. // CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
  6144. // the ability to pass a context and additional request options.
  6145. //
  6146. // See CreateTransitGateway for details on how to use this API operation.
  6147. //
  6148. // The context must be non-nil and will be used for request cancellation. If
  6149. // the context is nil a panic will occur. In the future the SDK may create
  6150. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6151. // for more information on using Contexts.
  6152. func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
  6153. req, out := c.CreateTransitGatewayRequest(input)
  6154. req.SetContext(ctx)
  6155. req.ApplyOptions(opts...)
  6156. return out, req.Send()
  6157. }
  6158. const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
  6159. // CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
  6160. // client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
  6161. // value will be populated with the request's response once the request completes
  6162. // successfully.
  6163. //
  6164. // Use "Send" method on the returned Request to send the API call to the service.
  6165. // the "output" return value is not valid until after Send returns without error.
  6166. //
  6167. // See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
  6168. // API call, and error handling.
  6169. //
  6170. // This method is useful when you want to inject custom logic or configuration
  6171. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6172. //
  6173. //
  6174. // // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
  6175. // req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
  6176. //
  6177. // err := req.Send()
  6178. // if err == nil { // resp is now filled
  6179. // fmt.Println(resp)
  6180. // }
  6181. //
  6182. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
  6183. func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
  6184. op := &request.Operation{
  6185. Name: opCreateTransitGatewayMulticastDomain,
  6186. HTTPMethod: "POST",
  6187. HTTPPath: "/",
  6188. }
  6189. if input == nil {
  6190. input = &CreateTransitGatewayMulticastDomainInput{}
  6191. }
  6192. output = &CreateTransitGatewayMulticastDomainOutput{}
  6193. req = c.newRequest(op, input, output)
  6194. return
  6195. }
  6196. // CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
  6197. //
  6198. // Creates a multicast domain using the specified transit gateway.
  6199. //
  6200. // The transit gateway must be in the available state before you create a domain.
  6201. // Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
  6202. // to see the state of transit gateway.
  6203. //
  6204. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6205. // with awserr.Error's Code and Message methods to get detailed information about
  6206. // the error.
  6207. //
  6208. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6209. // API operation CreateTransitGatewayMulticastDomain for usage and error information.
  6210. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
  6211. func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
  6212. req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
  6213. return out, req.Send()
  6214. }
  6215. // CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
  6216. // the ability to pass a context and additional request options.
  6217. //
  6218. // See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
  6219. //
  6220. // The context must be non-nil and will be used for request cancellation. If
  6221. // the context is nil a panic will occur. In the future the SDK may create
  6222. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6223. // for more information on using Contexts.
  6224. func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
  6225. req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
  6226. req.SetContext(ctx)
  6227. req.ApplyOptions(opts...)
  6228. return out, req.Send()
  6229. }
  6230. const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
  6231. // CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
  6232. // client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
  6233. // value will be populated with the request's response once the request completes
  6234. // successfully.
  6235. //
  6236. // Use "Send" method on the returned Request to send the API call to the service.
  6237. // the "output" return value is not valid until after Send returns without error.
  6238. //
  6239. // See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
  6240. // API call, and error handling.
  6241. //
  6242. // This method is useful when you want to inject custom logic or configuration
  6243. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6244. //
  6245. //
  6246. // // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
  6247. // req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
  6248. //
  6249. // err := req.Send()
  6250. // if err == nil { // resp is now filled
  6251. // fmt.Println(resp)
  6252. // }
  6253. //
  6254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
  6255. func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
  6256. op := &request.Operation{
  6257. Name: opCreateTransitGatewayPeeringAttachment,
  6258. HTTPMethod: "POST",
  6259. HTTPPath: "/",
  6260. }
  6261. if input == nil {
  6262. input = &CreateTransitGatewayPeeringAttachmentInput{}
  6263. }
  6264. output = &CreateTransitGatewayPeeringAttachmentOutput{}
  6265. req = c.newRequest(op, input, output)
  6266. return
  6267. }
  6268. // CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
  6269. //
  6270. // Requests a transit gateway peering attachment between the specified transit
  6271. // gateway (requester) and a peer transit gateway (accepter). The transit gateways
  6272. // must be in different Regions. The peer transit gateway can be in your account
  6273. // or a different AWS account.
  6274. //
  6275. // After you create the peering attachment, the owner of the accepter transit
  6276. // gateway must accept the attachment request.
  6277. //
  6278. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6279. // with awserr.Error's Code and Message methods to get detailed information about
  6280. // the error.
  6281. //
  6282. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6283. // API operation CreateTransitGatewayPeeringAttachment for usage and error information.
  6284. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
  6285. func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
  6286. req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
  6287. return out, req.Send()
  6288. }
  6289. // CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
  6290. // the ability to pass a context and additional request options.
  6291. //
  6292. // See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
  6293. //
  6294. // The context must be non-nil and will be used for request cancellation. If
  6295. // the context is nil a panic will occur. In the future the SDK may create
  6296. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6297. // for more information on using Contexts.
  6298. func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
  6299. req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
  6300. req.SetContext(ctx)
  6301. req.ApplyOptions(opts...)
  6302. return out, req.Send()
  6303. }
  6304. const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
  6305. // CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  6306. // client's request for the CreateTransitGatewayRoute operation. The "output" return
  6307. // value will be populated with the request's response once the request completes
  6308. // successfully.
  6309. //
  6310. // Use "Send" method on the returned Request to send the API call to the service.
  6311. // the "output" return value is not valid until after Send returns without error.
  6312. //
  6313. // See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
  6314. // API call, and error handling.
  6315. //
  6316. // This method is useful when you want to inject custom logic or configuration
  6317. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6318. //
  6319. //
  6320. // // Example sending a request using the CreateTransitGatewayRouteRequest method.
  6321. // req, resp := client.CreateTransitGatewayRouteRequest(params)
  6322. //
  6323. // err := req.Send()
  6324. // if err == nil { // resp is now filled
  6325. // fmt.Println(resp)
  6326. // }
  6327. //
  6328. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
  6329. func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
  6330. op := &request.Operation{
  6331. Name: opCreateTransitGatewayRoute,
  6332. HTTPMethod: "POST",
  6333. HTTPPath: "/",
  6334. }
  6335. if input == nil {
  6336. input = &CreateTransitGatewayRouteInput{}
  6337. }
  6338. output = &CreateTransitGatewayRouteOutput{}
  6339. req = c.newRequest(op, input, output)
  6340. return
  6341. }
  6342. // CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  6343. //
  6344. // Creates a static route for the specified transit gateway route table.
  6345. //
  6346. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6347. // with awserr.Error's Code and Message methods to get detailed information about
  6348. // the error.
  6349. //
  6350. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6351. // API operation CreateTransitGatewayRoute for usage and error information.
  6352. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
  6353. func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
  6354. req, out := c.CreateTransitGatewayRouteRequest(input)
  6355. return out, req.Send()
  6356. }
  6357. // CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
  6358. // the ability to pass a context and additional request options.
  6359. //
  6360. // See CreateTransitGatewayRoute for details on how to use this API operation.
  6361. //
  6362. // The context must be non-nil and will be used for request cancellation. If
  6363. // the context is nil a panic will occur. In the future the SDK may create
  6364. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6365. // for more information on using Contexts.
  6366. func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
  6367. req, out := c.CreateTransitGatewayRouteRequest(input)
  6368. req.SetContext(ctx)
  6369. req.ApplyOptions(opts...)
  6370. return out, req.Send()
  6371. }
  6372. const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
  6373. // CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  6374. // client's request for the CreateTransitGatewayRouteTable operation. The "output" return
  6375. // value will be populated with the request's response once the request completes
  6376. // successfully.
  6377. //
  6378. // Use "Send" method on the returned Request to send the API call to the service.
  6379. // the "output" return value is not valid until after Send returns without error.
  6380. //
  6381. // See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
  6382. // API call, and error handling.
  6383. //
  6384. // This method is useful when you want to inject custom logic or configuration
  6385. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6386. //
  6387. //
  6388. // // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
  6389. // req, resp := client.CreateTransitGatewayRouteTableRequest(params)
  6390. //
  6391. // err := req.Send()
  6392. // if err == nil { // resp is now filled
  6393. // fmt.Println(resp)
  6394. // }
  6395. //
  6396. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
  6397. func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
  6398. op := &request.Operation{
  6399. Name: opCreateTransitGatewayRouteTable,
  6400. HTTPMethod: "POST",
  6401. HTTPPath: "/",
  6402. }
  6403. if input == nil {
  6404. input = &CreateTransitGatewayRouteTableInput{}
  6405. }
  6406. output = &CreateTransitGatewayRouteTableOutput{}
  6407. req = c.newRequest(op, input, output)
  6408. return
  6409. }
  6410. // CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  6411. //
  6412. // Creates a route table for the specified transit gateway.
  6413. //
  6414. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6415. // with awserr.Error's Code and Message methods to get detailed information about
  6416. // the error.
  6417. //
  6418. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6419. // API operation CreateTransitGatewayRouteTable for usage and error information.
  6420. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
  6421. func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
  6422. req, out := c.CreateTransitGatewayRouteTableRequest(input)
  6423. return out, req.Send()
  6424. }
  6425. // CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
  6426. // the ability to pass a context and additional request options.
  6427. //
  6428. // See CreateTransitGatewayRouteTable for details on how to use this API operation.
  6429. //
  6430. // The context must be non-nil and will be used for request cancellation. If
  6431. // the context is nil a panic will occur. In the future the SDK may create
  6432. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6433. // for more information on using Contexts.
  6434. func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
  6435. req, out := c.CreateTransitGatewayRouteTableRequest(input)
  6436. req.SetContext(ctx)
  6437. req.ApplyOptions(opts...)
  6438. return out, req.Send()
  6439. }
  6440. const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
  6441. // CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  6442. // client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
  6443. // value will be populated with the request's response once the request completes
  6444. // successfully.
  6445. //
  6446. // Use "Send" method on the returned Request to send the API call to the service.
  6447. // the "output" return value is not valid until after Send returns without error.
  6448. //
  6449. // See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
  6450. // API call, and error handling.
  6451. //
  6452. // This method is useful when you want to inject custom logic or configuration
  6453. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6454. //
  6455. //
  6456. // // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
  6457. // req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
  6458. //
  6459. // err := req.Send()
  6460. // if err == nil { // resp is now filled
  6461. // fmt.Println(resp)
  6462. // }
  6463. //
  6464. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
  6465. func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
  6466. op := &request.Operation{
  6467. Name: opCreateTransitGatewayVpcAttachment,
  6468. HTTPMethod: "POST",
  6469. HTTPPath: "/",
  6470. }
  6471. if input == nil {
  6472. input = &CreateTransitGatewayVpcAttachmentInput{}
  6473. }
  6474. output = &CreateTransitGatewayVpcAttachmentOutput{}
  6475. req = c.newRequest(op, input, output)
  6476. return
  6477. }
  6478. // CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  6479. //
  6480. // Attaches the specified VPC to the specified transit gateway.
  6481. //
  6482. // If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
  6483. // that is already attached, the new VPC CIDR range is not propagated to the
  6484. // default propagation route table.
  6485. //
  6486. // To send VPC traffic to an attached transit gateway, add a route to the VPC
  6487. // route table using CreateRoute.
  6488. //
  6489. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6490. // with awserr.Error's Code and Message methods to get detailed information about
  6491. // the error.
  6492. //
  6493. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6494. // API operation CreateTransitGatewayVpcAttachment for usage and error information.
  6495. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
  6496. func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
  6497. req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
  6498. return out, req.Send()
  6499. }
  6500. // CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
  6501. // the ability to pass a context and additional request options.
  6502. //
  6503. // See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
  6504. //
  6505. // The context must be non-nil and will be used for request cancellation. If
  6506. // the context is nil a panic will occur. In the future the SDK may create
  6507. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6508. // for more information on using Contexts.
  6509. func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
  6510. req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
  6511. req.SetContext(ctx)
  6512. req.ApplyOptions(opts...)
  6513. return out, req.Send()
  6514. }
  6515. const opCreateVolume = "CreateVolume"
  6516. // CreateVolumeRequest generates a "aws/request.Request" representing the
  6517. // client's request for the CreateVolume operation. The "output" return
  6518. // value will be populated with the request's response once the request completes
  6519. // successfully.
  6520. //
  6521. // Use "Send" method on the returned Request to send the API call to the service.
  6522. // the "output" return value is not valid until after Send returns without error.
  6523. //
  6524. // See CreateVolume for more information on using the CreateVolume
  6525. // API call, and error handling.
  6526. //
  6527. // This method is useful when you want to inject custom logic or configuration
  6528. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6529. //
  6530. //
  6531. // // Example sending a request using the CreateVolumeRequest method.
  6532. // req, resp := client.CreateVolumeRequest(params)
  6533. //
  6534. // err := req.Send()
  6535. // if err == nil { // resp is now filled
  6536. // fmt.Println(resp)
  6537. // }
  6538. //
  6539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  6540. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  6541. op := &request.Operation{
  6542. Name: opCreateVolume,
  6543. HTTPMethod: "POST",
  6544. HTTPPath: "/",
  6545. }
  6546. if input == nil {
  6547. input = &CreateVolumeInput{}
  6548. }
  6549. output = &Volume{}
  6550. req = c.newRequest(op, input, output)
  6551. return
  6552. }
  6553. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  6554. //
  6555. // Creates an EBS volume that can be attached to an instance in the same Availability
  6556. // Zone. The volume is created in the regional endpoint that you send the HTTP
  6557. // request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  6558. //
  6559. // You can create a new empty volume or restore a volume from an EBS snapshot.
  6560. // Any AWS Marketplace product codes from the snapshot are propagated to the
  6561. // volume.
  6562. //
  6563. // You can create encrypted volumes. Encrypted volumes must be attached to instances
  6564. // that support Amazon EBS encryption. Volumes that are created from encrypted
  6565. // snapshots are also automatically encrypted. For more information, see Amazon
  6566. // EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  6567. // in the Amazon Elastic Compute Cloud User Guide.
  6568. //
  6569. // You can tag your volumes during creation. For more information, see Tagging
  6570. // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  6571. // in the Amazon Elastic Compute Cloud User Guide.
  6572. //
  6573. // For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  6574. // in the Amazon Elastic Compute Cloud User Guide.
  6575. //
  6576. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6577. // with awserr.Error's Code and Message methods to get detailed information about
  6578. // the error.
  6579. //
  6580. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6581. // API operation CreateVolume for usage and error information.
  6582. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  6583. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  6584. req, out := c.CreateVolumeRequest(input)
  6585. return out, req.Send()
  6586. }
  6587. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  6588. // the ability to pass a context and additional request options.
  6589. //
  6590. // See CreateVolume for details on how to use this API operation.
  6591. //
  6592. // The context must be non-nil and will be used for request cancellation. If
  6593. // the context is nil a panic will occur. In the future the SDK may create
  6594. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6595. // for more information on using Contexts.
  6596. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  6597. req, out := c.CreateVolumeRequest(input)
  6598. req.SetContext(ctx)
  6599. req.ApplyOptions(opts...)
  6600. return out, req.Send()
  6601. }
  6602. const opCreateVpc = "CreateVpc"
  6603. // CreateVpcRequest generates a "aws/request.Request" representing the
  6604. // client's request for the CreateVpc operation. The "output" return
  6605. // value will be populated with the request's response once the request completes
  6606. // successfully.
  6607. //
  6608. // Use "Send" method on the returned Request to send the API call to the service.
  6609. // the "output" return value is not valid until after Send returns without error.
  6610. //
  6611. // See CreateVpc for more information on using the CreateVpc
  6612. // API call, and error handling.
  6613. //
  6614. // This method is useful when you want to inject custom logic or configuration
  6615. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6616. //
  6617. //
  6618. // // Example sending a request using the CreateVpcRequest method.
  6619. // req, resp := client.CreateVpcRequest(params)
  6620. //
  6621. // err := req.Send()
  6622. // if err == nil { // resp is now filled
  6623. // fmt.Println(resp)
  6624. // }
  6625. //
  6626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  6627. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  6628. op := &request.Operation{
  6629. Name: opCreateVpc,
  6630. HTTPMethod: "POST",
  6631. HTTPPath: "/",
  6632. }
  6633. if input == nil {
  6634. input = &CreateVpcInput{}
  6635. }
  6636. output = &CreateVpcOutput{}
  6637. req = c.newRequest(op, input, output)
  6638. return
  6639. }
  6640. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  6641. //
  6642. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  6643. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  6644. // netmask (65,536 IPv4 addresses). For more information about how large to
  6645. // make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
  6646. // in the Amazon Virtual Private Cloud User Guide.
  6647. //
  6648. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  6649. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  6650. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  6651. //
  6652. // By default, each instance you launch in the VPC has the default DHCP options,
  6653. // which include only a default DNS server that we provide (AmazonProvidedDNS).
  6654. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
  6655. // in the Amazon Virtual Private Cloud User Guide.
  6656. //
  6657. // You can specify the instance tenancy value for the VPC when you create it.
  6658. // You can't change this value for the VPC after you create it. For more information,
  6659. // see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  6660. // in the Amazon Elastic Compute Cloud User Guide.
  6661. //
  6662. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6663. // with awserr.Error's Code and Message methods to get detailed information about
  6664. // the error.
  6665. //
  6666. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6667. // API operation CreateVpc for usage and error information.
  6668. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  6669. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  6670. req, out := c.CreateVpcRequest(input)
  6671. return out, req.Send()
  6672. }
  6673. // CreateVpcWithContext is the same as CreateVpc with the addition of
  6674. // the ability to pass a context and additional request options.
  6675. //
  6676. // See CreateVpc for details on how to use this API operation.
  6677. //
  6678. // The context must be non-nil and will be used for request cancellation. If
  6679. // the context is nil a panic will occur. In the future the SDK may create
  6680. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6681. // for more information on using Contexts.
  6682. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  6683. req, out := c.CreateVpcRequest(input)
  6684. req.SetContext(ctx)
  6685. req.ApplyOptions(opts...)
  6686. return out, req.Send()
  6687. }
  6688. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  6689. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  6690. // client's request for the CreateVpcEndpoint operation. The "output" return
  6691. // value will be populated with the request's response once the request completes
  6692. // successfully.
  6693. //
  6694. // Use "Send" method on the returned Request to send the API call to the service.
  6695. // the "output" return value is not valid until after Send returns without error.
  6696. //
  6697. // See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
  6698. // API call, and error handling.
  6699. //
  6700. // This method is useful when you want to inject custom logic or configuration
  6701. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6702. //
  6703. //
  6704. // // Example sending a request using the CreateVpcEndpointRequest method.
  6705. // req, resp := client.CreateVpcEndpointRequest(params)
  6706. //
  6707. // err := req.Send()
  6708. // if err == nil { // resp is now filled
  6709. // fmt.Println(resp)
  6710. // }
  6711. //
  6712. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  6713. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  6714. op := &request.Operation{
  6715. Name: opCreateVpcEndpoint,
  6716. HTTPMethod: "POST",
  6717. HTTPPath: "/",
  6718. }
  6719. if input == nil {
  6720. input = &CreateVpcEndpointInput{}
  6721. }
  6722. output = &CreateVpcEndpointOutput{}
  6723. req = c.newRequest(op, input, output)
  6724. return
  6725. }
  6726. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  6727. //
  6728. // Creates a VPC endpoint for a specified service. An endpoint enables you to
  6729. // create a private connection between your VPC and the service. The service
  6730. // may be provided by AWS, an AWS Marketplace Partner, or another AWS account.
  6731. // For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
  6732. // in the Amazon Virtual Private Cloud User Guide.
  6733. //
  6734. // A gateway endpoint serves as a target for a route in your route table for
  6735. // traffic destined for the AWS service. You can specify an endpoint policy
  6736. // to attach to the endpoint, which will control access to the service from
  6737. // your VPC. You can also specify the VPC route tables that use the endpoint.
  6738. //
  6739. // An interface endpoint is a network interface in your subnet that serves as
  6740. // an endpoint for communicating with the specified service. You can specify
  6741. // the subnets in which to create an endpoint, and the security groups to associate
  6742. // with the endpoint network interface.
  6743. //
  6744. // Use DescribeVpcEndpointServices to get a list of supported services.
  6745. //
  6746. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6747. // with awserr.Error's Code and Message methods to get detailed information about
  6748. // the error.
  6749. //
  6750. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6751. // API operation CreateVpcEndpoint for usage and error information.
  6752. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  6753. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  6754. req, out := c.CreateVpcEndpointRequest(input)
  6755. return out, req.Send()
  6756. }
  6757. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  6758. // the ability to pass a context and additional request options.
  6759. //
  6760. // See CreateVpcEndpoint for details on how to use this API operation.
  6761. //
  6762. // The context must be non-nil and will be used for request cancellation. If
  6763. // the context is nil a panic will occur. In the future the SDK may create
  6764. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6765. // for more information on using Contexts.
  6766. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  6767. req, out := c.CreateVpcEndpointRequest(input)
  6768. req.SetContext(ctx)
  6769. req.ApplyOptions(opts...)
  6770. return out, req.Send()
  6771. }
  6772. const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
  6773. // CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  6774. // client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
  6775. // value will be populated with the request's response once the request completes
  6776. // successfully.
  6777. //
  6778. // Use "Send" method on the returned Request to send the API call to the service.
  6779. // the "output" return value is not valid until after Send returns without error.
  6780. //
  6781. // See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
  6782. // API call, and error handling.
  6783. //
  6784. // This method is useful when you want to inject custom logic or configuration
  6785. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6786. //
  6787. //
  6788. // // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
  6789. // req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
  6790. //
  6791. // err := req.Send()
  6792. // if err == nil { // resp is now filled
  6793. // fmt.Println(resp)
  6794. // }
  6795. //
  6796. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  6797. func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
  6798. op := &request.Operation{
  6799. Name: opCreateVpcEndpointConnectionNotification,
  6800. HTTPMethod: "POST",
  6801. HTTPPath: "/",
  6802. }
  6803. if input == nil {
  6804. input = &CreateVpcEndpointConnectionNotificationInput{}
  6805. }
  6806. output = &CreateVpcEndpointConnectionNotificationOutput{}
  6807. req = c.newRequest(op, input, output)
  6808. return
  6809. }
  6810. // CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  6811. //
  6812. // Creates a connection notification for a specified VPC endpoint or VPC endpoint
  6813. // service. A connection notification notifies you of specific endpoint events.
  6814. // You must create an SNS topic to receive notifications. For more information,
  6815. // see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
  6816. // in the Amazon Simple Notification Service Developer Guide.
  6817. //
  6818. // You can create a connection notification for interface endpoints only.
  6819. //
  6820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6821. // with awserr.Error's Code and Message methods to get detailed information about
  6822. // the error.
  6823. //
  6824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6825. // API operation CreateVpcEndpointConnectionNotification for usage and error information.
  6826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  6827. func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  6828. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  6829. return out, req.Send()
  6830. }
  6831. // CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
  6832. // the ability to pass a context and additional request options.
  6833. //
  6834. // See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
  6835. //
  6836. // The context must be non-nil and will be used for request cancellation. If
  6837. // the context is nil a panic will occur. In the future the SDK may create
  6838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6839. // for more information on using Contexts.
  6840. func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  6841. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  6842. req.SetContext(ctx)
  6843. req.ApplyOptions(opts...)
  6844. return out, req.Send()
  6845. }
  6846. const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
  6847. // CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  6848. // client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
  6849. // value will be populated with the request's response once the request completes
  6850. // successfully.
  6851. //
  6852. // Use "Send" method on the returned Request to send the API call to the service.
  6853. // the "output" return value is not valid until after Send returns without error.
  6854. //
  6855. // See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
  6856. // API call, and error handling.
  6857. //
  6858. // This method is useful when you want to inject custom logic or configuration
  6859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6860. //
  6861. //
  6862. // // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
  6863. // req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
  6864. //
  6865. // err := req.Send()
  6866. // if err == nil { // resp is now filled
  6867. // fmt.Println(resp)
  6868. // }
  6869. //
  6870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  6871. func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
  6872. op := &request.Operation{
  6873. Name: opCreateVpcEndpointServiceConfiguration,
  6874. HTTPMethod: "POST",
  6875. HTTPPath: "/",
  6876. }
  6877. if input == nil {
  6878. input = &CreateVpcEndpointServiceConfigurationInput{}
  6879. }
  6880. output = &CreateVpcEndpointServiceConfigurationOutput{}
  6881. req = c.newRequest(op, input, output)
  6882. return
  6883. }
  6884. // CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  6885. //
  6886. // Creates a VPC endpoint service configuration to which service consumers (AWS
  6887. // accounts, IAM users, and IAM roles) can connect. Service consumers can create
  6888. // an interface VPC endpoint to connect to your service.
  6889. //
  6890. // To create an endpoint service configuration, you must first create a Network
  6891. // Load Balancer for your service. For more information, see VPC Endpoint Services
  6892. // (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
  6893. // in the Amazon Virtual Private Cloud User Guide.
  6894. //
  6895. // If you set the private DNS name, you must prove that you own the private
  6896. // DNS domain name. For more information, see VPC Endpoint Service Private DNS
  6897. // Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
  6898. // in the Amazon Virtual Private Cloud User Guide.
  6899. //
  6900. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6901. // with awserr.Error's Code and Message methods to get detailed information about
  6902. // the error.
  6903. //
  6904. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6905. // API operation CreateVpcEndpointServiceConfiguration for usage and error information.
  6906. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  6907. func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  6908. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  6909. return out, req.Send()
  6910. }
  6911. // CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
  6912. // the ability to pass a context and additional request options.
  6913. //
  6914. // See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
  6915. //
  6916. // The context must be non-nil and will be used for request cancellation. If
  6917. // the context is nil a panic will occur. In the future the SDK may create
  6918. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6919. // for more information on using Contexts.
  6920. func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  6921. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  6922. req.SetContext(ctx)
  6923. req.ApplyOptions(opts...)
  6924. return out, req.Send()
  6925. }
  6926. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  6927. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  6928. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  6929. // value will be populated with the request's response once the request completes
  6930. // successfully.
  6931. //
  6932. // Use "Send" method on the returned Request to send the API call to the service.
  6933. // the "output" return value is not valid until after Send returns without error.
  6934. //
  6935. // See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
  6936. // API call, and error handling.
  6937. //
  6938. // This method is useful when you want to inject custom logic or configuration
  6939. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6940. //
  6941. //
  6942. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  6943. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  6944. //
  6945. // err := req.Send()
  6946. // if err == nil { // resp is now filled
  6947. // fmt.Println(resp)
  6948. // }
  6949. //
  6950. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  6951. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  6952. op := &request.Operation{
  6953. Name: opCreateVpcPeeringConnection,
  6954. HTTPMethod: "POST",
  6955. HTTPPath: "/",
  6956. }
  6957. if input == nil {
  6958. input = &CreateVpcPeeringConnectionInput{}
  6959. }
  6960. output = &CreateVpcPeeringConnectionOutput{}
  6961. req = c.newRequest(op, input, output)
  6962. return
  6963. }
  6964. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  6965. //
  6966. // Requests a VPC peering connection between two VPCs: a requester VPC that
  6967. // you own and an accepter VPC with which to create the connection. The accepter
  6968. // VPC can belong to another AWS account and can be in a different Region to
  6969. // the requester VPC. The requester VPC and accepter VPC cannot have overlapping
  6970. // CIDR blocks.
  6971. //
  6972. // Limitations and rules apply to a VPC peering connection. For more information,
  6973. // see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations)
  6974. // section in the VPC Peering Guide.
  6975. //
  6976. // The owner of the accepter VPC must accept the peering request to activate
  6977. // the peering connection. The VPC peering connection request expires after
  6978. // 7 days, after which it cannot be accepted or rejected.
  6979. //
  6980. // If you create a VPC peering connection request between VPCs with overlapping
  6981. // CIDR blocks, the VPC peering connection has a status of failed.
  6982. //
  6983. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6984. // with awserr.Error's Code and Message methods to get detailed information about
  6985. // the error.
  6986. //
  6987. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6988. // API operation CreateVpcPeeringConnection for usage and error information.
  6989. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  6990. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  6991. req, out := c.CreateVpcPeeringConnectionRequest(input)
  6992. return out, req.Send()
  6993. }
  6994. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  6995. // the ability to pass a context and additional request options.
  6996. //
  6997. // See CreateVpcPeeringConnection for details on how to use this API operation.
  6998. //
  6999. // The context must be non-nil and will be used for request cancellation. If
  7000. // the context is nil a panic will occur. In the future the SDK may create
  7001. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7002. // for more information on using Contexts.
  7003. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  7004. req, out := c.CreateVpcPeeringConnectionRequest(input)
  7005. req.SetContext(ctx)
  7006. req.ApplyOptions(opts...)
  7007. return out, req.Send()
  7008. }
  7009. const opCreateVpnConnection = "CreateVpnConnection"
  7010. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  7011. // client's request for the CreateVpnConnection operation. The "output" return
  7012. // value will be populated with the request's response once the request completes
  7013. // successfully.
  7014. //
  7015. // Use "Send" method on the returned Request to send the API call to the service.
  7016. // the "output" return value is not valid until after Send returns without error.
  7017. //
  7018. // See CreateVpnConnection for more information on using the CreateVpnConnection
  7019. // API call, and error handling.
  7020. //
  7021. // This method is useful when you want to inject custom logic or configuration
  7022. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7023. //
  7024. //
  7025. // // Example sending a request using the CreateVpnConnectionRequest method.
  7026. // req, resp := client.CreateVpnConnectionRequest(params)
  7027. //
  7028. // err := req.Send()
  7029. // if err == nil { // resp is now filled
  7030. // fmt.Println(resp)
  7031. // }
  7032. //
  7033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  7034. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  7035. op := &request.Operation{
  7036. Name: opCreateVpnConnection,
  7037. HTTPMethod: "POST",
  7038. HTTPPath: "/",
  7039. }
  7040. if input == nil {
  7041. input = &CreateVpnConnectionInput{}
  7042. }
  7043. output = &CreateVpnConnectionOutput{}
  7044. req = c.newRequest(op, input, output)
  7045. return
  7046. }
  7047. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  7048. //
  7049. // Creates a VPN connection between an existing virtual private gateway and
  7050. // a VPN customer gateway. The supported connection type is ipsec.1.
  7051. //
  7052. // The response includes information that you need to give to your network administrator
  7053. // to configure your customer gateway.
  7054. //
  7055. // We strongly recommend that you use HTTPS when calling this operation because
  7056. // the response contains sensitive cryptographic information for configuring
  7057. // your customer gateway.
  7058. //
  7059. // If you decide to shut down your VPN connection for any reason and later create
  7060. // a new VPN connection, you must reconfigure your customer gateway with the
  7061. // new information returned from this call.
  7062. //
  7063. // This is an idempotent operation. If you perform the operation more than once,
  7064. // Amazon EC2 doesn't return an error.
  7065. //
  7066. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  7067. // in the AWS Site-to-Site VPN User Guide.
  7068. //
  7069. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7070. // with awserr.Error's Code and Message methods to get detailed information about
  7071. // the error.
  7072. //
  7073. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7074. // API operation CreateVpnConnection for usage and error information.
  7075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  7076. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  7077. req, out := c.CreateVpnConnectionRequest(input)
  7078. return out, req.Send()
  7079. }
  7080. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  7081. // the ability to pass a context and additional request options.
  7082. //
  7083. // See CreateVpnConnection for details on how to use this API operation.
  7084. //
  7085. // The context must be non-nil and will be used for request cancellation. If
  7086. // the context is nil a panic will occur. In the future the SDK may create
  7087. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7088. // for more information on using Contexts.
  7089. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  7090. req, out := c.CreateVpnConnectionRequest(input)
  7091. req.SetContext(ctx)
  7092. req.ApplyOptions(opts...)
  7093. return out, req.Send()
  7094. }
  7095. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  7096. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  7097. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  7098. // value will be populated with the request's response once the request completes
  7099. // successfully.
  7100. //
  7101. // Use "Send" method on the returned Request to send the API call to the service.
  7102. // the "output" return value is not valid until after Send returns without error.
  7103. //
  7104. // See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
  7105. // API call, and error handling.
  7106. //
  7107. // This method is useful when you want to inject custom logic or configuration
  7108. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7109. //
  7110. //
  7111. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  7112. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  7113. //
  7114. // err := req.Send()
  7115. // if err == nil { // resp is now filled
  7116. // fmt.Println(resp)
  7117. // }
  7118. //
  7119. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  7120. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  7121. op := &request.Operation{
  7122. Name: opCreateVpnConnectionRoute,
  7123. HTTPMethod: "POST",
  7124. HTTPPath: "/",
  7125. }
  7126. if input == nil {
  7127. input = &CreateVpnConnectionRouteInput{}
  7128. }
  7129. output = &CreateVpnConnectionRouteOutput{}
  7130. req = c.newRequest(op, input, output)
  7131. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7132. return
  7133. }
  7134. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  7135. //
  7136. // Creates a static route associated with a VPN connection between an existing
  7137. // virtual private gateway and a VPN customer gateway. The static route allows
  7138. // traffic to be routed from the virtual private gateway to the VPN customer
  7139. // gateway.
  7140. //
  7141. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  7142. // in the AWS Site-to-Site VPN User Guide.
  7143. //
  7144. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7145. // with awserr.Error's Code and Message methods to get detailed information about
  7146. // the error.
  7147. //
  7148. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7149. // API operation CreateVpnConnectionRoute for usage and error information.
  7150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  7151. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  7152. req, out := c.CreateVpnConnectionRouteRequest(input)
  7153. return out, req.Send()
  7154. }
  7155. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  7156. // the ability to pass a context and additional request options.
  7157. //
  7158. // See CreateVpnConnectionRoute for details on how to use this API operation.
  7159. //
  7160. // The context must be non-nil and will be used for request cancellation. If
  7161. // the context is nil a panic will occur. In the future the SDK may create
  7162. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7163. // for more information on using Contexts.
  7164. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  7165. req, out := c.CreateVpnConnectionRouteRequest(input)
  7166. req.SetContext(ctx)
  7167. req.ApplyOptions(opts...)
  7168. return out, req.Send()
  7169. }
  7170. const opCreateVpnGateway = "CreateVpnGateway"
  7171. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  7172. // client's request for the CreateVpnGateway operation. The "output" return
  7173. // value will be populated with the request's response once the request completes
  7174. // successfully.
  7175. //
  7176. // Use "Send" method on the returned Request to send the API call to the service.
  7177. // the "output" return value is not valid until after Send returns without error.
  7178. //
  7179. // See CreateVpnGateway for more information on using the CreateVpnGateway
  7180. // API call, and error handling.
  7181. //
  7182. // This method is useful when you want to inject custom logic or configuration
  7183. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7184. //
  7185. //
  7186. // // Example sending a request using the CreateVpnGatewayRequest method.
  7187. // req, resp := client.CreateVpnGatewayRequest(params)
  7188. //
  7189. // err := req.Send()
  7190. // if err == nil { // resp is now filled
  7191. // fmt.Println(resp)
  7192. // }
  7193. //
  7194. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  7195. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  7196. op := &request.Operation{
  7197. Name: opCreateVpnGateway,
  7198. HTTPMethod: "POST",
  7199. HTTPPath: "/",
  7200. }
  7201. if input == nil {
  7202. input = &CreateVpnGatewayInput{}
  7203. }
  7204. output = &CreateVpnGatewayOutput{}
  7205. req = c.newRequest(op, input, output)
  7206. return
  7207. }
  7208. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  7209. //
  7210. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  7211. // on the VPC side of your VPN connection. You can create a virtual private
  7212. // gateway before creating the VPC itself.
  7213. //
  7214. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  7215. // in the AWS Site-to-Site VPN User Guide.
  7216. //
  7217. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7218. // with awserr.Error's Code and Message methods to get detailed information about
  7219. // the error.
  7220. //
  7221. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7222. // API operation CreateVpnGateway for usage and error information.
  7223. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  7224. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  7225. req, out := c.CreateVpnGatewayRequest(input)
  7226. return out, req.Send()
  7227. }
  7228. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  7229. // the ability to pass a context and additional request options.
  7230. //
  7231. // See CreateVpnGateway for details on how to use this API operation.
  7232. //
  7233. // The context must be non-nil and will be used for request cancellation. If
  7234. // the context is nil a panic will occur. In the future the SDK may create
  7235. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7236. // for more information on using Contexts.
  7237. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  7238. req, out := c.CreateVpnGatewayRequest(input)
  7239. req.SetContext(ctx)
  7240. req.ApplyOptions(opts...)
  7241. return out, req.Send()
  7242. }
  7243. const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
  7244. // DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
  7245. // client's request for the DeleteClientVpnEndpoint operation. The "output" return
  7246. // value will be populated with the request's response once the request completes
  7247. // successfully.
  7248. //
  7249. // Use "Send" method on the returned Request to send the API call to the service.
  7250. // the "output" return value is not valid until after Send returns without error.
  7251. //
  7252. // See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
  7253. // API call, and error handling.
  7254. //
  7255. // This method is useful when you want to inject custom logic or configuration
  7256. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7257. //
  7258. //
  7259. // // Example sending a request using the DeleteClientVpnEndpointRequest method.
  7260. // req, resp := client.DeleteClientVpnEndpointRequest(params)
  7261. //
  7262. // err := req.Send()
  7263. // if err == nil { // resp is now filled
  7264. // fmt.Println(resp)
  7265. // }
  7266. //
  7267. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
  7268. func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
  7269. op := &request.Operation{
  7270. Name: opDeleteClientVpnEndpoint,
  7271. HTTPMethod: "POST",
  7272. HTTPPath: "/",
  7273. }
  7274. if input == nil {
  7275. input = &DeleteClientVpnEndpointInput{}
  7276. }
  7277. output = &DeleteClientVpnEndpointOutput{}
  7278. req = c.newRequest(op, input, output)
  7279. return
  7280. }
  7281. // DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  7282. //
  7283. // Deletes the specified Client VPN endpoint. You must disassociate all target
  7284. // networks before you can delete a Client VPN endpoint.
  7285. //
  7286. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7287. // with awserr.Error's Code and Message methods to get detailed information about
  7288. // the error.
  7289. //
  7290. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7291. // API operation DeleteClientVpnEndpoint for usage and error information.
  7292. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
  7293. func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
  7294. req, out := c.DeleteClientVpnEndpointRequest(input)
  7295. return out, req.Send()
  7296. }
  7297. // DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
  7298. // the ability to pass a context and additional request options.
  7299. //
  7300. // See DeleteClientVpnEndpoint for details on how to use this API operation.
  7301. //
  7302. // The context must be non-nil and will be used for request cancellation. If
  7303. // the context is nil a panic will occur. In the future the SDK may create
  7304. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7305. // for more information on using Contexts.
  7306. func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
  7307. req, out := c.DeleteClientVpnEndpointRequest(input)
  7308. req.SetContext(ctx)
  7309. req.ApplyOptions(opts...)
  7310. return out, req.Send()
  7311. }
  7312. const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
  7313. // DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
  7314. // client's request for the DeleteClientVpnRoute operation. The "output" return
  7315. // value will be populated with the request's response once the request completes
  7316. // successfully.
  7317. //
  7318. // Use "Send" method on the returned Request to send the API call to the service.
  7319. // the "output" return value is not valid until after Send returns without error.
  7320. //
  7321. // See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
  7322. // API call, and error handling.
  7323. //
  7324. // This method is useful when you want to inject custom logic or configuration
  7325. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7326. //
  7327. //
  7328. // // Example sending a request using the DeleteClientVpnRouteRequest method.
  7329. // req, resp := client.DeleteClientVpnRouteRequest(params)
  7330. //
  7331. // err := req.Send()
  7332. // if err == nil { // resp is now filled
  7333. // fmt.Println(resp)
  7334. // }
  7335. //
  7336. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
  7337. func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
  7338. op := &request.Operation{
  7339. Name: opDeleteClientVpnRoute,
  7340. HTTPMethod: "POST",
  7341. HTTPPath: "/",
  7342. }
  7343. if input == nil {
  7344. input = &DeleteClientVpnRouteInput{}
  7345. }
  7346. output = &DeleteClientVpnRouteOutput{}
  7347. req = c.newRequest(op, input, output)
  7348. return
  7349. }
  7350. // DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
  7351. //
  7352. // Deletes a route from a Client VPN endpoint. You can only delete routes that
  7353. // you manually added using the CreateClientVpnRoute action. You cannot delete
  7354. // routes that were automatically added when associating a subnet. To remove
  7355. // routes that have been automatically added, disassociate the target subnet
  7356. // from the Client VPN endpoint.
  7357. //
  7358. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7359. // with awserr.Error's Code and Message methods to get detailed information about
  7360. // the error.
  7361. //
  7362. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7363. // API operation DeleteClientVpnRoute for usage and error information.
  7364. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
  7365. func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
  7366. req, out := c.DeleteClientVpnRouteRequest(input)
  7367. return out, req.Send()
  7368. }
  7369. // DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
  7370. // the ability to pass a context and additional request options.
  7371. //
  7372. // See DeleteClientVpnRoute for details on how to use this API operation.
  7373. //
  7374. // The context must be non-nil and will be used for request cancellation. If
  7375. // the context is nil a panic will occur. In the future the SDK may create
  7376. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7377. // for more information on using Contexts.
  7378. func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
  7379. req, out := c.DeleteClientVpnRouteRequest(input)
  7380. req.SetContext(ctx)
  7381. req.ApplyOptions(opts...)
  7382. return out, req.Send()
  7383. }
  7384. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  7385. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  7386. // client's request for the DeleteCustomerGateway operation. The "output" return
  7387. // value will be populated with the request's response once the request completes
  7388. // successfully.
  7389. //
  7390. // Use "Send" method on the returned Request to send the API call to the service.
  7391. // the "output" return value is not valid until after Send returns without error.
  7392. //
  7393. // See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
  7394. // API call, and error handling.
  7395. //
  7396. // This method is useful when you want to inject custom logic or configuration
  7397. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7398. //
  7399. //
  7400. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  7401. // req, resp := client.DeleteCustomerGatewayRequest(params)
  7402. //
  7403. // err := req.Send()
  7404. // if err == nil { // resp is now filled
  7405. // fmt.Println(resp)
  7406. // }
  7407. //
  7408. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  7409. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  7410. op := &request.Operation{
  7411. Name: opDeleteCustomerGateway,
  7412. HTTPMethod: "POST",
  7413. HTTPPath: "/",
  7414. }
  7415. if input == nil {
  7416. input = &DeleteCustomerGatewayInput{}
  7417. }
  7418. output = &DeleteCustomerGatewayOutput{}
  7419. req = c.newRequest(op, input, output)
  7420. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7421. return
  7422. }
  7423. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  7424. //
  7425. // Deletes the specified customer gateway. You must delete the VPN connection
  7426. // before you can delete the customer gateway.
  7427. //
  7428. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7429. // with awserr.Error's Code and Message methods to get detailed information about
  7430. // the error.
  7431. //
  7432. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7433. // API operation DeleteCustomerGateway for usage and error information.
  7434. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  7435. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  7436. req, out := c.DeleteCustomerGatewayRequest(input)
  7437. return out, req.Send()
  7438. }
  7439. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  7440. // the ability to pass a context and additional request options.
  7441. //
  7442. // See DeleteCustomerGateway for details on how to use this API operation.
  7443. //
  7444. // The context must be non-nil and will be used for request cancellation. If
  7445. // the context is nil a panic will occur. In the future the SDK may create
  7446. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7447. // for more information on using Contexts.
  7448. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  7449. req, out := c.DeleteCustomerGatewayRequest(input)
  7450. req.SetContext(ctx)
  7451. req.ApplyOptions(opts...)
  7452. return out, req.Send()
  7453. }
  7454. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  7455. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  7456. // client's request for the DeleteDhcpOptions operation. The "output" return
  7457. // value will be populated with the request's response once the request completes
  7458. // successfully.
  7459. //
  7460. // Use "Send" method on the returned Request to send the API call to the service.
  7461. // the "output" return value is not valid until after Send returns without error.
  7462. //
  7463. // See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
  7464. // API call, and error handling.
  7465. //
  7466. // This method is useful when you want to inject custom logic or configuration
  7467. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7468. //
  7469. //
  7470. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  7471. // req, resp := client.DeleteDhcpOptionsRequest(params)
  7472. //
  7473. // err := req.Send()
  7474. // if err == nil { // resp is now filled
  7475. // fmt.Println(resp)
  7476. // }
  7477. //
  7478. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  7479. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  7480. op := &request.Operation{
  7481. Name: opDeleteDhcpOptions,
  7482. HTTPMethod: "POST",
  7483. HTTPPath: "/",
  7484. }
  7485. if input == nil {
  7486. input = &DeleteDhcpOptionsInput{}
  7487. }
  7488. output = &DeleteDhcpOptionsOutput{}
  7489. req = c.newRequest(op, input, output)
  7490. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7491. return
  7492. }
  7493. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  7494. //
  7495. // Deletes the specified set of DHCP options. You must disassociate the set
  7496. // of DHCP options before you can delete it. You can disassociate the set of
  7497. // DHCP options by associating either a new set of options or the default set
  7498. // of options with the VPC.
  7499. //
  7500. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7501. // with awserr.Error's Code and Message methods to get detailed information about
  7502. // the error.
  7503. //
  7504. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7505. // API operation DeleteDhcpOptions for usage and error information.
  7506. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  7507. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  7508. req, out := c.DeleteDhcpOptionsRequest(input)
  7509. return out, req.Send()
  7510. }
  7511. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  7512. // the ability to pass a context and additional request options.
  7513. //
  7514. // See DeleteDhcpOptions for details on how to use this API operation.
  7515. //
  7516. // The context must be non-nil and will be used for request cancellation. If
  7517. // the context is nil a panic will occur. In the future the SDK may create
  7518. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7519. // for more information on using Contexts.
  7520. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  7521. req, out := c.DeleteDhcpOptionsRequest(input)
  7522. req.SetContext(ctx)
  7523. req.ApplyOptions(opts...)
  7524. return out, req.Send()
  7525. }
  7526. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  7527. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  7528. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  7529. // value will be populated with the request's response once the request completes
  7530. // successfully.
  7531. //
  7532. // Use "Send" method on the returned Request to send the API call to the service.
  7533. // the "output" return value is not valid until after Send returns without error.
  7534. //
  7535. // See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
  7536. // API call, and error handling.
  7537. //
  7538. // This method is useful when you want to inject custom logic or configuration
  7539. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7540. //
  7541. //
  7542. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  7543. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  7544. //
  7545. // err := req.Send()
  7546. // if err == nil { // resp is now filled
  7547. // fmt.Println(resp)
  7548. // }
  7549. //
  7550. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  7551. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  7552. op := &request.Operation{
  7553. Name: opDeleteEgressOnlyInternetGateway,
  7554. HTTPMethod: "POST",
  7555. HTTPPath: "/",
  7556. }
  7557. if input == nil {
  7558. input = &DeleteEgressOnlyInternetGatewayInput{}
  7559. }
  7560. output = &DeleteEgressOnlyInternetGatewayOutput{}
  7561. req = c.newRequest(op, input, output)
  7562. return
  7563. }
  7564. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  7565. //
  7566. // Deletes an egress-only internet gateway.
  7567. //
  7568. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7569. // with awserr.Error's Code and Message methods to get detailed information about
  7570. // the error.
  7571. //
  7572. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7573. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  7574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  7575. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  7576. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  7577. return out, req.Send()
  7578. }
  7579. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  7580. // the ability to pass a context and additional request options.
  7581. //
  7582. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  7583. //
  7584. // The context must be non-nil and will be used for request cancellation. If
  7585. // the context is nil a panic will occur. In the future the SDK may create
  7586. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7587. // for more information on using Contexts.
  7588. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  7589. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  7590. req.SetContext(ctx)
  7591. req.ApplyOptions(opts...)
  7592. return out, req.Send()
  7593. }
  7594. const opDeleteFleets = "DeleteFleets"
  7595. // DeleteFleetsRequest generates a "aws/request.Request" representing the
  7596. // client's request for the DeleteFleets operation. The "output" return
  7597. // value will be populated with the request's response once the request completes
  7598. // successfully.
  7599. //
  7600. // Use "Send" method on the returned Request to send the API call to the service.
  7601. // the "output" return value is not valid until after Send returns without error.
  7602. //
  7603. // See DeleteFleets for more information on using the DeleteFleets
  7604. // API call, and error handling.
  7605. //
  7606. // This method is useful when you want to inject custom logic or configuration
  7607. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7608. //
  7609. //
  7610. // // Example sending a request using the DeleteFleetsRequest method.
  7611. // req, resp := client.DeleteFleetsRequest(params)
  7612. //
  7613. // err := req.Send()
  7614. // if err == nil { // resp is now filled
  7615. // fmt.Println(resp)
  7616. // }
  7617. //
  7618. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  7619. func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
  7620. op := &request.Operation{
  7621. Name: opDeleteFleets,
  7622. HTTPMethod: "POST",
  7623. HTTPPath: "/",
  7624. }
  7625. if input == nil {
  7626. input = &DeleteFleetsInput{}
  7627. }
  7628. output = &DeleteFleetsOutput{}
  7629. req = c.newRequest(op, input, output)
  7630. return
  7631. }
  7632. // DeleteFleets API operation for Amazon Elastic Compute Cloud.
  7633. //
  7634. // Deletes the specified EC2 Fleet.
  7635. //
  7636. // After you delete an EC2 Fleet, it launches no new instances. You must specify
  7637. // whether an EC2 Fleet should also terminate its instances. If you terminate
  7638. // the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
  7639. // the EC2 Fleet enters the deleted_running state, and the instances continue
  7640. // to run until they are interrupted or you terminate them manually.
  7641. //
  7642. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7643. // with awserr.Error's Code and Message methods to get detailed information about
  7644. // the error.
  7645. //
  7646. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7647. // API operation DeleteFleets for usage and error information.
  7648. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  7649. func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
  7650. req, out := c.DeleteFleetsRequest(input)
  7651. return out, req.Send()
  7652. }
  7653. // DeleteFleetsWithContext is the same as DeleteFleets with the addition of
  7654. // the ability to pass a context and additional request options.
  7655. //
  7656. // See DeleteFleets for details on how to use this API operation.
  7657. //
  7658. // The context must be non-nil and will be used for request cancellation. If
  7659. // the context is nil a panic will occur. In the future the SDK may create
  7660. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7661. // for more information on using Contexts.
  7662. func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
  7663. req, out := c.DeleteFleetsRequest(input)
  7664. req.SetContext(ctx)
  7665. req.ApplyOptions(opts...)
  7666. return out, req.Send()
  7667. }
  7668. const opDeleteFlowLogs = "DeleteFlowLogs"
  7669. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  7670. // client's request for the DeleteFlowLogs operation. The "output" return
  7671. // value will be populated with the request's response once the request completes
  7672. // successfully.
  7673. //
  7674. // Use "Send" method on the returned Request to send the API call to the service.
  7675. // the "output" return value is not valid until after Send returns without error.
  7676. //
  7677. // See DeleteFlowLogs for more information on using the DeleteFlowLogs
  7678. // API call, and error handling.
  7679. //
  7680. // This method is useful when you want to inject custom logic or configuration
  7681. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7682. //
  7683. //
  7684. // // Example sending a request using the DeleteFlowLogsRequest method.
  7685. // req, resp := client.DeleteFlowLogsRequest(params)
  7686. //
  7687. // err := req.Send()
  7688. // if err == nil { // resp is now filled
  7689. // fmt.Println(resp)
  7690. // }
  7691. //
  7692. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  7693. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  7694. op := &request.Operation{
  7695. Name: opDeleteFlowLogs,
  7696. HTTPMethod: "POST",
  7697. HTTPPath: "/",
  7698. }
  7699. if input == nil {
  7700. input = &DeleteFlowLogsInput{}
  7701. }
  7702. output = &DeleteFlowLogsOutput{}
  7703. req = c.newRequest(op, input, output)
  7704. return
  7705. }
  7706. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  7707. //
  7708. // Deletes one or more flow logs.
  7709. //
  7710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7711. // with awserr.Error's Code and Message methods to get detailed information about
  7712. // the error.
  7713. //
  7714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7715. // API operation DeleteFlowLogs for usage and error information.
  7716. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  7717. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  7718. req, out := c.DeleteFlowLogsRequest(input)
  7719. return out, req.Send()
  7720. }
  7721. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  7722. // the ability to pass a context and additional request options.
  7723. //
  7724. // See DeleteFlowLogs for details on how to use this API operation.
  7725. //
  7726. // The context must be non-nil and will be used for request cancellation. If
  7727. // the context is nil a panic will occur. In the future the SDK may create
  7728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7729. // for more information on using Contexts.
  7730. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  7731. req, out := c.DeleteFlowLogsRequest(input)
  7732. req.SetContext(ctx)
  7733. req.ApplyOptions(opts...)
  7734. return out, req.Send()
  7735. }
  7736. const opDeleteFpgaImage = "DeleteFpgaImage"
  7737. // DeleteFpgaImageRequest generates a "aws/request.Request" representing the
  7738. // client's request for the DeleteFpgaImage operation. The "output" return
  7739. // value will be populated with the request's response once the request completes
  7740. // successfully.
  7741. //
  7742. // Use "Send" method on the returned Request to send the API call to the service.
  7743. // the "output" return value is not valid until after Send returns without error.
  7744. //
  7745. // See DeleteFpgaImage for more information on using the DeleteFpgaImage
  7746. // API call, and error handling.
  7747. //
  7748. // This method is useful when you want to inject custom logic or configuration
  7749. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7750. //
  7751. //
  7752. // // Example sending a request using the DeleteFpgaImageRequest method.
  7753. // req, resp := client.DeleteFpgaImageRequest(params)
  7754. //
  7755. // err := req.Send()
  7756. // if err == nil { // resp is now filled
  7757. // fmt.Println(resp)
  7758. // }
  7759. //
  7760. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  7761. func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
  7762. op := &request.Operation{
  7763. Name: opDeleteFpgaImage,
  7764. HTTPMethod: "POST",
  7765. HTTPPath: "/",
  7766. }
  7767. if input == nil {
  7768. input = &DeleteFpgaImageInput{}
  7769. }
  7770. output = &DeleteFpgaImageOutput{}
  7771. req = c.newRequest(op, input, output)
  7772. return
  7773. }
  7774. // DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
  7775. //
  7776. // Deletes the specified Amazon FPGA Image (AFI).
  7777. //
  7778. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7779. // with awserr.Error's Code and Message methods to get detailed information about
  7780. // the error.
  7781. //
  7782. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7783. // API operation DeleteFpgaImage for usage and error information.
  7784. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  7785. func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
  7786. req, out := c.DeleteFpgaImageRequest(input)
  7787. return out, req.Send()
  7788. }
  7789. // DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
  7790. // the ability to pass a context and additional request options.
  7791. //
  7792. // See DeleteFpgaImage for details on how to use this API operation.
  7793. //
  7794. // The context must be non-nil and will be used for request cancellation. If
  7795. // the context is nil a panic will occur. In the future the SDK may create
  7796. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7797. // for more information on using Contexts.
  7798. func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
  7799. req, out := c.DeleteFpgaImageRequest(input)
  7800. req.SetContext(ctx)
  7801. req.ApplyOptions(opts...)
  7802. return out, req.Send()
  7803. }
  7804. const opDeleteInternetGateway = "DeleteInternetGateway"
  7805. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  7806. // client's request for the DeleteInternetGateway operation. The "output" return
  7807. // value will be populated with the request's response once the request completes
  7808. // successfully.
  7809. //
  7810. // Use "Send" method on the returned Request to send the API call to the service.
  7811. // the "output" return value is not valid until after Send returns without error.
  7812. //
  7813. // See DeleteInternetGateway for more information on using the DeleteInternetGateway
  7814. // API call, and error handling.
  7815. //
  7816. // This method is useful when you want to inject custom logic or configuration
  7817. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7818. //
  7819. //
  7820. // // Example sending a request using the DeleteInternetGatewayRequest method.
  7821. // req, resp := client.DeleteInternetGatewayRequest(params)
  7822. //
  7823. // err := req.Send()
  7824. // if err == nil { // resp is now filled
  7825. // fmt.Println(resp)
  7826. // }
  7827. //
  7828. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  7829. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  7830. op := &request.Operation{
  7831. Name: opDeleteInternetGateway,
  7832. HTTPMethod: "POST",
  7833. HTTPPath: "/",
  7834. }
  7835. if input == nil {
  7836. input = &DeleteInternetGatewayInput{}
  7837. }
  7838. output = &DeleteInternetGatewayOutput{}
  7839. req = c.newRequest(op, input, output)
  7840. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7841. return
  7842. }
  7843. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  7844. //
  7845. // Deletes the specified internet gateway. You must detach the internet gateway
  7846. // from the VPC before you can delete it.
  7847. //
  7848. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7849. // with awserr.Error's Code and Message methods to get detailed information about
  7850. // the error.
  7851. //
  7852. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7853. // API operation DeleteInternetGateway for usage and error information.
  7854. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  7855. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  7856. req, out := c.DeleteInternetGatewayRequest(input)
  7857. return out, req.Send()
  7858. }
  7859. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  7860. // the ability to pass a context and additional request options.
  7861. //
  7862. // See DeleteInternetGateway for details on how to use this API operation.
  7863. //
  7864. // The context must be non-nil and will be used for request cancellation. If
  7865. // the context is nil a panic will occur. In the future the SDK may create
  7866. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7867. // for more information on using Contexts.
  7868. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  7869. req, out := c.DeleteInternetGatewayRequest(input)
  7870. req.SetContext(ctx)
  7871. req.ApplyOptions(opts...)
  7872. return out, req.Send()
  7873. }
  7874. const opDeleteKeyPair = "DeleteKeyPair"
  7875. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  7876. // client's request for the DeleteKeyPair operation. The "output" return
  7877. // value will be populated with the request's response once the request completes
  7878. // successfully.
  7879. //
  7880. // Use "Send" method on the returned Request to send the API call to the service.
  7881. // the "output" return value is not valid until after Send returns without error.
  7882. //
  7883. // See DeleteKeyPair for more information on using the DeleteKeyPair
  7884. // API call, and error handling.
  7885. //
  7886. // This method is useful when you want to inject custom logic or configuration
  7887. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7888. //
  7889. //
  7890. // // Example sending a request using the DeleteKeyPairRequest method.
  7891. // req, resp := client.DeleteKeyPairRequest(params)
  7892. //
  7893. // err := req.Send()
  7894. // if err == nil { // resp is now filled
  7895. // fmt.Println(resp)
  7896. // }
  7897. //
  7898. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  7899. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  7900. op := &request.Operation{
  7901. Name: opDeleteKeyPair,
  7902. HTTPMethod: "POST",
  7903. HTTPPath: "/",
  7904. }
  7905. if input == nil {
  7906. input = &DeleteKeyPairInput{}
  7907. }
  7908. output = &DeleteKeyPairOutput{}
  7909. req = c.newRequest(op, input, output)
  7910. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7911. return
  7912. }
  7913. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  7914. //
  7915. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  7916. //
  7917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7918. // with awserr.Error's Code and Message methods to get detailed information about
  7919. // the error.
  7920. //
  7921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7922. // API operation DeleteKeyPair for usage and error information.
  7923. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  7924. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  7925. req, out := c.DeleteKeyPairRequest(input)
  7926. return out, req.Send()
  7927. }
  7928. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  7929. // the ability to pass a context and additional request options.
  7930. //
  7931. // See DeleteKeyPair for details on how to use this API operation.
  7932. //
  7933. // The context must be non-nil and will be used for request cancellation. If
  7934. // the context is nil a panic will occur. In the future the SDK may create
  7935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7936. // for more information on using Contexts.
  7937. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  7938. req, out := c.DeleteKeyPairRequest(input)
  7939. req.SetContext(ctx)
  7940. req.ApplyOptions(opts...)
  7941. return out, req.Send()
  7942. }
  7943. const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
  7944. // DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
  7945. // client's request for the DeleteLaunchTemplate operation. The "output" return
  7946. // value will be populated with the request's response once the request completes
  7947. // successfully.
  7948. //
  7949. // Use "Send" method on the returned Request to send the API call to the service.
  7950. // the "output" return value is not valid until after Send returns without error.
  7951. //
  7952. // See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
  7953. // API call, and error handling.
  7954. //
  7955. // This method is useful when you want to inject custom logic or configuration
  7956. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7957. //
  7958. //
  7959. // // Example sending a request using the DeleteLaunchTemplateRequest method.
  7960. // req, resp := client.DeleteLaunchTemplateRequest(params)
  7961. //
  7962. // err := req.Send()
  7963. // if err == nil { // resp is now filled
  7964. // fmt.Println(resp)
  7965. // }
  7966. //
  7967. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  7968. func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
  7969. op := &request.Operation{
  7970. Name: opDeleteLaunchTemplate,
  7971. HTTPMethod: "POST",
  7972. HTTPPath: "/",
  7973. }
  7974. if input == nil {
  7975. input = &DeleteLaunchTemplateInput{}
  7976. }
  7977. output = &DeleteLaunchTemplateOutput{}
  7978. req = c.newRequest(op, input, output)
  7979. return
  7980. }
  7981. // DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  7982. //
  7983. // Deletes a launch template. Deleting a launch template deletes all of its
  7984. // versions.
  7985. //
  7986. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7987. // with awserr.Error's Code and Message methods to get detailed information about
  7988. // the error.
  7989. //
  7990. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7991. // API operation DeleteLaunchTemplate for usage and error information.
  7992. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  7993. func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
  7994. req, out := c.DeleteLaunchTemplateRequest(input)
  7995. return out, req.Send()
  7996. }
  7997. // DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
  7998. // the ability to pass a context and additional request options.
  7999. //
  8000. // See DeleteLaunchTemplate for details on how to use this API operation.
  8001. //
  8002. // The context must be non-nil and will be used for request cancellation. If
  8003. // the context is nil a panic will occur. In the future the SDK may create
  8004. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8005. // for more information on using Contexts.
  8006. func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
  8007. req, out := c.DeleteLaunchTemplateRequest(input)
  8008. req.SetContext(ctx)
  8009. req.ApplyOptions(opts...)
  8010. return out, req.Send()
  8011. }
  8012. const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
  8013. // DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  8014. // client's request for the DeleteLaunchTemplateVersions operation. The "output" return
  8015. // value will be populated with the request's response once the request completes
  8016. // successfully.
  8017. //
  8018. // Use "Send" method on the returned Request to send the API call to the service.
  8019. // the "output" return value is not valid until after Send returns without error.
  8020. //
  8021. // See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
  8022. // API call, and error handling.
  8023. //
  8024. // This method is useful when you want to inject custom logic or configuration
  8025. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8026. //
  8027. //
  8028. // // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
  8029. // req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
  8030. //
  8031. // err := req.Send()
  8032. // if err == nil { // resp is now filled
  8033. // fmt.Println(resp)
  8034. // }
  8035. //
  8036. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  8037. func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
  8038. op := &request.Operation{
  8039. Name: opDeleteLaunchTemplateVersions,
  8040. HTTPMethod: "POST",
  8041. HTTPPath: "/",
  8042. }
  8043. if input == nil {
  8044. input = &DeleteLaunchTemplateVersionsInput{}
  8045. }
  8046. output = &DeleteLaunchTemplateVersionsOutput{}
  8047. req = c.newRequest(op, input, output)
  8048. return
  8049. }
  8050. // DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  8051. //
  8052. // Deletes one or more versions of a launch template. You cannot delete the
  8053. // default version of a launch template; you must first assign a different version
  8054. // as the default. If the default version is the only version for the launch
  8055. // template, you must delete the entire launch template using DeleteLaunchTemplate.
  8056. //
  8057. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8058. // with awserr.Error's Code and Message methods to get detailed information about
  8059. // the error.
  8060. //
  8061. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8062. // API operation DeleteLaunchTemplateVersions for usage and error information.
  8063. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  8064. func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
  8065. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  8066. return out, req.Send()
  8067. }
  8068. // DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
  8069. // the ability to pass a context and additional request options.
  8070. //
  8071. // See DeleteLaunchTemplateVersions for details on how to use this API operation.
  8072. //
  8073. // The context must be non-nil and will be used for request cancellation. If
  8074. // the context is nil a panic will occur. In the future the SDK may create
  8075. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8076. // for more information on using Contexts.
  8077. func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
  8078. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  8079. req.SetContext(ctx)
  8080. req.ApplyOptions(opts...)
  8081. return out, req.Send()
  8082. }
  8083. const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
  8084. // DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
  8085. // client's request for the DeleteLocalGatewayRoute operation. The "output" return
  8086. // value will be populated with the request's response once the request completes
  8087. // successfully.
  8088. //
  8089. // Use "Send" method on the returned Request to send the API call to the service.
  8090. // the "output" return value is not valid until after Send returns without error.
  8091. //
  8092. // See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
  8093. // API call, and error handling.
  8094. //
  8095. // This method is useful when you want to inject custom logic or configuration
  8096. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8097. //
  8098. //
  8099. // // Example sending a request using the DeleteLocalGatewayRouteRequest method.
  8100. // req, resp := client.DeleteLocalGatewayRouteRequest(params)
  8101. //
  8102. // err := req.Send()
  8103. // if err == nil { // resp is now filled
  8104. // fmt.Println(resp)
  8105. // }
  8106. //
  8107. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
  8108. func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
  8109. op := &request.Operation{
  8110. Name: opDeleteLocalGatewayRoute,
  8111. HTTPMethod: "POST",
  8112. HTTPPath: "/",
  8113. }
  8114. if input == nil {
  8115. input = &DeleteLocalGatewayRouteInput{}
  8116. }
  8117. output = &DeleteLocalGatewayRouteOutput{}
  8118. req = c.newRequest(op, input, output)
  8119. return
  8120. }
  8121. // DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
  8122. //
  8123. // Deletes the specified route from the specified local gateway route table.
  8124. //
  8125. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8126. // with awserr.Error's Code and Message methods to get detailed information about
  8127. // the error.
  8128. //
  8129. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8130. // API operation DeleteLocalGatewayRoute for usage and error information.
  8131. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
  8132. func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
  8133. req, out := c.DeleteLocalGatewayRouteRequest(input)
  8134. return out, req.Send()
  8135. }
  8136. // DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
  8137. // the ability to pass a context and additional request options.
  8138. //
  8139. // See DeleteLocalGatewayRoute for details on how to use this API operation.
  8140. //
  8141. // The context must be non-nil and will be used for request cancellation. If
  8142. // the context is nil a panic will occur. In the future the SDK may create
  8143. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8144. // for more information on using Contexts.
  8145. func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
  8146. req, out := c.DeleteLocalGatewayRouteRequest(input)
  8147. req.SetContext(ctx)
  8148. req.ApplyOptions(opts...)
  8149. return out, req.Send()
  8150. }
  8151. const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
  8152. // DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
  8153. // client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
  8154. // value will be populated with the request's response once the request completes
  8155. // successfully.
  8156. //
  8157. // Use "Send" method on the returned Request to send the API call to the service.
  8158. // the "output" return value is not valid until after Send returns without error.
  8159. //
  8160. // See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
  8161. // API call, and error handling.
  8162. //
  8163. // This method is useful when you want to inject custom logic or configuration
  8164. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8165. //
  8166. //
  8167. // // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
  8168. // req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
  8169. //
  8170. // err := req.Send()
  8171. // if err == nil { // resp is now filled
  8172. // fmt.Println(resp)
  8173. // }
  8174. //
  8175. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
  8176. func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
  8177. op := &request.Operation{
  8178. Name: opDeleteLocalGatewayRouteTableVpcAssociation,
  8179. HTTPMethod: "POST",
  8180. HTTPPath: "/",
  8181. }
  8182. if input == nil {
  8183. input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
  8184. }
  8185. output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
  8186. req = c.newRequest(op, input, output)
  8187. return
  8188. }
  8189. // DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
  8190. //
  8191. // Deletes the specified association between a VPC and local gateway route table.
  8192. //
  8193. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8194. // with awserr.Error's Code and Message methods to get detailed information about
  8195. // the error.
  8196. //
  8197. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8198. // API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
  8199. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
  8200. func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
  8201. req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
  8202. return out, req.Send()
  8203. }
  8204. // DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
  8205. // the ability to pass a context and additional request options.
  8206. //
  8207. // See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
  8208. //
  8209. // The context must be non-nil and will be used for request cancellation. If
  8210. // the context is nil a panic will occur. In the future the SDK may create
  8211. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8212. // for more information on using Contexts.
  8213. func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
  8214. req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
  8215. req.SetContext(ctx)
  8216. req.ApplyOptions(opts...)
  8217. return out, req.Send()
  8218. }
  8219. const opDeleteNatGateway = "DeleteNatGateway"
  8220. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  8221. // client's request for the DeleteNatGateway operation. The "output" return
  8222. // value will be populated with the request's response once the request completes
  8223. // successfully.
  8224. //
  8225. // Use "Send" method on the returned Request to send the API call to the service.
  8226. // the "output" return value is not valid until after Send returns without error.
  8227. //
  8228. // See DeleteNatGateway for more information on using the DeleteNatGateway
  8229. // API call, and error handling.
  8230. //
  8231. // This method is useful when you want to inject custom logic or configuration
  8232. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8233. //
  8234. //
  8235. // // Example sending a request using the DeleteNatGatewayRequest method.
  8236. // req, resp := client.DeleteNatGatewayRequest(params)
  8237. //
  8238. // err := req.Send()
  8239. // if err == nil { // resp is now filled
  8240. // fmt.Println(resp)
  8241. // }
  8242. //
  8243. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  8244. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  8245. op := &request.Operation{
  8246. Name: opDeleteNatGateway,
  8247. HTTPMethod: "POST",
  8248. HTTPPath: "/",
  8249. }
  8250. if input == nil {
  8251. input = &DeleteNatGatewayInput{}
  8252. }
  8253. output = &DeleteNatGatewayOutput{}
  8254. req = c.newRequest(op, input, output)
  8255. return
  8256. }
  8257. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  8258. //
  8259. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  8260. // Elastic IP address, but does not release the address from your account. Deleting
  8261. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  8262. //
  8263. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8264. // with awserr.Error's Code and Message methods to get detailed information about
  8265. // the error.
  8266. //
  8267. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8268. // API operation DeleteNatGateway for usage and error information.
  8269. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  8270. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  8271. req, out := c.DeleteNatGatewayRequest(input)
  8272. return out, req.Send()
  8273. }
  8274. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  8275. // the ability to pass a context and additional request options.
  8276. //
  8277. // See DeleteNatGateway for details on how to use this API operation.
  8278. //
  8279. // The context must be non-nil and will be used for request cancellation. If
  8280. // the context is nil a panic will occur. In the future the SDK may create
  8281. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8282. // for more information on using Contexts.
  8283. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  8284. req, out := c.DeleteNatGatewayRequest(input)
  8285. req.SetContext(ctx)
  8286. req.ApplyOptions(opts...)
  8287. return out, req.Send()
  8288. }
  8289. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  8290. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  8291. // client's request for the DeleteNetworkAcl operation. The "output" return
  8292. // value will be populated with the request's response once the request completes
  8293. // successfully.
  8294. //
  8295. // Use "Send" method on the returned Request to send the API call to the service.
  8296. // the "output" return value is not valid until after Send returns without error.
  8297. //
  8298. // See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
  8299. // API call, and error handling.
  8300. //
  8301. // This method is useful when you want to inject custom logic or configuration
  8302. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8303. //
  8304. //
  8305. // // Example sending a request using the DeleteNetworkAclRequest method.
  8306. // req, resp := client.DeleteNetworkAclRequest(params)
  8307. //
  8308. // err := req.Send()
  8309. // if err == nil { // resp is now filled
  8310. // fmt.Println(resp)
  8311. // }
  8312. //
  8313. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  8314. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  8315. op := &request.Operation{
  8316. Name: opDeleteNetworkAcl,
  8317. HTTPMethod: "POST",
  8318. HTTPPath: "/",
  8319. }
  8320. if input == nil {
  8321. input = &DeleteNetworkAclInput{}
  8322. }
  8323. output = &DeleteNetworkAclOutput{}
  8324. req = c.newRequest(op, input, output)
  8325. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8326. return
  8327. }
  8328. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  8329. //
  8330. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  8331. // with any subnets. You can't delete the default network ACL.
  8332. //
  8333. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8334. // with awserr.Error's Code and Message methods to get detailed information about
  8335. // the error.
  8336. //
  8337. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8338. // API operation DeleteNetworkAcl for usage and error information.
  8339. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  8340. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  8341. req, out := c.DeleteNetworkAclRequest(input)
  8342. return out, req.Send()
  8343. }
  8344. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  8345. // the ability to pass a context and additional request options.
  8346. //
  8347. // See DeleteNetworkAcl for details on how to use this API operation.
  8348. //
  8349. // The context must be non-nil and will be used for request cancellation. If
  8350. // the context is nil a panic will occur. In the future the SDK may create
  8351. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8352. // for more information on using Contexts.
  8353. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  8354. req, out := c.DeleteNetworkAclRequest(input)
  8355. req.SetContext(ctx)
  8356. req.ApplyOptions(opts...)
  8357. return out, req.Send()
  8358. }
  8359. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  8360. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  8361. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  8362. // value will be populated with the request's response once the request completes
  8363. // successfully.
  8364. //
  8365. // Use "Send" method on the returned Request to send the API call to the service.
  8366. // the "output" return value is not valid until after Send returns without error.
  8367. //
  8368. // See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
  8369. // API call, and error handling.
  8370. //
  8371. // This method is useful when you want to inject custom logic or configuration
  8372. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8373. //
  8374. //
  8375. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  8376. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  8377. //
  8378. // err := req.Send()
  8379. // if err == nil { // resp is now filled
  8380. // fmt.Println(resp)
  8381. // }
  8382. //
  8383. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  8384. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  8385. op := &request.Operation{
  8386. Name: opDeleteNetworkAclEntry,
  8387. HTTPMethod: "POST",
  8388. HTTPPath: "/",
  8389. }
  8390. if input == nil {
  8391. input = &DeleteNetworkAclEntryInput{}
  8392. }
  8393. output = &DeleteNetworkAclEntryOutput{}
  8394. req = c.newRequest(op, input, output)
  8395. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8396. return
  8397. }
  8398. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  8399. //
  8400. // Deletes the specified ingress or egress entry (rule) from the specified network
  8401. // ACL.
  8402. //
  8403. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8404. // with awserr.Error's Code and Message methods to get detailed information about
  8405. // the error.
  8406. //
  8407. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8408. // API operation DeleteNetworkAclEntry for usage and error information.
  8409. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  8410. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  8411. req, out := c.DeleteNetworkAclEntryRequest(input)
  8412. return out, req.Send()
  8413. }
  8414. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  8415. // the ability to pass a context and additional request options.
  8416. //
  8417. // See DeleteNetworkAclEntry for details on how to use this API operation.
  8418. //
  8419. // The context must be non-nil and will be used for request cancellation. If
  8420. // the context is nil a panic will occur. In the future the SDK may create
  8421. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8422. // for more information on using Contexts.
  8423. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  8424. req, out := c.DeleteNetworkAclEntryRequest(input)
  8425. req.SetContext(ctx)
  8426. req.ApplyOptions(opts...)
  8427. return out, req.Send()
  8428. }
  8429. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  8430. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  8431. // client's request for the DeleteNetworkInterface operation. The "output" return
  8432. // value will be populated with the request's response once the request completes
  8433. // successfully.
  8434. //
  8435. // Use "Send" method on the returned Request to send the API call to the service.
  8436. // the "output" return value is not valid until after Send returns without error.
  8437. //
  8438. // See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
  8439. // API call, and error handling.
  8440. //
  8441. // This method is useful when you want to inject custom logic or configuration
  8442. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8443. //
  8444. //
  8445. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  8446. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  8447. //
  8448. // err := req.Send()
  8449. // if err == nil { // resp is now filled
  8450. // fmt.Println(resp)
  8451. // }
  8452. //
  8453. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  8454. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  8455. op := &request.Operation{
  8456. Name: opDeleteNetworkInterface,
  8457. HTTPMethod: "POST",
  8458. HTTPPath: "/",
  8459. }
  8460. if input == nil {
  8461. input = &DeleteNetworkInterfaceInput{}
  8462. }
  8463. output = &DeleteNetworkInterfaceOutput{}
  8464. req = c.newRequest(op, input, output)
  8465. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8466. return
  8467. }
  8468. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  8469. //
  8470. // Deletes the specified network interface. You must detach the network interface
  8471. // before you can delete it.
  8472. //
  8473. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8474. // with awserr.Error's Code and Message methods to get detailed information about
  8475. // the error.
  8476. //
  8477. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8478. // API operation DeleteNetworkInterface for usage and error information.
  8479. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  8480. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  8481. req, out := c.DeleteNetworkInterfaceRequest(input)
  8482. return out, req.Send()
  8483. }
  8484. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  8485. // the ability to pass a context and additional request options.
  8486. //
  8487. // See DeleteNetworkInterface for details on how to use this API operation.
  8488. //
  8489. // The context must be non-nil and will be used for request cancellation. If
  8490. // the context is nil a panic will occur. In the future the SDK may create
  8491. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8492. // for more information on using Contexts.
  8493. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  8494. req, out := c.DeleteNetworkInterfaceRequest(input)
  8495. req.SetContext(ctx)
  8496. req.ApplyOptions(opts...)
  8497. return out, req.Send()
  8498. }
  8499. const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
  8500. // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  8501. // client's request for the DeleteNetworkInterfacePermission operation. The "output" return
  8502. // value will be populated with the request's response once the request completes
  8503. // successfully.
  8504. //
  8505. // Use "Send" method on the returned Request to send the API call to the service.
  8506. // the "output" return value is not valid until after Send returns without error.
  8507. //
  8508. // See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
  8509. // API call, and error handling.
  8510. //
  8511. // This method is useful when you want to inject custom logic or configuration
  8512. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8513. //
  8514. //
  8515. // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
  8516. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
  8517. //
  8518. // err := req.Send()
  8519. // if err == nil { // resp is now filled
  8520. // fmt.Println(resp)
  8521. // }
  8522. //
  8523. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  8524. func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
  8525. op := &request.Operation{
  8526. Name: opDeleteNetworkInterfacePermission,
  8527. HTTPMethod: "POST",
  8528. HTTPPath: "/",
  8529. }
  8530. if input == nil {
  8531. input = &DeleteNetworkInterfacePermissionInput{}
  8532. }
  8533. output = &DeleteNetworkInterfacePermissionOutput{}
  8534. req = c.newRequest(op, input, output)
  8535. return
  8536. }
  8537. // DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  8538. //
  8539. // Deletes a permission for a network interface. By default, you cannot delete
  8540. // the permission if the account for which you're removing the permission has
  8541. // attached the network interface to an instance. However, you can force delete
  8542. // the permission, regardless of any attachment.
  8543. //
  8544. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8545. // with awserr.Error's Code and Message methods to get detailed information about
  8546. // the error.
  8547. //
  8548. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8549. // API operation DeleteNetworkInterfacePermission for usage and error information.
  8550. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  8551. func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
  8552. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  8553. return out, req.Send()
  8554. }
  8555. // DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
  8556. // the ability to pass a context and additional request options.
  8557. //
  8558. // See DeleteNetworkInterfacePermission for details on how to use this API operation.
  8559. //
  8560. // The context must be non-nil and will be used for request cancellation. If
  8561. // the context is nil a panic will occur. In the future the SDK may create
  8562. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8563. // for more information on using Contexts.
  8564. func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
  8565. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  8566. req.SetContext(ctx)
  8567. req.ApplyOptions(opts...)
  8568. return out, req.Send()
  8569. }
  8570. const opDeletePlacementGroup = "DeletePlacementGroup"
  8571. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  8572. // client's request for the DeletePlacementGroup operation. The "output" return
  8573. // value will be populated with the request's response once the request completes
  8574. // successfully.
  8575. //
  8576. // Use "Send" method on the returned Request to send the API call to the service.
  8577. // the "output" return value is not valid until after Send returns without error.
  8578. //
  8579. // See DeletePlacementGroup for more information on using the DeletePlacementGroup
  8580. // API call, and error handling.
  8581. //
  8582. // This method is useful when you want to inject custom logic or configuration
  8583. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8584. //
  8585. //
  8586. // // Example sending a request using the DeletePlacementGroupRequest method.
  8587. // req, resp := client.DeletePlacementGroupRequest(params)
  8588. //
  8589. // err := req.Send()
  8590. // if err == nil { // resp is now filled
  8591. // fmt.Println(resp)
  8592. // }
  8593. //
  8594. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  8595. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  8596. op := &request.Operation{
  8597. Name: opDeletePlacementGroup,
  8598. HTTPMethod: "POST",
  8599. HTTPPath: "/",
  8600. }
  8601. if input == nil {
  8602. input = &DeletePlacementGroupInput{}
  8603. }
  8604. output = &DeletePlacementGroupOutput{}
  8605. req = c.newRequest(op, input, output)
  8606. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8607. return
  8608. }
  8609. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  8610. //
  8611. // Deletes the specified placement group. You must terminate all instances in
  8612. // the placement group before you can delete the placement group. For more information,
  8613. // see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  8614. // in the Amazon Elastic Compute Cloud User Guide.
  8615. //
  8616. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8617. // with awserr.Error's Code and Message methods to get detailed information about
  8618. // the error.
  8619. //
  8620. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8621. // API operation DeletePlacementGroup for usage and error information.
  8622. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  8623. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  8624. req, out := c.DeletePlacementGroupRequest(input)
  8625. return out, req.Send()
  8626. }
  8627. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  8628. // the ability to pass a context and additional request options.
  8629. //
  8630. // See DeletePlacementGroup for details on how to use this API operation.
  8631. //
  8632. // The context must be non-nil and will be used for request cancellation. If
  8633. // the context is nil a panic will occur. In the future the SDK may create
  8634. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8635. // for more information on using Contexts.
  8636. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  8637. req, out := c.DeletePlacementGroupRequest(input)
  8638. req.SetContext(ctx)
  8639. req.ApplyOptions(opts...)
  8640. return out, req.Send()
  8641. }
  8642. const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances"
  8643. // DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the
  8644. // client's request for the DeleteQueuedReservedInstances operation. The "output" return
  8645. // value will be populated with the request's response once the request completes
  8646. // successfully.
  8647. //
  8648. // Use "Send" method on the returned Request to send the API call to the service.
  8649. // the "output" return value is not valid until after Send returns without error.
  8650. //
  8651. // See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances
  8652. // API call, and error handling.
  8653. //
  8654. // This method is useful when you want to inject custom logic or configuration
  8655. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8656. //
  8657. //
  8658. // // Example sending a request using the DeleteQueuedReservedInstancesRequest method.
  8659. // req, resp := client.DeleteQueuedReservedInstancesRequest(params)
  8660. //
  8661. // err := req.Send()
  8662. // if err == nil { // resp is now filled
  8663. // fmt.Println(resp)
  8664. // }
  8665. //
  8666. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
  8667. func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) {
  8668. op := &request.Operation{
  8669. Name: opDeleteQueuedReservedInstances,
  8670. HTTPMethod: "POST",
  8671. HTTPPath: "/",
  8672. }
  8673. if input == nil {
  8674. input = &DeleteQueuedReservedInstancesInput{}
  8675. }
  8676. output = &DeleteQueuedReservedInstancesOutput{}
  8677. req = c.newRequest(op, input, output)
  8678. return
  8679. }
  8680. // DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud.
  8681. //
  8682. // Deletes the queued purchases for the specified Reserved Instances.
  8683. //
  8684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8685. // with awserr.Error's Code and Message methods to get detailed information about
  8686. // the error.
  8687. //
  8688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8689. // API operation DeleteQueuedReservedInstances for usage and error information.
  8690. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
  8691. func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) {
  8692. req, out := c.DeleteQueuedReservedInstancesRequest(input)
  8693. return out, req.Send()
  8694. }
  8695. // DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of
  8696. // the ability to pass a context and additional request options.
  8697. //
  8698. // See DeleteQueuedReservedInstances for details on how to use this API operation.
  8699. //
  8700. // The context must be non-nil and will be used for request cancellation. If
  8701. // the context is nil a panic will occur. In the future the SDK may create
  8702. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8703. // for more information on using Contexts.
  8704. func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) {
  8705. req, out := c.DeleteQueuedReservedInstancesRequest(input)
  8706. req.SetContext(ctx)
  8707. req.ApplyOptions(opts...)
  8708. return out, req.Send()
  8709. }
  8710. const opDeleteRoute = "DeleteRoute"
  8711. // DeleteRouteRequest generates a "aws/request.Request" representing the
  8712. // client's request for the DeleteRoute operation. The "output" return
  8713. // value will be populated with the request's response once the request completes
  8714. // successfully.
  8715. //
  8716. // Use "Send" method on the returned Request to send the API call to the service.
  8717. // the "output" return value is not valid until after Send returns without error.
  8718. //
  8719. // See DeleteRoute for more information on using the DeleteRoute
  8720. // API call, and error handling.
  8721. //
  8722. // This method is useful when you want to inject custom logic or configuration
  8723. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8724. //
  8725. //
  8726. // // Example sending a request using the DeleteRouteRequest method.
  8727. // req, resp := client.DeleteRouteRequest(params)
  8728. //
  8729. // err := req.Send()
  8730. // if err == nil { // resp is now filled
  8731. // fmt.Println(resp)
  8732. // }
  8733. //
  8734. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  8735. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  8736. op := &request.Operation{
  8737. Name: opDeleteRoute,
  8738. HTTPMethod: "POST",
  8739. HTTPPath: "/",
  8740. }
  8741. if input == nil {
  8742. input = &DeleteRouteInput{}
  8743. }
  8744. output = &DeleteRouteOutput{}
  8745. req = c.newRequest(op, input, output)
  8746. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8747. return
  8748. }
  8749. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  8750. //
  8751. // Deletes the specified route from the specified route table.
  8752. //
  8753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8754. // with awserr.Error's Code and Message methods to get detailed information about
  8755. // the error.
  8756. //
  8757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8758. // API operation DeleteRoute for usage and error information.
  8759. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  8760. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  8761. req, out := c.DeleteRouteRequest(input)
  8762. return out, req.Send()
  8763. }
  8764. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  8765. // the ability to pass a context and additional request options.
  8766. //
  8767. // See DeleteRoute for details on how to use this API operation.
  8768. //
  8769. // The context must be non-nil and will be used for request cancellation. If
  8770. // the context is nil a panic will occur. In the future the SDK may create
  8771. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8772. // for more information on using Contexts.
  8773. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  8774. req, out := c.DeleteRouteRequest(input)
  8775. req.SetContext(ctx)
  8776. req.ApplyOptions(opts...)
  8777. return out, req.Send()
  8778. }
  8779. const opDeleteRouteTable = "DeleteRouteTable"
  8780. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  8781. // client's request for the DeleteRouteTable operation. The "output" return
  8782. // value will be populated with the request's response once the request completes
  8783. // successfully.
  8784. //
  8785. // Use "Send" method on the returned Request to send the API call to the service.
  8786. // the "output" return value is not valid until after Send returns without error.
  8787. //
  8788. // See DeleteRouteTable for more information on using the DeleteRouteTable
  8789. // API call, and error handling.
  8790. //
  8791. // This method is useful when you want to inject custom logic or configuration
  8792. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8793. //
  8794. //
  8795. // // Example sending a request using the DeleteRouteTableRequest method.
  8796. // req, resp := client.DeleteRouteTableRequest(params)
  8797. //
  8798. // err := req.Send()
  8799. // if err == nil { // resp is now filled
  8800. // fmt.Println(resp)
  8801. // }
  8802. //
  8803. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  8804. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  8805. op := &request.Operation{
  8806. Name: opDeleteRouteTable,
  8807. HTTPMethod: "POST",
  8808. HTTPPath: "/",
  8809. }
  8810. if input == nil {
  8811. input = &DeleteRouteTableInput{}
  8812. }
  8813. output = &DeleteRouteTableOutput{}
  8814. req = c.newRequest(op, input, output)
  8815. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8816. return
  8817. }
  8818. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  8819. //
  8820. // Deletes the specified route table. You must disassociate the route table
  8821. // from any subnets before you can delete it. You can't delete the main route
  8822. // table.
  8823. //
  8824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8825. // with awserr.Error's Code and Message methods to get detailed information about
  8826. // the error.
  8827. //
  8828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8829. // API operation DeleteRouteTable for usage and error information.
  8830. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  8831. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  8832. req, out := c.DeleteRouteTableRequest(input)
  8833. return out, req.Send()
  8834. }
  8835. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  8836. // the ability to pass a context and additional request options.
  8837. //
  8838. // See DeleteRouteTable for details on how to use this API operation.
  8839. //
  8840. // The context must be non-nil and will be used for request cancellation. If
  8841. // the context is nil a panic will occur. In the future the SDK may create
  8842. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8843. // for more information on using Contexts.
  8844. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  8845. req, out := c.DeleteRouteTableRequest(input)
  8846. req.SetContext(ctx)
  8847. req.ApplyOptions(opts...)
  8848. return out, req.Send()
  8849. }
  8850. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  8851. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  8852. // client's request for the DeleteSecurityGroup operation. The "output" return
  8853. // value will be populated with the request's response once the request completes
  8854. // successfully.
  8855. //
  8856. // Use "Send" method on the returned Request to send the API call to the service.
  8857. // the "output" return value is not valid until after Send returns without error.
  8858. //
  8859. // See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
  8860. // API call, and error handling.
  8861. //
  8862. // This method is useful when you want to inject custom logic or configuration
  8863. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8864. //
  8865. //
  8866. // // Example sending a request using the DeleteSecurityGroupRequest method.
  8867. // req, resp := client.DeleteSecurityGroupRequest(params)
  8868. //
  8869. // err := req.Send()
  8870. // if err == nil { // resp is now filled
  8871. // fmt.Println(resp)
  8872. // }
  8873. //
  8874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  8875. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  8876. op := &request.Operation{
  8877. Name: opDeleteSecurityGroup,
  8878. HTTPMethod: "POST",
  8879. HTTPPath: "/",
  8880. }
  8881. if input == nil {
  8882. input = &DeleteSecurityGroupInput{}
  8883. }
  8884. output = &DeleteSecurityGroupOutput{}
  8885. req = c.newRequest(op, input, output)
  8886. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8887. return
  8888. }
  8889. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  8890. //
  8891. // Deletes a security group.
  8892. //
  8893. // If you attempt to delete a security group that is associated with an instance,
  8894. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  8895. // in EC2-Classic or DependencyViolation in EC2-VPC.
  8896. //
  8897. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8898. // with awserr.Error's Code and Message methods to get detailed information about
  8899. // the error.
  8900. //
  8901. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8902. // API operation DeleteSecurityGroup for usage and error information.
  8903. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  8904. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  8905. req, out := c.DeleteSecurityGroupRequest(input)
  8906. return out, req.Send()
  8907. }
  8908. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  8909. // the ability to pass a context and additional request options.
  8910. //
  8911. // See DeleteSecurityGroup for details on how to use this API operation.
  8912. //
  8913. // The context must be non-nil and will be used for request cancellation. If
  8914. // the context is nil a panic will occur. In the future the SDK may create
  8915. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8916. // for more information on using Contexts.
  8917. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  8918. req, out := c.DeleteSecurityGroupRequest(input)
  8919. req.SetContext(ctx)
  8920. req.ApplyOptions(opts...)
  8921. return out, req.Send()
  8922. }
  8923. const opDeleteSnapshot = "DeleteSnapshot"
  8924. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  8925. // client's request for the DeleteSnapshot operation. The "output" return
  8926. // value will be populated with the request's response once the request completes
  8927. // successfully.
  8928. //
  8929. // Use "Send" method on the returned Request to send the API call to the service.
  8930. // the "output" return value is not valid until after Send returns without error.
  8931. //
  8932. // See DeleteSnapshot for more information on using the DeleteSnapshot
  8933. // API call, and error handling.
  8934. //
  8935. // This method is useful when you want to inject custom logic or configuration
  8936. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8937. //
  8938. //
  8939. // // Example sending a request using the DeleteSnapshotRequest method.
  8940. // req, resp := client.DeleteSnapshotRequest(params)
  8941. //
  8942. // err := req.Send()
  8943. // if err == nil { // resp is now filled
  8944. // fmt.Println(resp)
  8945. // }
  8946. //
  8947. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  8948. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  8949. op := &request.Operation{
  8950. Name: opDeleteSnapshot,
  8951. HTTPMethod: "POST",
  8952. HTTPPath: "/",
  8953. }
  8954. if input == nil {
  8955. input = &DeleteSnapshotInput{}
  8956. }
  8957. output = &DeleteSnapshotOutput{}
  8958. req = c.newRequest(op, input, output)
  8959. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8960. return
  8961. }
  8962. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  8963. //
  8964. // Deletes the specified snapshot.
  8965. //
  8966. // When you make periodic snapshots of a volume, the snapshots are incremental,
  8967. // and only the blocks on the device that have changed since your last snapshot
  8968. // are saved in the new snapshot. When you delete a snapshot, only the data
  8969. // not needed for any other snapshot is removed. So regardless of which prior
  8970. // snapshots have been deleted, all active snapshots will have access to all
  8971. // the information needed to restore the volume.
  8972. //
  8973. // You cannot delete a snapshot of the root device of an EBS volume used by
  8974. // a registered AMI. You must first de-register the AMI before you can delete
  8975. // the snapshot.
  8976. //
  8977. // For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  8978. // in the Amazon Elastic Compute Cloud User Guide.
  8979. //
  8980. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8981. // with awserr.Error's Code and Message methods to get detailed information about
  8982. // the error.
  8983. //
  8984. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8985. // API operation DeleteSnapshot for usage and error information.
  8986. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  8987. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  8988. req, out := c.DeleteSnapshotRequest(input)
  8989. return out, req.Send()
  8990. }
  8991. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  8992. // the ability to pass a context and additional request options.
  8993. //
  8994. // See DeleteSnapshot for details on how to use this API operation.
  8995. //
  8996. // The context must be non-nil and will be used for request cancellation. If
  8997. // the context is nil a panic will occur. In the future the SDK may create
  8998. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8999. // for more information on using Contexts.
  9000. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  9001. req, out := c.DeleteSnapshotRequest(input)
  9002. req.SetContext(ctx)
  9003. req.ApplyOptions(opts...)
  9004. return out, req.Send()
  9005. }
  9006. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  9007. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  9008. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  9009. // value will be populated with the request's response once the request completes
  9010. // successfully.
  9011. //
  9012. // Use "Send" method on the returned Request to send the API call to the service.
  9013. // the "output" return value is not valid until after Send returns without error.
  9014. //
  9015. // See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
  9016. // API call, and error handling.
  9017. //
  9018. // This method is useful when you want to inject custom logic or configuration
  9019. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9020. //
  9021. //
  9022. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  9023. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  9024. //
  9025. // err := req.Send()
  9026. // if err == nil { // resp is now filled
  9027. // fmt.Println(resp)
  9028. // }
  9029. //
  9030. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  9031. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  9032. op := &request.Operation{
  9033. Name: opDeleteSpotDatafeedSubscription,
  9034. HTTPMethod: "POST",
  9035. HTTPPath: "/",
  9036. }
  9037. if input == nil {
  9038. input = &DeleteSpotDatafeedSubscriptionInput{}
  9039. }
  9040. output = &DeleteSpotDatafeedSubscriptionOutput{}
  9041. req = c.newRequest(op, input, output)
  9042. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9043. return
  9044. }
  9045. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  9046. //
  9047. // Deletes the data feed for Spot Instances.
  9048. //
  9049. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9050. // with awserr.Error's Code and Message methods to get detailed information about
  9051. // the error.
  9052. //
  9053. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9054. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  9055. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  9056. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  9057. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  9058. return out, req.Send()
  9059. }
  9060. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  9061. // the ability to pass a context and additional request options.
  9062. //
  9063. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  9064. //
  9065. // The context must be non-nil and will be used for request cancellation. If
  9066. // the context is nil a panic will occur. In the future the SDK may create
  9067. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9068. // for more information on using Contexts.
  9069. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  9070. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  9071. req.SetContext(ctx)
  9072. req.ApplyOptions(opts...)
  9073. return out, req.Send()
  9074. }
  9075. const opDeleteSubnet = "DeleteSubnet"
  9076. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  9077. // client's request for the DeleteSubnet operation. The "output" return
  9078. // value will be populated with the request's response once the request completes
  9079. // successfully.
  9080. //
  9081. // Use "Send" method on the returned Request to send the API call to the service.
  9082. // the "output" return value is not valid until after Send returns without error.
  9083. //
  9084. // See DeleteSubnet for more information on using the DeleteSubnet
  9085. // API call, and error handling.
  9086. //
  9087. // This method is useful when you want to inject custom logic or configuration
  9088. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9089. //
  9090. //
  9091. // // Example sending a request using the DeleteSubnetRequest method.
  9092. // req, resp := client.DeleteSubnetRequest(params)
  9093. //
  9094. // err := req.Send()
  9095. // if err == nil { // resp is now filled
  9096. // fmt.Println(resp)
  9097. // }
  9098. //
  9099. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  9100. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  9101. op := &request.Operation{
  9102. Name: opDeleteSubnet,
  9103. HTTPMethod: "POST",
  9104. HTTPPath: "/",
  9105. }
  9106. if input == nil {
  9107. input = &DeleteSubnetInput{}
  9108. }
  9109. output = &DeleteSubnetOutput{}
  9110. req = c.newRequest(op, input, output)
  9111. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9112. return
  9113. }
  9114. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  9115. //
  9116. // Deletes the specified subnet. You must terminate all running instances in
  9117. // the subnet before you can delete the subnet.
  9118. //
  9119. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9120. // with awserr.Error's Code and Message methods to get detailed information about
  9121. // the error.
  9122. //
  9123. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9124. // API operation DeleteSubnet for usage and error information.
  9125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  9126. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  9127. req, out := c.DeleteSubnetRequest(input)
  9128. return out, req.Send()
  9129. }
  9130. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  9131. // the ability to pass a context and additional request options.
  9132. //
  9133. // See DeleteSubnet for details on how to use this API operation.
  9134. //
  9135. // The context must be non-nil and will be used for request cancellation. If
  9136. // the context is nil a panic will occur. In the future the SDK may create
  9137. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9138. // for more information on using Contexts.
  9139. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  9140. req, out := c.DeleteSubnetRequest(input)
  9141. req.SetContext(ctx)
  9142. req.ApplyOptions(opts...)
  9143. return out, req.Send()
  9144. }
  9145. const opDeleteTags = "DeleteTags"
  9146. // DeleteTagsRequest generates a "aws/request.Request" representing the
  9147. // client's request for the DeleteTags operation. The "output" return
  9148. // value will be populated with the request's response once the request completes
  9149. // successfully.
  9150. //
  9151. // Use "Send" method on the returned Request to send the API call to the service.
  9152. // the "output" return value is not valid until after Send returns without error.
  9153. //
  9154. // See DeleteTags for more information on using the DeleteTags
  9155. // API call, and error handling.
  9156. //
  9157. // This method is useful when you want to inject custom logic or configuration
  9158. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9159. //
  9160. //
  9161. // // Example sending a request using the DeleteTagsRequest method.
  9162. // req, resp := client.DeleteTagsRequest(params)
  9163. //
  9164. // err := req.Send()
  9165. // if err == nil { // resp is now filled
  9166. // fmt.Println(resp)
  9167. // }
  9168. //
  9169. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  9170. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  9171. op := &request.Operation{
  9172. Name: opDeleteTags,
  9173. HTTPMethod: "POST",
  9174. HTTPPath: "/",
  9175. }
  9176. if input == nil {
  9177. input = &DeleteTagsInput{}
  9178. }
  9179. output = &DeleteTagsOutput{}
  9180. req = c.newRequest(op, input, output)
  9181. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9182. return
  9183. }
  9184. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  9185. //
  9186. // Deletes the specified set of tags from the specified set of resources.
  9187. //
  9188. // To list the current tags, use DescribeTags. For more information about tags,
  9189. // see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  9190. // in the Amazon Elastic Compute Cloud User Guide.
  9191. //
  9192. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9193. // with awserr.Error's Code and Message methods to get detailed information about
  9194. // the error.
  9195. //
  9196. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9197. // API operation DeleteTags for usage and error information.
  9198. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  9199. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  9200. req, out := c.DeleteTagsRequest(input)
  9201. return out, req.Send()
  9202. }
  9203. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  9204. // the ability to pass a context and additional request options.
  9205. //
  9206. // See DeleteTags for details on how to use this API operation.
  9207. //
  9208. // The context must be non-nil and will be used for request cancellation. If
  9209. // the context is nil a panic will occur. In the future the SDK may create
  9210. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9211. // for more information on using Contexts.
  9212. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  9213. req, out := c.DeleteTagsRequest(input)
  9214. req.SetContext(ctx)
  9215. req.ApplyOptions(opts...)
  9216. return out, req.Send()
  9217. }
  9218. const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter"
  9219. // DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
  9220. // client's request for the DeleteTrafficMirrorFilter operation. The "output" return
  9221. // value will be populated with the request's response once the request completes
  9222. // successfully.
  9223. //
  9224. // Use "Send" method on the returned Request to send the API call to the service.
  9225. // the "output" return value is not valid until after Send returns without error.
  9226. //
  9227. // See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter
  9228. // API call, and error handling.
  9229. //
  9230. // This method is useful when you want to inject custom logic or configuration
  9231. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9232. //
  9233. //
  9234. // // Example sending a request using the DeleteTrafficMirrorFilterRequest method.
  9235. // req, resp := client.DeleteTrafficMirrorFilterRequest(params)
  9236. //
  9237. // err := req.Send()
  9238. // if err == nil { // resp is now filled
  9239. // fmt.Println(resp)
  9240. // }
  9241. //
  9242. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
  9243. func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) {
  9244. op := &request.Operation{
  9245. Name: opDeleteTrafficMirrorFilter,
  9246. HTTPMethod: "POST",
  9247. HTTPPath: "/",
  9248. }
  9249. if input == nil {
  9250. input = &DeleteTrafficMirrorFilterInput{}
  9251. }
  9252. output = &DeleteTrafficMirrorFilterOutput{}
  9253. req = c.newRequest(op, input, output)
  9254. return
  9255. }
  9256. // DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
  9257. //
  9258. // Deletes the specified Traffic Mirror filter.
  9259. //
  9260. // You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror
  9261. // session.
  9262. //
  9263. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9264. // with awserr.Error's Code and Message methods to get detailed information about
  9265. // the error.
  9266. //
  9267. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9268. // API operation DeleteTrafficMirrorFilter for usage and error information.
  9269. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
  9270. func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) {
  9271. req, out := c.DeleteTrafficMirrorFilterRequest(input)
  9272. return out, req.Send()
  9273. }
  9274. // DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of
  9275. // the ability to pass a context and additional request options.
  9276. //
  9277. // See DeleteTrafficMirrorFilter for details on how to use this API operation.
  9278. //
  9279. // The context must be non-nil and will be used for request cancellation. If
  9280. // the context is nil a panic will occur. In the future the SDK may create
  9281. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9282. // for more information on using Contexts.
  9283. func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) {
  9284. req, out := c.DeleteTrafficMirrorFilterRequest(input)
  9285. req.SetContext(ctx)
  9286. req.ApplyOptions(opts...)
  9287. return out, req.Send()
  9288. }
  9289. const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule"
  9290. // DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
  9291. // client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return
  9292. // value will be populated with the request's response once the request completes
  9293. // successfully.
  9294. //
  9295. // Use "Send" method on the returned Request to send the API call to the service.
  9296. // the "output" return value is not valid until after Send returns without error.
  9297. //
  9298. // See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule
  9299. // API call, and error handling.
  9300. //
  9301. // This method is useful when you want to inject custom logic or configuration
  9302. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9303. //
  9304. //
  9305. // // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method.
  9306. // req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params)
  9307. //
  9308. // err := req.Send()
  9309. // if err == nil { // resp is now filled
  9310. // fmt.Println(resp)
  9311. // }
  9312. //
  9313. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
  9314. func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) {
  9315. op := &request.Operation{
  9316. Name: opDeleteTrafficMirrorFilterRule,
  9317. HTTPMethod: "POST",
  9318. HTTPPath: "/",
  9319. }
  9320. if input == nil {
  9321. input = &DeleteTrafficMirrorFilterRuleInput{}
  9322. }
  9323. output = &DeleteTrafficMirrorFilterRuleOutput{}
  9324. req = c.newRequest(op, input, output)
  9325. return
  9326. }
  9327. // DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
  9328. //
  9329. // Deletes the specified Traffic Mirror rule.
  9330. //
  9331. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9332. // with awserr.Error's Code and Message methods to get detailed information about
  9333. // the error.
  9334. //
  9335. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9336. // API operation DeleteTrafficMirrorFilterRule for usage and error information.
  9337. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
  9338. func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) {
  9339. req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
  9340. return out, req.Send()
  9341. }
  9342. // DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of
  9343. // the ability to pass a context and additional request options.
  9344. //
  9345. // See DeleteTrafficMirrorFilterRule for details on how to use this API operation.
  9346. //
  9347. // The context must be non-nil and will be used for request cancellation. If
  9348. // the context is nil a panic will occur. In the future the SDK may create
  9349. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9350. // for more information on using Contexts.
  9351. func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) {
  9352. req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
  9353. req.SetContext(ctx)
  9354. req.ApplyOptions(opts...)
  9355. return out, req.Send()
  9356. }
  9357. const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession"
  9358. // DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
  9359. // client's request for the DeleteTrafficMirrorSession operation. The "output" return
  9360. // value will be populated with the request's response once the request completes
  9361. // successfully.
  9362. //
  9363. // Use "Send" method on the returned Request to send the API call to the service.
  9364. // the "output" return value is not valid until after Send returns without error.
  9365. //
  9366. // See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession
  9367. // API call, and error handling.
  9368. //
  9369. // This method is useful when you want to inject custom logic or configuration
  9370. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9371. //
  9372. //
  9373. // // Example sending a request using the DeleteTrafficMirrorSessionRequest method.
  9374. // req, resp := client.DeleteTrafficMirrorSessionRequest(params)
  9375. //
  9376. // err := req.Send()
  9377. // if err == nil { // resp is now filled
  9378. // fmt.Println(resp)
  9379. // }
  9380. //
  9381. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
  9382. func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) {
  9383. op := &request.Operation{
  9384. Name: opDeleteTrafficMirrorSession,
  9385. HTTPMethod: "POST",
  9386. HTTPPath: "/",
  9387. }
  9388. if input == nil {
  9389. input = &DeleteTrafficMirrorSessionInput{}
  9390. }
  9391. output = &DeleteTrafficMirrorSessionOutput{}
  9392. req = c.newRequest(op, input, output)
  9393. return
  9394. }
  9395. // DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
  9396. //
  9397. // Deletes the specified Traffic Mirror session.
  9398. //
  9399. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9400. // with awserr.Error's Code and Message methods to get detailed information about
  9401. // the error.
  9402. //
  9403. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9404. // API operation DeleteTrafficMirrorSession for usage and error information.
  9405. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
  9406. func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) {
  9407. req, out := c.DeleteTrafficMirrorSessionRequest(input)
  9408. return out, req.Send()
  9409. }
  9410. // DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of
  9411. // the ability to pass a context and additional request options.
  9412. //
  9413. // See DeleteTrafficMirrorSession for details on how to use this API operation.
  9414. //
  9415. // The context must be non-nil and will be used for request cancellation. If
  9416. // the context is nil a panic will occur. In the future the SDK may create
  9417. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9418. // for more information on using Contexts.
  9419. func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) {
  9420. req, out := c.DeleteTrafficMirrorSessionRequest(input)
  9421. req.SetContext(ctx)
  9422. req.ApplyOptions(opts...)
  9423. return out, req.Send()
  9424. }
  9425. const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget"
  9426. // DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
  9427. // client's request for the DeleteTrafficMirrorTarget operation. The "output" return
  9428. // value will be populated with the request's response once the request completes
  9429. // successfully.
  9430. //
  9431. // Use "Send" method on the returned Request to send the API call to the service.
  9432. // the "output" return value is not valid until after Send returns without error.
  9433. //
  9434. // See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget
  9435. // API call, and error handling.
  9436. //
  9437. // This method is useful when you want to inject custom logic or configuration
  9438. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9439. //
  9440. //
  9441. // // Example sending a request using the DeleteTrafficMirrorTargetRequest method.
  9442. // req, resp := client.DeleteTrafficMirrorTargetRequest(params)
  9443. //
  9444. // err := req.Send()
  9445. // if err == nil { // resp is now filled
  9446. // fmt.Println(resp)
  9447. // }
  9448. //
  9449. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
  9450. func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) {
  9451. op := &request.Operation{
  9452. Name: opDeleteTrafficMirrorTarget,
  9453. HTTPMethod: "POST",
  9454. HTTPPath: "/",
  9455. }
  9456. if input == nil {
  9457. input = &DeleteTrafficMirrorTargetInput{}
  9458. }
  9459. output = &DeleteTrafficMirrorTargetOutput{}
  9460. req = c.newRequest(op, input, output)
  9461. return
  9462. }
  9463. // DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
  9464. //
  9465. // Deletes the specified Traffic Mirror target.
  9466. //
  9467. // You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror
  9468. // session.
  9469. //
  9470. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9471. // with awserr.Error's Code and Message methods to get detailed information about
  9472. // the error.
  9473. //
  9474. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9475. // API operation DeleteTrafficMirrorTarget for usage and error information.
  9476. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
  9477. func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) {
  9478. req, out := c.DeleteTrafficMirrorTargetRequest(input)
  9479. return out, req.Send()
  9480. }
  9481. // DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of
  9482. // the ability to pass a context and additional request options.
  9483. //
  9484. // See DeleteTrafficMirrorTarget for details on how to use this API operation.
  9485. //
  9486. // The context must be non-nil and will be used for request cancellation. If
  9487. // the context is nil a panic will occur. In the future the SDK may create
  9488. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9489. // for more information on using Contexts.
  9490. func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) {
  9491. req, out := c.DeleteTrafficMirrorTargetRequest(input)
  9492. req.SetContext(ctx)
  9493. req.ApplyOptions(opts...)
  9494. return out, req.Send()
  9495. }
  9496. const opDeleteTransitGateway = "DeleteTransitGateway"
  9497. // DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
  9498. // client's request for the DeleteTransitGateway operation. The "output" return
  9499. // value will be populated with the request's response once the request completes
  9500. // successfully.
  9501. //
  9502. // Use "Send" method on the returned Request to send the API call to the service.
  9503. // the "output" return value is not valid until after Send returns without error.
  9504. //
  9505. // See DeleteTransitGateway for more information on using the DeleteTransitGateway
  9506. // API call, and error handling.
  9507. //
  9508. // This method is useful when you want to inject custom logic or configuration
  9509. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9510. //
  9511. //
  9512. // // Example sending a request using the DeleteTransitGatewayRequest method.
  9513. // req, resp := client.DeleteTransitGatewayRequest(params)
  9514. //
  9515. // err := req.Send()
  9516. // if err == nil { // resp is now filled
  9517. // fmt.Println(resp)
  9518. // }
  9519. //
  9520. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
  9521. func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
  9522. op := &request.Operation{
  9523. Name: opDeleteTransitGateway,
  9524. HTTPMethod: "POST",
  9525. HTTPPath: "/",
  9526. }
  9527. if input == nil {
  9528. input = &DeleteTransitGatewayInput{}
  9529. }
  9530. output = &DeleteTransitGatewayOutput{}
  9531. req = c.newRequest(op, input, output)
  9532. return
  9533. }
  9534. // DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
  9535. //
  9536. // Deletes the specified transit gateway.
  9537. //
  9538. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9539. // with awserr.Error's Code and Message methods to get detailed information about
  9540. // the error.
  9541. //
  9542. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9543. // API operation DeleteTransitGateway for usage and error information.
  9544. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
  9545. func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
  9546. req, out := c.DeleteTransitGatewayRequest(input)
  9547. return out, req.Send()
  9548. }
  9549. // DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
  9550. // the ability to pass a context and additional request options.
  9551. //
  9552. // See DeleteTransitGateway for details on how to use this API operation.
  9553. //
  9554. // The context must be non-nil and will be used for request cancellation. If
  9555. // the context is nil a panic will occur. In the future the SDK may create
  9556. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9557. // for more information on using Contexts.
  9558. func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
  9559. req, out := c.DeleteTransitGatewayRequest(input)
  9560. req.SetContext(ctx)
  9561. req.ApplyOptions(opts...)
  9562. return out, req.Send()
  9563. }
  9564. const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
  9565. // DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
  9566. // client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
  9567. // value will be populated with the request's response once the request completes
  9568. // successfully.
  9569. //
  9570. // Use "Send" method on the returned Request to send the API call to the service.
  9571. // the "output" return value is not valid until after Send returns without error.
  9572. //
  9573. // See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
  9574. // API call, and error handling.
  9575. //
  9576. // This method is useful when you want to inject custom logic or configuration
  9577. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9578. //
  9579. //
  9580. // // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
  9581. // req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
  9582. //
  9583. // err := req.Send()
  9584. // if err == nil { // resp is now filled
  9585. // fmt.Println(resp)
  9586. // }
  9587. //
  9588. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
  9589. func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
  9590. op := &request.Operation{
  9591. Name: opDeleteTransitGatewayMulticastDomain,
  9592. HTTPMethod: "POST",
  9593. HTTPPath: "/",
  9594. }
  9595. if input == nil {
  9596. input = &DeleteTransitGatewayMulticastDomainInput{}
  9597. }
  9598. output = &DeleteTransitGatewayMulticastDomainOutput{}
  9599. req = c.newRequest(op, input, output)
  9600. return
  9601. }
  9602. // DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
  9603. //
  9604. // Deletes the specified transit gateway multicast domain.
  9605. //
  9606. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9607. // with awserr.Error's Code and Message methods to get detailed information about
  9608. // the error.
  9609. //
  9610. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9611. // API operation DeleteTransitGatewayMulticastDomain for usage and error information.
  9612. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
  9613. func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
  9614. req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
  9615. return out, req.Send()
  9616. }
  9617. // DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
  9618. // the ability to pass a context and additional request options.
  9619. //
  9620. // See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
  9621. //
  9622. // The context must be non-nil and will be used for request cancellation. If
  9623. // the context is nil a panic will occur. In the future the SDK may create
  9624. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9625. // for more information on using Contexts.
  9626. func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
  9627. req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
  9628. req.SetContext(ctx)
  9629. req.ApplyOptions(opts...)
  9630. return out, req.Send()
  9631. }
  9632. const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
  9633. // DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
  9634. // client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
  9635. // value will be populated with the request's response once the request completes
  9636. // successfully.
  9637. //
  9638. // Use "Send" method on the returned Request to send the API call to the service.
  9639. // the "output" return value is not valid until after Send returns without error.
  9640. //
  9641. // See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
  9642. // API call, and error handling.
  9643. //
  9644. // This method is useful when you want to inject custom logic or configuration
  9645. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9646. //
  9647. //
  9648. // // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
  9649. // req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
  9650. //
  9651. // err := req.Send()
  9652. // if err == nil { // resp is now filled
  9653. // fmt.Println(resp)
  9654. // }
  9655. //
  9656. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
  9657. func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
  9658. op := &request.Operation{
  9659. Name: opDeleteTransitGatewayPeeringAttachment,
  9660. HTTPMethod: "POST",
  9661. HTTPPath: "/",
  9662. }
  9663. if input == nil {
  9664. input = &DeleteTransitGatewayPeeringAttachmentInput{}
  9665. }
  9666. output = &DeleteTransitGatewayPeeringAttachmentOutput{}
  9667. req = c.newRequest(op, input, output)
  9668. return
  9669. }
  9670. // DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
  9671. //
  9672. // Deletes a transit gateway peering attachment.
  9673. //
  9674. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9675. // with awserr.Error's Code and Message methods to get detailed information about
  9676. // the error.
  9677. //
  9678. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9679. // API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
  9680. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
  9681. func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
  9682. req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
  9683. return out, req.Send()
  9684. }
  9685. // DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
  9686. // the ability to pass a context and additional request options.
  9687. //
  9688. // See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
  9689. //
  9690. // The context must be non-nil and will be used for request cancellation. If
  9691. // the context is nil a panic will occur. In the future the SDK may create
  9692. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9693. // for more information on using Contexts.
  9694. func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
  9695. req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
  9696. req.SetContext(ctx)
  9697. req.ApplyOptions(opts...)
  9698. return out, req.Send()
  9699. }
  9700. const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
  9701. // DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  9702. // client's request for the DeleteTransitGatewayRoute operation. The "output" return
  9703. // value will be populated with the request's response once the request completes
  9704. // successfully.
  9705. //
  9706. // Use "Send" method on the returned Request to send the API call to the service.
  9707. // the "output" return value is not valid until after Send returns without error.
  9708. //
  9709. // See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
  9710. // API call, and error handling.
  9711. //
  9712. // This method is useful when you want to inject custom logic or configuration
  9713. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9714. //
  9715. //
  9716. // // Example sending a request using the DeleteTransitGatewayRouteRequest method.
  9717. // req, resp := client.DeleteTransitGatewayRouteRequest(params)
  9718. //
  9719. // err := req.Send()
  9720. // if err == nil { // resp is now filled
  9721. // fmt.Println(resp)
  9722. // }
  9723. //
  9724. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
  9725. func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
  9726. op := &request.Operation{
  9727. Name: opDeleteTransitGatewayRoute,
  9728. HTTPMethod: "POST",
  9729. HTTPPath: "/",
  9730. }
  9731. if input == nil {
  9732. input = &DeleteTransitGatewayRouteInput{}
  9733. }
  9734. output = &DeleteTransitGatewayRouteOutput{}
  9735. req = c.newRequest(op, input, output)
  9736. return
  9737. }
  9738. // DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  9739. //
  9740. // Deletes the specified route from the specified transit gateway route table.
  9741. //
  9742. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9743. // with awserr.Error's Code and Message methods to get detailed information about
  9744. // the error.
  9745. //
  9746. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9747. // API operation DeleteTransitGatewayRoute for usage and error information.
  9748. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
  9749. func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
  9750. req, out := c.DeleteTransitGatewayRouteRequest(input)
  9751. return out, req.Send()
  9752. }
  9753. // DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
  9754. // the ability to pass a context and additional request options.
  9755. //
  9756. // See DeleteTransitGatewayRoute for details on how to use this API operation.
  9757. //
  9758. // The context must be non-nil and will be used for request cancellation. If
  9759. // the context is nil a panic will occur. In the future the SDK may create
  9760. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9761. // for more information on using Contexts.
  9762. func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
  9763. req, out := c.DeleteTransitGatewayRouteRequest(input)
  9764. req.SetContext(ctx)
  9765. req.ApplyOptions(opts...)
  9766. return out, req.Send()
  9767. }
  9768. const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
  9769. // DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  9770. // client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
  9771. // value will be populated with the request's response once the request completes
  9772. // successfully.
  9773. //
  9774. // Use "Send" method on the returned Request to send the API call to the service.
  9775. // the "output" return value is not valid until after Send returns without error.
  9776. //
  9777. // See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
  9778. // API call, and error handling.
  9779. //
  9780. // This method is useful when you want to inject custom logic or configuration
  9781. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9782. //
  9783. //
  9784. // // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
  9785. // req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
  9786. //
  9787. // err := req.Send()
  9788. // if err == nil { // resp is now filled
  9789. // fmt.Println(resp)
  9790. // }
  9791. //
  9792. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
  9793. func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
  9794. op := &request.Operation{
  9795. Name: opDeleteTransitGatewayRouteTable,
  9796. HTTPMethod: "POST",
  9797. HTTPPath: "/",
  9798. }
  9799. if input == nil {
  9800. input = &DeleteTransitGatewayRouteTableInput{}
  9801. }
  9802. output = &DeleteTransitGatewayRouteTableOutput{}
  9803. req = c.newRequest(op, input, output)
  9804. return
  9805. }
  9806. // DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  9807. //
  9808. // Deletes the specified transit gateway route table. You must disassociate
  9809. // the route table from any transit gateway route tables before you can delete
  9810. // it.
  9811. //
  9812. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9813. // with awserr.Error's Code and Message methods to get detailed information about
  9814. // the error.
  9815. //
  9816. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9817. // API operation DeleteTransitGatewayRouteTable for usage and error information.
  9818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
  9819. func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
  9820. req, out := c.DeleteTransitGatewayRouteTableRequest(input)
  9821. return out, req.Send()
  9822. }
  9823. // DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
  9824. // the ability to pass a context and additional request options.
  9825. //
  9826. // See DeleteTransitGatewayRouteTable for details on how to use this API operation.
  9827. //
  9828. // The context must be non-nil and will be used for request cancellation. If
  9829. // the context is nil a panic will occur. In the future the SDK may create
  9830. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9831. // for more information on using Contexts.
  9832. func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
  9833. req, out := c.DeleteTransitGatewayRouteTableRequest(input)
  9834. req.SetContext(ctx)
  9835. req.ApplyOptions(opts...)
  9836. return out, req.Send()
  9837. }
  9838. const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
  9839. // DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  9840. // client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
  9841. // value will be populated with the request's response once the request completes
  9842. // successfully.
  9843. //
  9844. // Use "Send" method on the returned Request to send the API call to the service.
  9845. // the "output" return value is not valid until after Send returns without error.
  9846. //
  9847. // See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
  9848. // API call, and error handling.
  9849. //
  9850. // This method is useful when you want to inject custom logic or configuration
  9851. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9852. //
  9853. //
  9854. // // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
  9855. // req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
  9856. //
  9857. // err := req.Send()
  9858. // if err == nil { // resp is now filled
  9859. // fmt.Println(resp)
  9860. // }
  9861. //
  9862. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
  9863. func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
  9864. op := &request.Operation{
  9865. Name: opDeleteTransitGatewayVpcAttachment,
  9866. HTTPMethod: "POST",
  9867. HTTPPath: "/",
  9868. }
  9869. if input == nil {
  9870. input = &DeleteTransitGatewayVpcAttachmentInput{}
  9871. }
  9872. output = &DeleteTransitGatewayVpcAttachmentOutput{}
  9873. req = c.newRequest(op, input, output)
  9874. return
  9875. }
  9876. // DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  9877. //
  9878. // Deletes the specified VPC attachment.
  9879. //
  9880. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9881. // with awserr.Error's Code and Message methods to get detailed information about
  9882. // the error.
  9883. //
  9884. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9885. // API operation DeleteTransitGatewayVpcAttachment for usage and error information.
  9886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
  9887. func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
  9888. req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
  9889. return out, req.Send()
  9890. }
  9891. // DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
  9892. // the ability to pass a context and additional request options.
  9893. //
  9894. // See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
  9895. //
  9896. // The context must be non-nil and will be used for request cancellation. If
  9897. // the context is nil a panic will occur. In the future the SDK may create
  9898. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9899. // for more information on using Contexts.
  9900. func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
  9901. req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
  9902. req.SetContext(ctx)
  9903. req.ApplyOptions(opts...)
  9904. return out, req.Send()
  9905. }
  9906. const opDeleteVolume = "DeleteVolume"
  9907. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  9908. // client's request for the DeleteVolume operation. The "output" return
  9909. // value will be populated with the request's response once the request completes
  9910. // successfully.
  9911. //
  9912. // Use "Send" method on the returned Request to send the API call to the service.
  9913. // the "output" return value is not valid until after Send returns without error.
  9914. //
  9915. // See DeleteVolume for more information on using the DeleteVolume
  9916. // API call, and error handling.
  9917. //
  9918. // This method is useful when you want to inject custom logic or configuration
  9919. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9920. //
  9921. //
  9922. // // Example sending a request using the DeleteVolumeRequest method.
  9923. // req, resp := client.DeleteVolumeRequest(params)
  9924. //
  9925. // err := req.Send()
  9926. // if err == nil { // resp is now filled
  9927. // fmt.Println(resp)
  9928. // }
  9929. //
  9930. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  9931. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  9932. op := &request.Operation{
  9933. Name: opDeleteVolume,
  9934. HTTPMethod: "POST",
  9935. HTTPPath: "/",
  9936. }
  9937. if input == nil {
  9938. input = &DeleteVolumeInput{}
  9939. }
  9940. output = &DeleteVolumeOutput{}
  9941. req = c.newRequest(op, input, output)
  9942. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9943. return
  9944. }
  9945. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  9946. //
  9947. // Deletes the specified EBS volume. The volume must be in the available state
  9948. // (not attached to an instance).
  9949. //
  9950. // The volume can remain in the deleting state for several minutes.
  9951. //
  9952. // For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  9953. // in the Amazon Elastic Compute Cloud User Guide.
  9954. //
  9955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9956. // with awserr.Error's Code and Message methods to get detailed information about
  9957. // the error.
  9958. //
  9959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9960. // API operation DeleteVolume for usage and error information.
  9961. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  9962. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  9963. req, out := c.DeleteVolumeRequest(input)
  9964. return out, req.Send()
  9965. }
  9966. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  9967. // the ability to pass a context and additional request options.
  9968. //
  9969. // See DeleteVolume for details on how to use this API operation.
  9970. //
  9971. // The context must be non-nil and will be used for request cancellation. If
  9972. // the context is nil a panic will occur. In the future the SDK may create
  9973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9974. // for more information on using Contexts.
  9975. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  9976. req, out := c.DeleteVolumeRequest(input)
  9977. req.SetContext(ctx)
  9978. req.ApplyOptions(opts...)
  9979. return out, req.Send()
  9980. }
  9981. const opDeleteVpc = "DeleteVpc"
  9982. // DeleteVpcRequest generates a "aws/request.Request" representing the
  9983. // client's request for the DeleteVpc operation. The "output" return
  9984. // value will be populated with the request's response once the request completes
  9985. // successfully.
  9986. //
  9987. // Use "Send" method on the returned Request to send the API call to the service.
  9988. // the "output" return value is not valid until after Send returns without error.
  9989. //
  9990. // See DeleteVpc for more information on using the DeleteVpc
  9991. // API call, and error handling.
  9992. //
  9993. // This method is useful when you want to inject custom logic or configuration
  9994. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9995. //
  9996. //
  9997. // // Example sending a request using the DeleteVpcRequest method.
  9998. // req, resp := client.DeleteVpcRequest(params)
  9999. //
  10000. // err := req.Send()
  10001. // if err == nil { // resp is now filled
  10002. // fmt.Println(resp)
  10003. // }
  10004. //
  10005. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  10006. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  10007. op := &request.Operation{
  10008. Name: opDeleteVpc,
  10009. HTTPMethod: "POST",
  10010. HTTPPath: "/",
  10011. }
  10012. if input == nil {
  10013. input = &DeleteVpcInput{}
  10014. }
  10015. output = &DeleteVpcOutput{}
  10016. req = c.newRequest(op, input, output)
  10017. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  10018. return
  10019. }
  10020. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  10021. //
  10022. // Deletes the specified VPC. You must detach or delete all gateways and resources
  10023. // that are associated with the VPC before you can delete it. For example, you
  10024. // must terminate all instances running in the VPC, delete all security groups
  10025. // associated with the VPC (except the default one), delete all route tables
  10026. // associated with the VPC (except the default one), and so on.
  10027. //
  10028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10029. // with awserr.Error's Code and Message methods to get detailed information about
  10030. // the error.
  10031. //
  10032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10033. // API operation DeleteVpc for usage and error information.
  10034. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  10035. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  10036. req, out := c.DeleteVpcRequest(input)
  10037. return out, req.Send()
  10038. }
  10039. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  10040. // the ability to pass a context and additional request options.
  10041. //
  10042. // See DeleteVpc for details on how to use this API operation.
  10043. //
  10044. // The context must be non-nil and will be used for request cancellation. If
  10045. // the context is nil a panic will occur. In the future the SDK may create
  10046. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10047. // for more information on using Contexts.
  10048. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  10049. req, out := c.DeleteVpcRequest(input)
  10050. req.SetContext(ctx)
  10051. req.ApplyOptions(opts...)
  10052. return out, req.Send()
  10053. }
  10054. const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
  10055. // DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  10056. // client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
  10057. // value will be populated with the request's response once the request completes
  10058. // successfully.
  10059. //
  10060. // Use "Send" method on the returned Request to send the API call to the service.
  10061. // the "output" return value is not valid until after Send returns without error.
  10062. //
  10063. // See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
  10064. // API call, and error handling.
  10065. //
  10066. // This method is useful when you want to inject custom logic or configuration
  10067. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10068. //
  10069. //
  10070. // // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
  10071. // req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
  10072. //
  10073. // err := req.Send()
  10074. // if err == nil { // resp is now filled
  10075. // fmt.Println(resp)
  10076. // }
  10077. //
  10078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  10079. func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
  10080. op := &request.Operation{
  10081. Name: opDeleteVpcEndpointConnectionNotifications,
  10082. HTTPMethod: "POST",
  10083. HTTPPath: "/",
  10084. }
  10085. if input == nil {
  10086. input = &DeleteVpcEndpointConnectionNotificationsInput{}
  10087. }
  10088. output = &DeleteVpcEndpointConnectionNotificationsOutput{}
  10089. req = c.newRequest(op, input, output)
  10090. return
  10091. }
  10092. // DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  10093. //
  10094. // Deletes one or more VPC endpoint connection notifications.
  10095. //
  10096. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10097. // with awserr.Error's Code and Message methods to get detailed information about
  10098. // the error.
  10099. //
  10100. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10101. // API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
  10102. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  10103. func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  10104. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  10105. return out, req.Send()
  10106. }
  10107. // DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
  10108. // the ability to pass a context and additional request options.
  10109. //
  10110. // See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
  10111. //
  10112. // The context must be non-nil and will be used for request cancellation. If
  10113. // the context is nil a panic will occur. In the future the SDK may create
  10114. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10115. // for more information on using Contexts.
  10116. func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  10117. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  10118. req.SetContext(ctx)
  10119. req.ApplyOptions(opts...)
  10120. return out, req.Send()
  10121. }
  10122. const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
  10123. // DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  10124. // client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
  10125. // value will be populated with the request's response once the request completes
  10126. // successfully.
  10127. //
  10128. // Use "Send" method on the returned Request to send the API call to the service.
  10129. // the "output" return value is not valid until after Send returns without error.
  10130. //
  10131. // See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
  10132. // API call, and error handling.
  10133. //
  10134. // This method is useful when you want to inject custom logic or configuration
  10135. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10136. //
  10137. //
  10138. // // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
  10139. // req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
  10140. //
  10141. // err := req.Send()
  10142. // if err == nil { // resp is now filled
  10143. // fmt.Println(resp)
  10144. // }
  10145. //
  10146. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  10147. func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
  10148. op := &request.Operation{
  10149. Name: opDeleteVpcEndpointServiceConfigurations,
  10150. HTTPMethod: "POST",
  10151. HTTPPath: "/",
  10152. }
  10153. if input == nil {
  10154. input = &DeleteVpcEndpointServiceConfigurationsInput{}
  10155. }
  10156. output = &DeleteVpcEndpointServiceConfigurationsOutput{}
  10157. req = c.newRequest(op, input, output)
  10158. return
  10159. }
  10160. // DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  10161. //
  10162. // Deletes one or more VPC endpoint service configurations in your account.
  10163. // Before you delete the endpoint service configuration, you must reject any
  10164. // Available or PendingAcceptance interface endpoint connections that are attached
  10165. // to the service.
  10166. //
  10167. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10168. // with awserr.Error's Code and Message methods to get detailed information about
  10169. // the error.
  10170. //
  10171. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10172. // API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
  10173. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  10174. func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  10175. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  10176. return out, req.Send()
  10177. }
  10178. // DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
  10179. // the ability to pass a context and additional request options.
  10180. //
  10181. // See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
  10182. //
  10183. // The context must be non-nil and will be used for request cancellation. If
  10184. // the context is nil a panic will occur. In the future the SDK may create
  10185. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10186. // for more information on using Contexts.
  10187. func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  10188. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  10189. req.SetContext(ctx)
  10190. req.ApplyOptions(opts...)
  10191. return out, req.Send()
  10192. }
  10193. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  10194. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  10195. // client's request for the DeleteVpcEndpoints operation. The "output" return
  10196. // value will be populated with the request's response once the request completes
  10197. // successfully.
  10198. //
  10199. // Use "Send" method on the returned Request to send the API call to the service.
  10200. // the "output" return value is not valid until after Send returns without error.
  10201. //
  10202. // See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
  10203. // API call, and error handling.
  10204. //
  10205. // This method is useful when you want to inject custom logic or configuration
  10206. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10207. //
  10208. //
  10209. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  10210. // req, resp := client.DeleteVpcEndpointsRequest(params)
  10211. //
  10212. // err := req.Send()
  10213. // if err == nil { // resp is now filled
  10214. // fmt.Println(resp)
  10215. // }
  10216. //
  10217. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  10218. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  10219. op := &request.Operation{
  10220. Name: opDeleteVpcEndpoints,
  10221. HTTPMethod: "POST",
  10222. HTTPPath: "/",
  10223. }
  10224. if input == nil {
  10225. input = &DeleteVpcEndpointsInput{}
  10226. }
  10227. output = &DeleteVpcEndpointsOutput{}
  10228. req = c.newRequest(op, input, output)
  10229. return
  10230. }
  10231. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  10232. //
  10233. // Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
  10234. // also deletes the endpoint routes in the route tables that were associated
  10235. // with the endpoint. Deleting an interface endpoint deletes the endpoint network
  10236. // interfaces.
  10237. //
  10238. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10239. // with awserr.Error's Code and Message methods to get detailed information about
  10240. // the error.
  10241. //
  10242. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10243. // API operation DeleteVpcEndpoints for usage and error information.
  10244. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  10245. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  10246. req, out := c.DeleteVpcEndpointsRequest(input)
  10247. return out, req.Send()
  10248. }
  10249. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  10250. // the ability to pass a context and additional request options.
  10251. //
  10252. // See DeleteVpcEndpoints for details on how to use this API operation.
  10253. //
  10254. // The context must be non-nil and will be used for request cancellation. If
  10255. // the context is nil a panic will occur. In the future the SDK may create
  10256. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10257. // for more information on using Contexts.
  10258. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  10259. req, out := c.DeleteVpcEndpointsRequest(input)
  10260. req.SetContext(ctx)
  10261. req.ApplyOptions(opts...)
  10262. return out, req.Send()
  10263. }
  10264. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  10265. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  10266. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  10267. // value will be populated with the request's response once the request completes
  10268. // successfully.
  10269. //
  10270. // Use "Send" method on the returned Request to send the API call to the service.
  10271. // the "output" return value is not valid until after Send returns without error.
  10272. //
  10273. // See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
  10274. // API call, and error handling.
  10275. //
  10276. // This method is useful when you want to inject custom logic or configuration
  10277. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10278. //
  10279. //
  10280. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  10281. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  10282. //
  10283. // err := req.Send()
  10284. // if err == nil { // resp is now filled
  10285. // fmt.Println(resp)
  10286. // }
  10287. //
  10288. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  10289. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  10290. op := &request.Operation{
  10291. Name: opDeleteVpcPeeringConnection,
  10292. HTTPMethod: "POST",
  10293. HTTPPath: "/",
  10294. }
  10295. if input == nil {
  10296. input = &DeleteVpcPeeringConnectionInput{}
  10297. }
  10298. output = &DeleteVpcPeeringConnectionOutput{}
  10299. req = c.newRequest(op, input, output)
  10300. return
  10301. }
  10302. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  10303. //
  10304. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  10305. // the owner of the accepter VPC can delete the VPC peering connection if it's
  10306. // in the active state. The owner of the requester VPC can delete a VPC peering
  10307. // connection in the pending-acceptance state. You cannot delete a VPC peering
  10308. // connection that's in the failed state.
  10309. //
  10310. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10311. // with awserr.Error's Code and Message methods to get detailed information about
  10312. // the error.
  10313. //
  10314. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10315. // API operation DeleteVpcPeeringConnection for usage and error information.
  10316. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  10317. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  10318. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  10319. return out, req.Send()
  10320. }
  10321. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  10322. // the ability to pass a context and additional request options.
  10323. //
  10324. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  10325. //
  10326. // The context must be non-nil and will be used for request cancellation. If
  10327. // the context is nil a panic will occur. In the future the SDK may create
  10328. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10329. // for more information on using Contexts.
  10330. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  10331. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  10332. req.SetContext(ctx)
  10333. req.ApplyOptions(opts...)
  10334. return out, req.Send()
  10335. }
  10336. const opDeleteVpnConnection = "DeleteVpnConnection"
  10337. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  10338. // client's request for the DeleteVpnConnection operation. The "output" return
  10339. // value will be populated with the request's response once the request completes
  10340. // successfully.
  10341. //
  10342. // Use "Send" method on the returned Request to send the API call to the service.
  10343. // the "output" return value is not valid until after Send returns without error.
  10344. //
  10345. // See DeleteVpnConnection for more information on using the DeleteVpnConnection
  10346. // API call, and error handling.
  10347. //
  10348. // This method is useful when you want to inject custom logic or configuration
  10349. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10350. //
  10351. //
  10352. // // Example sending a request using the DeleteVpnConnectionRequest method.
  10353. // req, resp := client.DeleteVpnConnectionRequest(params)
  10354. //
  10355. // err := req.Send()
  10356. // if err == nil { // resp is now filled
  10357. // fmt.Println(resp)
  10358. // }
  10359. //
  10360. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  10361. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  10362. op := &request.Operation{
  10363. Name: opDeleteVpnConnection,
  10364. HTTPMethod: "POST",
  10365. HTTPPath: "/",
  10366. }
  10367. if input == nil {
  10368. input = &DeleteVpnConnectionInput{}
  10369. }
  10370. output = &DeleteVpnConnectionOutput{}
  10371. req = c.newRequest(op, input, output)
  10372. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  10373. return
  10374. }
  10375. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  10376. //
  10377. // Deletes the specified VPN connection.
  10378. //
  10379. // If you're deleting the VPC and its associated components, we recommend that
  10380. // you detach the virtual private gateway from the VPC and delete the VPC before
  10381. // deleting the VPN connection. If you believe that the tunnel credentials for
  10382. // your VPN connection have been compromised, you can delete the VPN connection
  10383. // and create a new one that has new keys, without needing to delete the VPC
  10384. // or virtual private gateway. If you create a new VPN connection, you must
  10385. // reconfigure the customer gateway using the new configuration information
  10386. // returned with the new VPN connection ID.
  10387. //
  10388. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10389. // with awserr.Error's Code and Message methods to get detailed information about
  10390. // the error.
  10391. //
  10392. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10393. // API operation DeleteVpnConnection for usage and error information.
  10394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  10395. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  10396. req, out := c.DeleteVpnConnectionRequest(input)
  10397. return out, req.Send()
  10398. }
  10399. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  10400. // the ability to pass a context and additional request options.
  10401. //
  10402. // See DeleteVpnConnection for details on how to use this API operation.
  10403. //
  10404. // The context must be non-nil and will be used for request cancellation. If
  10405. // the context is nil a panic will occur. In the future the SDK may create
  10406. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10407. // for more information on using Contexts.
  10408. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  10409. req, out := c.DeleteVpnConnectionRequest(input)
  10410. req.SetContext(ctx)
  10411. req.ApplyOptions(opts...)
  10412. return out, req.Send()
  10413. }
  10414. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  10415. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  10416. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  10417. // value will be populated with the request's response once the request completes
  10418. // successfully.
  10419. //
  10420. // Use "Send" method on the returned Request to send the API call to the service.
  10421. // the "output" return value is not valid until after Send returns without error.
  10422. //
  10423. // See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
  10424. // API call, and error handling.
  10425. //
  10426. // This method is useful when you want to inject custom logic or configuration
  10427. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10428. //
  10429. //
  10430. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  10431. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  10432. //
  10433. // err := req.Send()
  10434. // if err == nil { // resp is now filled
  10435. // fmt.Println(resp)
  10436. // }
  10437. //
  10438. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  10439. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  10440. op := &request.Operation{
  10441. Name: opDeleteVpnConnectionRoute,
  10442. HTTPMethod: "POST",
  10443. HTTPPath: "/",
  10444. }
  10445. if input == nil {
  10446. input = &DeleteVpnConnectionRouteInput{}
  10447. }
  10448. output = &DeleteVpnConnectionRouteOutput{}
  10449. req = c.newRequest(op, input, output)
  10450. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  10451. return
  10452. }
  10453. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  10454. //
  10455. // Deletes the specified static route associated with a VPN connection between
  10456. // an existing virtual private gateway and a VPN customer gateway. The static
  10457. // route allows traffic to be routed from the virtual private gateway to the
  10458. // VPN customer gateway.
  10459. //
  10460. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10461. // with awserr.Error's Code and Message methods to get detailed information about
  10462. // the error.
  10463. //
  10464. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10465. // API operation DeleteVpnConnectionRoute for usage and error information.
  10466. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  10467. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  10468. req, out := c.DeleteVpnConnectionRouteRequest(input)
  10469. return out, req.Send()
  10470. }
  10471. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  10472. // the ability to pass a context and additional request options.
  10473. //
  10474. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  10475. //
  10476. // The context must be non-nil and will be used for request cancellation. If
  10477. // the context is nil a panic will occur. In the future the SDK may create
  10478. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10479. // for more information on using Contexts.
  10480. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  10481. req, out := c.DeleteVpnConnectionRouteRequest(input)
  10482. req.SetContext(ctx)
  10483. req.ApplyOptions(opts...)
  10484. return out, req.Send()
  10485. }
  10486. const opDeleteVpnGateway = "DeleteVpnGateway"
  10487. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  10488. // client's request for the DeleteVpnGateway operation. The "output" return
  10489. // value will be populated with the request's response once the request completes
  10490. // successfully.
  10491. //
  10492. // Use "Send" method on the returned Request to send the API call to the service.
  10493. // the "output" return value is not valid until after Send returns without error.
  10494. //
  10495. // See DeleteVpnGateway for more information on using the DeleteVpnGateway
  10496. // API call, and error handling.
  10497. //
  10498. // This method is useful when you want to inject custom logic or configuration
  10499. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10500. //
  10501. //
  10502. // // Example sending a request using the DeleteVpnGatewayRequest method.
  10503. // req, resp := client.DeleteVpnGatewayRequest(params)
  10504. //
  10505. // err := req.Send()
  10506. // if err == nil { // resp is now filled
  10507. // fmt.Println(resp)
  10508. // }
  10509. //
  10510. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  10511. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  10512. op := &request.Operation{
  10513. Name: opDeleteVpnGateway,
  10514. HTTPMethod: "POST",
  10515. HTTPPath: "/",
  10516. }
  10517. if input == nil {
  10518. input = &DeleteVpnGatewayInput{}
  10519. }
  10520. output = &DeleteVpnGatewayOutput{}
  10521. req = c.newRequest(op, input, output)
  10522. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  10523. return
  10524. }
  10525. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  10526. //
  10527. // Deletes the specified virtual private gateway. We recommend that before you
  10528. // delete a virtual private gateway, you detach it from the VPC and delete the
  10529. // VPN connection. Note that you don't need to delete the virtual private gateway
  10530. // if you plan to delete and recreate the VPN connection between your VPC and
  10531. // your network.
  10532. //
  10533. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10534. // with awserr.Error's Code and Message methods to get detailed information about
  10535. // the error.
  10536. //
  10537. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10538. // API operation DeleteVpnGateway for usage and error information.
  10539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  10540. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  10541. req, out := c.DeleteVpnGatewayRequest(input)
  10542. return out, req.Send()
  10543. }
  10544. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  10545. // the ability to pass a context and additional request options.
  10546. //
  10547. // See DeleteVpnGateway for details on how to use this API operation.
  10548. //
  10549. // The context must be non-nil and will be used for request cancellation. If
  10550. // the context is nil a panic will occur. In the future the SDK may create
  10551. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10552. // for more information on using Contexts.
  10553. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  10554. req, out := c.DeleteVpnGatewayRequest(input)
  10555. req.SetContext(ctx)
  10556. req.ApplyOptions(opts...)
  10557. return out, req.Send()
  10558. }
  10559. const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
  10560. // DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
  10561. // client's request for the DeprovisionByoipCidr operation. The "output" return
  10562. // value will be populated with the request's response once the request completes
  10563. // successfully.
  10564. //
  10565. // Use "Send" method on the returned Request to send the API call to the service.
  10566. // the "output" return value is not valid until after Send returns without error.
  10567. //
  10568. // See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
  10569. // API call, and error handling.
  10570. //
  10571. // This method is useful when you want to inject custom logic or configuration
  10572. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10573. //
  10574. //
  10575. // // Example sending a request using the DeprovisionByoipCidrRequest method.
  10576. // req, resp := client.DeprovisionByoipCidrRequest(params)
  10577. //
  10578. // err := req.Send()
  10579. // if err == nil { // resp is now filled
  10580. // fmt.Println(resp)
  10581. // }
  10582. //
  10583. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
  10584. func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
  10585. op := &request.Operation{
  10586. Name: opDeprovisionByoipCidr,
  10587. HTTPMethod: "POST",
  10588. HTTPPath: "/",
  10589. }
  10590. if input == nil {
  10591. input = &DeprovisionByoipCidrInput{}
  10592. }
  10593. output = &DeprovisionByoipCidrOutput{}
  10594. req = c.newRequest(op, input, output)
  10595. return
  10596. }
  10597. // DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
  10598. //
  10599. // Releases the specified address range that you provisioned for use with your
  10600. // AWS resources through bring your own IP addresses (BYOIP) and deletes the
  10601. // corresponding address pool.
  10602. //
  10603. // Before you can release an address range, you must stop advertising it using
  10604. // WithdrawByoipCidr and you must not have any IP addresses allocated from its
  10605. // address range.
  10606. //
  10607. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10608. // with awserr.Error's Code and Message methods to get detailed information about
  10609. // the error.
  10610. //
  10611. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10612. // API operation DeprovisionByoipCidr for usage and error information.
  10613. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
  10614. func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
  10615. req, out := c.DeprovisionByoipCidrRequest(input)
  10616. return out, req.Send()
  10617. }
  10618. // DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
  10619. // the ability to pass a context and additional request options.
  10620. //
  10621. // See DeprovisionByoipCidr for details on how to use this API operation.
  10622. //
  10623. // The context must be non-nil and will be used for request cancellation. If
  10624. // the context is nil a panic will occur. In the future the SDK may create
  10625. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10626. // for more information on using Contexts.
  10627. func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
  10628. req, out := c.DeprovisionByoipCidrRequest(input)
  10629. req.SetContext(ctx)
  10630. req.ApplyOptions(opts...)
  10631. return out, req.Send()
  10632. }
  10633. const opDeregisterImage = "DeregisterImage"
  10634. // DeregisterImageRequest generates a "aws/request.Request" representing the
  10635. // client's request for the DeregisterImage operation. The "output" return
  10636. // value will be populated with the request's response once the request completes
  10637. // successfully.
  10638. //
  10639. // Use "Send" method on the returned Request to send the API call to the service.
  10640. // the "output" return value is not valid until after Send returns without error.
  10641. //
  10642. // See DeregisterImage for more information on using the DeregisterImage
  10643. // API call, and error handling.
  10644. //
  10645. // This method is useful when you want to inject custom logic or configuration
  10646. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10647. //
  10648. //
  10649. // // Example sending a request using the DeregisterImageRequest method.
  10650. // req, resp := client.DeregisterImageRequest(params)
  10651. //
  10652. // err := req.Send()
  10653. // if err == nil { // resp is now filled
  10654. // fmt.Println(resp)
  10655. // }
  10656. //
  10657. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  10658. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  10659. op := &request.Operation{
  10660. Name: opDeregisterImage,
  10661. HTTPMethod: "POST",
  10662. HTTPPath: "/",
  10663. }
  10664. if input == nil {
  10665. input = &DeregisterImageInput{}
  10666. }
  10667. output = &DeregisterImageOutput{}
  10668. req = c.newRequest(op, input, output)
  10669. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  10670. return
  10671. }
  10672. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  10673. //
  10674. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  10675. // to launch new instances; however, it doesn't affect any instances that you've
  10676. // already launched from the AMI. You'll continue to incur usage costs for those
  10677. // instances until you terminate them.
  10678. //
  10679. // When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
  10680. // that was created for the root volume of the instance during the AMI creation
  10681. // process. When you deregister an instance store-backed AMI, it doesn't affect
  10682. // the files that you uploaded to Amazon S3 when you created the AMI.
  10683. //
  10684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10685. // with awserr.Error's Code and Message methods to get detailed information about
  10686. // the error.
  10687. //
  10688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10689. // API operation DeregisterImage for usage and error information.
  10690. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  10691. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  10692. req, out := c.DeregisterImageRequest(input)
  10693. return out, req.Send()
  10694. }
  10695. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  10696. // the ability to pass a context and additional request options.
  10697. //
  10698. // See DeregisterImage for details on how to use this API operation.
  10699. //
  10700. // The context must be non-nil and will be used for request cancellation. If
  10701. // the context is nil a panic will occur. In the future the SDK may create
  10702. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10703. // for more information on using Contexts.
  10704. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  10705. req, out := c.DeregisterImageRequest(input)
  10706. req.SetContext(ctx)
  10707. req.ApplyOptions(opts...)
  10708. return out, req.Send()
  10709. }
  10710. const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
  10711. // DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
  10712. // client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
  10713. // value will be populated with the request's response once the request completes
  10714. // successfully.
  10715. //
  10716. // Use "Send" method on the returned Request to send the API call to the service.
  10717. // the "output" return value is not valid until after Send returns without error.
  10718. //
  10719. // See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
  10720. // API call, and error handling.
  10721. //
  10722. // This method is useful when you want to inject custom logic or configuration
  10723. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10724. //
  10725. //
  10726. // // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
  10727. // req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
  10728. //
  10729. // err := req.Send()
  10730. // if err == nil { // resp is now filled
  10731. // fmt.Println(resp)
  10732. // }
  10733. //
  10734. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
  10735. func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
  10736. op := &request.Operation{
  10737. Name: opDeregisterTransitGatewayMulticastGroupMembers,
  10738. HTTPMethod: "POST",
  10739. HTTPPath: "/",
  10740. }
  10741. if input == nil {
  10742. input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
  10743. }
  10744. output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
  10745. req = c.newRequest(op, input, output)
  10746. return
  10747. }
  10748. // DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
  10749. //
  10750. // Deregisters the specified members (network interfaces) from the transit gateway
  10751. // multicast group.
  10752. //
  10753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10754. // with awserr.Error's Code and Message methods to get detailed information about
  10755. // the error.
  10756. //
  10757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10758. // API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
  10759. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
  10760. func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
  10761. req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
  10762. return out, req.Send()
  10763. }
  10764. // DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
  10765. // the ability to pass a context and additional request options.
  10766. //
  10767. // See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
  10768. //
  10769. // The context must be non-nil and will be used for request cancellation. If
  10770. // the context is nil a panic will occur. In the future the SDK may create
  10771. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10772. // for more information on using Contexts.
  10773. func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
  10774. req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
  10775. req.SetContext(ctx)
  10776. req.ApplyOptions(opts...)
  10777. return out, req.Send()
  10778. }
  10779. const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
  10780. // DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
  10781. // client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
  10782. // value will be populated with the request's response once the request completes
  10783. // successfully.
  10784. //
  10785. // Use "Send" method on the returned Request to send the API call to the service.
  10786. // the "output" return value is not valid until after Send returns without error.
  10787. //
  10788. // See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
  10789. // API call, and error handling.
  10790. //
  10791. // This method is useful when you want to inject custom logic or configuration
  10792. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10793. //
  10794. //
  10795. // // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
  10796. // req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
  10797. //
  10798. // err := req.Send()
  10799. // if err == nil { // resp is now filled
  10800. // fmt.Println(resp)
  10801. // }
  10802. //
  10803. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
  10804. func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
  10805. op := &request.Operation{
  10806. Name: opDeregisterTransitGatewayMulticastGroupSources,
  10807. HTTPMethod: "POST",
  10808. HTTPPath: "/",
  10809. }
  10810. if input == nil {
  10811. input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
  10812. }
  10813. output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
  10814. req = c.newRequest(op, input, output)
  10815. return
  10816. }
  10817. // DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
  10818. //
  10819. // Deregisters the specified sources (network interfaces) from the transit gateway
  10820. // multicast group.
  10821. //
  10822. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10823. // with awserr.Error's Code and Message methods to get detailed information about
  10824. // the error.
  10825. //
  10826. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10827. // API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
  10828. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
  10829. func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
  10830. req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
  10831. return out, req.Send()
  10832. }
  10833. // DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
  10834. // the ability to pass a context and additional request options.
  10835. //
  10836. // See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
  10837. //
  10838. // The context must be non-nil and will be used for request cancellation. If
  10839. // the context is nil a panic will occur. In the future the SDK may create
  10840. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10841. // for more information on using Contexts.
  10842. func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
  10843. req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
  10844. req.SetContext(ctx)
  10845. req.ApplyOptions(opts...)
  10846. return out, req.Send()
  10847. }
  10848. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  10849. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  10850. // client's request for the DescribeAccountAttributes operation. The "output" return
  10851. // value will be populated with the request's response once the request completes
  10852. // successfully.
  10853. //
  10854. // Use "Send" method on the returned Request to send the API call to the service.
  10855. // the "output" return value is not valid until after Send returns without error.
  10856. //
  10857. // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  10858. // API call, and error handling.
  10859. //
  10860. // This method is useful when you want to inject custom logic or configuration
  10861. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10862. //
  10863. //
  10864. // // Example sending a request using the DescribeAccountAttributesRequest method.
  10865. // req, resp := client.DescribeAccountAttributesRequest(params)
  10866. //
  10867. // err := req.Send()
  10868. // if err == nil { // resp is now filled
  10869. // fmt.Println(resp)
  10870. // }
  10871. //
  10872. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  10873. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  10874. op := &request.Operation{
  10875. Name: opDescribeAccountAttributes,
  10876. HTTPMethod: "POST",
  10877. HTTPPath: "/",
  10878. }
  10879. if input == nil {
  10880. input = &DescribeAccountAttributesInput{}
  10881. }
  10882. output = &DescribeAccountAttributesOutput{}
  10883. req = c.newRequest(op, input, output)
  10884. return
  10885. }
  10886. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  10887. //
  10888. // Describes attributes of your AWS account. The following are the supported
  10889. // account attributes:
  10890. //
  10891. // * supported-platforms: Indicates whether your account can launch instances
  10892. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  10893. //
  10894. // * default-vpc: The ID of the default VPC for your account, or none.
  10895. //
  10896. // * max-instances: This attribute is no longer supported. The returned value
  10897. // does not reflect your actual vCPU limit for running On-Demand Instances.
  10898. // For more information, see On-Demand Instance Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits)
  10899. // in the Amazon Elastic Compute Cloud User Guide.
  10900. //
  10901. // * vpc-max-security-groups-per-interface: The maximum number of security
  10902. // groups that you can assign to a network interface.
  10903. //
  10904. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  10905. // can allocate for use with EC2-Classic.
  10906. //
  10907. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  10908. // you can allocate for use with EC2-VPC.
  10909. //
  10910. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10911. // with awserr.Error's Code and Message methods to get detailed information about
  10912. // the error.
  10913. //
  10914. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10915. // API operation DescribeAccountAttributes for usage and error information.
  10916. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  10917. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  10918. req, out := c.DescribeAccountAttributesRequest(input)
  10919. return out, req.Send()
  10920. }
  10921. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  10922. // the ability to pass a context and additional request options.
  10923. //
  10924. // See DescribeAccountAttributes for details on how to use this API operation.
  10925. //
  10926. // The context must be non-nil and will be used for request cancellation. If
  10927. // the context is nil a panic will occur. In the future the SDK may create
  10928. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10929. // for more information on using Contexts.
  10930. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  10931. req, out := c.DescribeAccountAttributesRequest(input)
  10932. req.SetContext(ctx)
  10933. req.ApplyOptions(opts...)
  10934. return out, req.Send()
  10935. }
  10936. const opDescribeAddresses = "DescribeAddresses"
  10937. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  10938. // client's request for the DescribeAddresses operation. The "output" return
  10939. // value will be populated with the request's response once the request completes
  10940. // successfully.
  10941. //
  10942. // Use "Send" method on the returned Request to send the API call to the service.
  10943. // the "output" return value is not valid until after Send returns without error.
  10944. //
  10945. // See DescribeAddresses for more information on using the DescribeAddresses
  10946. // API call, and error handling.
  10947. //
  10948. // This method is useful when you want to inject custom logic or configuration
  10949. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10950. //
  10951. //
  10952. // // Example sending a request using the DescribeAddressesRequest method.
  10953. // req, resp := client.DescribeAddressesRequest(params)
  10954. //
  10955. // err := req.Send()
  10956. // if err == nil { // resp is now filled
  10957. // fmt.Println(resp)
  10958. // }
  10959. //
  10960. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  10961. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  10962. op := &request.Operation{
  10963. Name: opDescribeAddresses,
  10964. HTTPMethod: "POST",
  10965. HTTPPath: "/",
  10966. }
  10967. if input == nil {
  10968. input = &DescribeAddressesInput{}
  10969. }
  10970. output = &DescribeAddressesOutput{}
  10971. req = c.newRequest(op, input, output)
  10972. return
  10973. }
  10974. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  10975. //
  10976. // Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
  10977. //
  10978. // An Elastic IP address is for use in either the EC2-Classic platform or in
  10979. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  10980. // in the Amazon Elastic Compute Cloud User Guide.
  10981. //
  10982. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10983. // with awserr.Error's Code and Message methods to get detailed information about
  10984. // the error.
  10985. //
  10986. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10987. // API operation DescribeAddresses for usage and error information.
  10988. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  10989. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  10990. req, out := c.DescribeAddressesRequest(input)
  10991. return out, req.Send()
  10992. }
  10993. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  10994. // the ability to pass a context and additional request options.
  10995. //
  10996. // See DescribeAddresses for details on how to use this API operation.
  10997. //
  10998. // The context must be non-nil and will be used for request cancellation. If
  10999. // the context is nil a panic will occur. In the future the SDK may create
  11000. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11001. // for more information on using Contexts.
  11002. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  11003. req, out := c.DescribeAddressesRequest(input)
  11004. req.SetContext(ctx)
  11005. req.ApplyOptions(opts...)
  11006. return out, req.Send()
  11007. }
  11008. const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
  11009. // DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
  11010. // client's request for the DescribeAggregateIdFormat operation. The "output" return
  11011. // value will be populated with the request's response once the request completes
  11012. // successfully.
  11013. //
  11014. // Use "Send" method on the returned Request to send the API call to the service.
  11015. // the "output" return value is not valid until after Send returns without error.
  11016. //
  11017. // See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
  11018. // API call, and error handling.
  11019. //
  11020. // This method is useful when you want to inject custom logic or configuration
  11021. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11022. //
  11023. //
  11024. // // Example sending a request using the DescribeAggregateIdFormatRequest method.
  11025. // req, resp := client.DescribeAggregateIdFormatRequest(params)
  11026. //
  11027. // err := req.Send()
  11028. // if err == nil { // resp is now filled
  11029. // fmt.Println(resp)
  11030. // }
  11031. //
  11032. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  11033. func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
  11034. op := &request.Operation{
  11035. Name: opDescribeAggregateIdFormat,
  11036. HTTPMethod: "POST",
  11037. HTTPPath: "/",
  11038. }
  11039. if input == nil {
  11040. input = &DescribeAggregateIdFormatInput{}
  11041. }
  11042. output = &DescribeAggregateIdFormatOutput{}
  11043. req = c.newRequest(op, input, output)
  11044. return
  11045. }
  11046. // DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
  11047. //
  11048. // Describes the longer ID format settings for all resource types in a specific
  11049. // Region. This request is useful for performing a quick audit to determine
  11050. // whether a specific Region is fully opted in for longer IDs (17-character
  11051. // IDs).
  11052. //
  11053. // This request only returns information about resource types that support longer
  11054. // IDs.
  11055. //
  11056. // The following resource types support longer IDs: bundle | conversion-task
  11057. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  11058. // | export-task | flow-log | image | import-task | instance | internet-gateway
  11059. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  11060. // | prefix-list | reservation | route-table | route-table-association | security-group
  11061. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  11062. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  11063. //
  11064. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11065. // with awserr.Error's Code and Message methods to get detailed information about
  11066. // the error.
  11067. //
  11068. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11069. // API operation DescribeAggregateIdFormat for usage and error information.
  11070. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  11071. func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
  11072. req, out := c.DescribeAggregateIdFormatRequest(input)
  11073. return out, req.Send()
  11074. }
  11075. // DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
  11076. // the ability to pass a context and additional request options.
  11077. //
  11078. // See DescribeAggregateIdFormat for details on how to use this API operation.
  11079. //
  11080. // The context must be non-nil and will be used for request cancellation. If
  11081. // the context is nil a panic will occur. In the future the SDK may create
  11082. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11083. // for more information on using Contexts.
  11084. func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
  11085. req, out := c.DescribeAggregateIdFormatRequest(input)
  11086. req.SetContext(ctx)
  11087. req.ApplyOptions(opts...)
  11088. return out, req.Send()
  11089. }
  11090. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  11091. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  11092. // client's request for the DescribeAvailabilityZones operation. The "output" return
  11093. // value will be populated with the request's response once the request completes
  11094. // successfully.
  11095. //
  11096. // Use "Send" method on the returned Request to send the API call to the service.
  11097. // the "output" return value is not valid until after Send returns without error.
  11098. //
  11099. // See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
  11100. // API call, and error handling.
  11101. //
  11102. // This method is useful when you want to inject custom logic or configuration
  11103. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11104. //
  11105. //
  11106. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  11107. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  11108. //
  11109. // err := req.Send()
  11110. // if err == nil { // resp is now filled
  11111. // fmt.Println(resp)
  11112. // }
  11113. //
  11114. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  11115. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  11116. op := &request.Operation{
  11117. Name: opDescribeAvailabilityZones,
  11118. HTTPMethod: "POST",
  11119. HTTPPath: "/",
  11120. }
  11121. if input == nil {
  11122. input = &DescribeAvailabilityZonesInput{}
  11123. }
  11124. output = &DescribeAvailabilityZonesOutput{}
  11125. req = c.newRequest(op, input, output)
  11126. return
  11127. }
  11128. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  11129. //
  11130. // Describes the Availability Zones and Local Zones that are available to you.
  11131. // If there is an event impacting an Availability Zone or Local Zone, you can
  11132. // use this request to view the state and any provided messages for that Availability
  11133. // Zone or Local Zone.
  11134. //
  11135. // For more information about Availability Zones and Local Zones, see Regions
  11136. // and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  11137. // in the Amazon Elastic Compute Cloud User Guide.
  11138. //
  11139. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11140. // with awserr.Error's Code and Message methods to get detailed information about
  11141. // the error.
  11142. //
  11143. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11144. // API operation DescribeAvailabilityZones for usage and error information.
  11145. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  11146. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  11147. req, out := c.DescribeAvailabilityZonesRequest(input)
  11148. return out, req.Send()
  11149. }
  11150. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  11151. // the ability to pass a context and additional request options.
  11152. //
  11153. // See DescribeAvailabilityZones for details on how to use this API operation.
  11154. //
  11155. // The context must be non-nil and will be used for request cancellation. If
  11156. // the context is nil a panic will occur. In the future the SDK may create
  11157. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11158. // for more information on using Contexts.
  11159. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  11160. req, out := c.DescribeAvailabilityZonesRequest(input)
  11161. req.SetContext(ctx)
  11162. req.ApplyOptions(opts...)
  11163. return out, req.Send()
  11164. }
  11165. const opDescribeBundleTasks = "DescribeBundleTasks"
  11166. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  11167. // client's request for the DescribeBundleTasks operation. The "output" return
  11168. // value will be populated with the request's response once the request completes
  11169. // successfully.
  11170. //
  11171. // Use "Send" method on the returned Request to send the API call to the service.
  11172. // the "output" return value is not valid until after Send returns without error.
  11173. //
  11174. // See DescribeBundleTasks for more information on using the DescribeBundleTasks
  11175. // API call, and error handling.
  11176. //
  11177. // This method is useful when you want to inject custom logic or configuration
  11178. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11179. //
  11180. //
  11181. // // Example sending a request using the DescribeBundleTasksRequest method.
  11182. // req, resp := client.DescribeBundleTasksRequest(params)
  11183. //
  11184. // err := req.Send()
  11185. // if err == nil { // resp is now filled
  11186. // fmt.Println(resp)
  11187. // }
  11188. //
  11189. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  11190. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  11191. op := &request.Operation{
  11192. Name: opDescribeBundleTasks,
  11193. HTTPMethod: "POST",
  11194. HTTPPath: "/",
  11195. }
  11196. if input == nil {
  11197. input = &DescribeBundleTasksInput{}
  11198. }
  11199. output = &DescribeBundleTasksOutput{}
  11200. req = c.newRequest(op, input, output)
  11201. return
  11202. }
  11203. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  11204. //
  11205. // Describes the specified bundle tasks or all of your bundle tasks.
  11206. //
  11207. // Completed bundle tasks are listed for only a limited time. If your bundle
  11208. // task is no longer in the list, you can still register an AMI from it. Just
  11209. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  11210. // you provided to the bundle task.
  11211. //
  11212. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11213. // with awserr.Error's Code and Message methods to get detailed information about
  11214. // the error.
  11215. //
  11216. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11217. // API operation DescribeBundleTasks for usage and error information.
  11218. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  11219. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  11220. req, out := c.DescribeBundleTasksRequest(input)
  11221. return out, req.Send()
  11222. }
  11223. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  11224. // the ability to pass a context and additional request options.
  11225. //
  11226. // See DescribeBundleTasks for details on how to use this API operation.
  11227. //
  11228. // The context must be non-nil and will be used for request cancellation. If
  11229. // the context is nil a panic will occur. In the future the SDK may create
  11230. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11231. // for more information on using Contexts.
  11232. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  11233. req, out := c.DescribeBundleTasksRequest(input)
  11234. req.SetContext(ctx)
  11235. req.ApplyOptions(opts...)
  11236. return out, req.Send()
  11237. }
  11238. const opDescribeByoipCidrs = "DescribeByoipCidrs"
  11239. // DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
  11240. // client's request for the DescribeByoipCidrs operation. The "output" return
  11241. // value will be populated with the request's response once the request completes
  11242. // successfully.
  11243. //
  11244. // Use "Send" method on the returned Request to send the API call to the service.
  11245. // the "output" return value is not valid until after Send returns without error.
  11246. //
  11247. // See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
  11248. // API call, and error handling.
  11249. //
  11250. // This method is useful when you want to inject custom logic or configuration
  11251. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11252. //
  11253. //
  11254. // // Example sending a request using the DescribeByoipCidrsRequest method.
  11255. // req, resp := client.DescribeByoipCidrsRequest(params)
  11256. //
  11257. // err := req.Send()
  11258. // if err == nil { // resp is now filled
  11259. // fmt.Println(resp)
  11260. // }
  11261. //
  11262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
  11263. func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
  11264. op := &request.Operation{
  11265. Name: opDescribeByoipCidrs,
  11266. HTTPMethod: "POST",
  11267. HTTPPath: "/",
  11268. Paginator: &request.Paginator{
  11269. InputTokens: []string{"NextToken"},
  11270. OutputTokens: []string{"NextToken"},
  11271. LimitToken: "MaxResults",
  11272. TruncationToken: "",
  11273. },
  11274. }
  11275. if input == nil {
  11276. input = &DescribeByoipCidrsInput{}
  11277. }
  11278. output = &DescribeByoipCidrsOutput{}
  11279. req = c.newRequest(op, input, output)
  11280. return
  11281. }
  11282. // DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
  11283. //
  11284. // Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
  11285. //
  11286. // To describe the address pools that were created when you provisioned the
  11287. // address ranges, use DescribePublicIpv4Pools.
  11288. //
  11289. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11290. // with awserr.Error's Code and Message methods to get detailed information about
  11291. // the error.
  11292. //
  11293. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11294. // API operation DescribeByoipCidrs for usage and error information.
  11295. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
  11296. func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
  11297. req, out := c.DescribeByoipCidrsRequest(input)
  11298. return out, req.Send()
  11299. }
  11300. // DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
  11301. // the ability to pass a context and additional request options.
  11302. //
  11303. // See DescribeByoipCidrs for details on how to use this API operation.
  11304. //
  11305. // The context must be non-nil and will be used for request cancellation. If
  11306. // the context is nil a panic will occur. In the future the SDK may create
  11307. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11308. // for more information on using Contexts.
  11309. func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
  11310. req, out := c.DescribeByoipCidrsRequest(input)
  11311. req.SetContext(ctx)
  11312. req.ApplyOptions(opts...)
  11313. return out, req.Send()
  11314. }
  11315. // DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
  11316. // calling the "fn" function with the response data for each page. To stop
  11317. // iterating, return false from the fn function.
  11318. //
  11319. // See DescribeByoipCidrs method for more information on how to use this operation.
  11320. //
  11321. // Note: This operation can generate multiple requests to a service.
  11322. //
  11323. // // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
  11324. // pageNum := 0
  11325. // err := client.DescribeByoipCidrsPages(params,
  11326. // func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
  11327. // pageNum++
  11328. // fmt.Println(page)
  11329. // return pageNum <= 3
  11330. // })
  11331. //
  11332. func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
  11333. return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
  11334. }
  11335. // DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
  11336. // it takes a Context and allows setting request options on the pages.
  11337. //
  11338. // The context must be non-nil and will be used for request cancellation. If
  11339. // the context is nil a panic will occur. In the future the SDK may create
  11340. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11341. // for more information on using Contexts.
  11342. func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
  11343. p := request.Pagination{
  11344. NewRequest: func() (*request.Request, error) {
  11345. var inCpy *DescribeByoipCidrsInput
  11346. if input != nil {
  11347. tmp := *input
  11348. inCpy = &tmp
  11349. }
  11350. req, _ := c.DescribeByoipCidrsRequest(inCpy)
  11351. req.SetContext(ctx)
  11352. req.ApplyOptions(opts...)
  11353. return req, nil
  11354. },
  11355. }
  11356. for p.Next() {
  11357. if !fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) {
  11358. break
  11359. }
  11360. }
  11361. return p.Err()
  11362. }
  11363. const opDescribeCapacityReservations = "DescribeCapacityReservations"
  11364. // DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
  11365. // client's request for the DescribeCapacityReservations operation. The "output" return
  11366. // value will be populated with the request's response once the request completes
  11367. // successfully.
  11368. //
  11369. // Use "Send" method on the returned Request to send the API call to the service.
  11370. // the "output" return value is not valid until after Send returns without error.
  11371. //
  11372. // See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
  11373. // API call, and error handling.
  11374. //
  11375. // This method is useful when you want to inject custom logic or configuration
  11376. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11377. //
  11378. //
  11379. // // Example sending a request using the DescribeCapacityReservationsRequest method.
  11380. // req, resp := client.DescribeCapacityReservationsRequest(params)
  11381. //
  11382. // err := req.Send()
  11383. // if err == nil { // resp is now filled
  11384. // fmt.Println(resp)
  11385. // }
  11386. //
  11387. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
  11388. func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
  11389. op := &request.Operation{
  11390. Name: opDescribeCapacityReservations,
  11391. HTTPMethod: "POST",
  11392. HTTPPath: "/",
  11393. Paginator: &request.Paginator{
  11394. InputTokens: []string{"NextToken"},
  11395. OutputTokens: []string{"NextToken"},
  11396. LimitToken: "MaxResults",
  11397. TruncationToken: "",
  11398. },
  11399. }
  11400. if input == nil {
  11401. input = &DescribeCapacityReservationsInput{}
  11402. }
  11403. output = &DescribeCapacityReservationsOutput{}
  11404. req = c.newRequest(op, input, output)
  11405. return
  11406. }
  11407. // DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
  11408. //
  11409. // Describes one or more of your Capacity Reservations. The results describe
  11410. // only the Capacity Reservations in the AWS Region that you're currently using.
  11411. //
  11412. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11413. // with awserr.Error's Code and Message methods to get detailed information about
  11414. // the error.
  11415. //
  11416. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11417. // API operation DescribeCapacityReservations for usage and error information.
  11418. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
  11419. func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
  11420. req, out := c.DescribeCapacityReservationsRequest(input)
  11421. return out, req.Send()
  11422. }
  11423. // DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
  11424. // the ability to pass a context and additional request options.
  11425. //
  11426. // See DescribeCapacityReservations for details on how to use this API operation.
  11427. //
  11428. // The context must be non-nil and will be used for request cancellation. If
  11429. // the context is nil a panic will occur. In the future the SDK may create
  11430. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11431. // for more information on using Contexts.
  11432. func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
  11433. req, out := c.DescribeCapacityReservationsRequest(input)
  11434. req.SetContext(ctx)
  11435. req.ApplyOptions(opts...)
  11436. return out, req.Send()
  11437. }
  11438. // DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
  11439. // calling the "fn" function with the response data for each page. To stop
  11440. // iterating, return false from the fn function.
  11441. //
  11442. // See DescribeCapacityReservations method for more information on how to use this operation.
  11443. //
  11444. // Note: This operation can generate multiple requests to a service.
  11445. //
  11446. // // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
  11447. // pageNum := 0
  11448. // err := client.DescribeCapacityReservationsPages(params,
  11449. // func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
  11450. // pageNum++
  11451. // fmt.Println(page)
  11452. // return pageNum <= 3
  11453. // })
  11454. //
  11455. func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
  11456. return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
  11457. }
  11458. // DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
  11459. // it takes a Context and allows setting request options on the pages.
  11460. //
  11461. // The context must be non-nil and will be used for request cancellation. If
  11462. // the context is nil a panic will occur. In the future the SDK may create
  11463. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11464. // for more information on using Contexts.
  11465. func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
  11466. p := request.Pagination{
  11467. NewRequest: func() (*request.Request, error) {
  11468. var inCpy *DescribeCapacityReservationsInput
  11469. if input != nil {
  11470. tmp := *input
  11471. inCpy = &tmp
  11472. }
  11473. req, _ := c.DescribeCapacityReservationsRequest(inCpy)
  11474. req.SetContext(ctx)
  11475. req.ApplyOptions(opts...)
  11476. return req, nil
  11477. },
  11478. }
  11479. for p.Next() {
  11480. if !fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) {
  11481. break
  11482. }
  11483. }
  11484. return p.Err()
  11485. }
  11486. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  11487. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  11488. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  11489. // value will be populated with the request's response once the request completes
  11490. // successfully.
  11491. //
  11492. // Use "Send" method on the returned Request to send the API call to the service.
  11493. // the "output" return value is not valid until after Send returns without error.
  11494. //
  11495. // See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
  11496. // API call, and error handling.
  11497. //
  11498. // This method is useful when you want to inject custom logic or configuration
  11499. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11500. //
  11501. //
  11502. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  11503. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  11504. //
  11505. // err := req.Send()
  11506. // if err == nil { // resp is now filled
  11507. // fmt.Println(resp)
  11508. // }
  11509. //
  11510. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  11511. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  11512. op := &request.Operation{
  11513. Name: opDescribeClassicLinkInstances,
  11514. HTTPMethod: "POST",
  11515. HTTPPath: "/",
  11516. Paginator: &request.Paginator{
  11517. InputTokens: []string{"NextToken"},
  11518. OutputTokens: []string{"NextToken"},
  11519. LimitToken: "MaxResults",
  11520. TruncationToken: "",
  11521. },
  11522. }
  11523. if input == nil {
  11524. input = &DescribeClassicLinkInstancesInput{}
  11525. }
  11526. output = &DescribeClassicLinkInstancesOutput{}
  11527. req = c.newRequest(op, input, output)
  11528. return
  11529. }
  11530. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  11531. //
  11532. // Describes one or more of your linked EC2-Classic instances. This request
  11533. // only returns information about EC2-Classic instances linked to a VPC through
  11534. // ClassicLink. You cannot use this request to return information about other
  11535. // instances.
  11536. //
  11537. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11538. // with awserr.Error's Code and Message methods to get detailed information about
  11539. // the error.
  11540. //
  11541. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11542. // API operation DescribeClassicLinkInstances for usage and error information.
  11543. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  11544. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  11545. req, out := c.DescribeClassicLinkInstancesRequest(input)
  11546. return out, req.Send()
  11547. }
  11548. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  11549. // the ability to pass a context and additional request options.
  11550. //
  11551. // See DescribeClassicLinkInstances for details on how to use this API operation.
  11552. //
  11553. // The context must be non-nil and will be used for request cancellation. If
  11554. // the context is nil a panic will occur. In the future the SDK may create
  11555. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11556. // for more information on using Contexts.
  11557. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  11558. req, out := c.DescribeClassicLinkInstancesRequest(input)
  11559. req.SetContext(ctx)
  11560. req.ApplyOptions(opts...)
  11561. return out, req.Send()
  11562. }
  11563. // DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
  11564. // calling the "fn" function with the response data for each page. To stop
  11565. // iterating, return false from the fn function.
  11566. //
  11567. // See DescribeClassicLinkInstances method for more information on how to use this operation.
  11568. //
  11569. // Note: This operation can generate multiple requests to a service.
  11570. //
  11571. // // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
  11572. // pageNum := 0
  11573. // err := client.DescribeClassicLinkInstancesPages(params,
  11574. // func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
  11575. // pageNum++
  11576. // fmt.Println(page)
  11577. // return pageNum <= 3
  11578. // })
  11579. //
  11580. func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
  11581. return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  11582. }
  11583. // DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
  11584. // it takes a Context and allows setting request options on the pages.
  11585. //
  11586. // The context must be non-nil and will be used for request cancellation. If
  11587. // the context is nil a panic will occur. In the future the SDK may create
  11588. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11589. // for more information on using Contexts.
  11590. func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
  11591. p := request.Pagination{
  11592. NewRequest: func() (*request.Request, error) {
  11593. var inCpy *DescribeClassicLinkInstancesInput
  11594. if input != nil {
  11595. tmp := *input
  11596. inCpy = &tmp
  11597. }
  11598. req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
  11599. req.SetContext(ctx)
  11600. req.ApplyOptions(opts...)
  11601. return req, nil
  11602. },
  11603. }
  11604. for p.Next() {
  11605. if !fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) {
  11606. break
  11607. }
  11608. }
  11609. return p.Err()
  11610. }
  11611. const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
  11612. // DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
  11613. // client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
  11614. // value will be populated with the request's response once the request completes
  11615. // successfully.
  11616. //
  11617. // Use "Send" method on the returned Request to send the API call to the service.
  11618. // the "output" return value is not valid until after Send returns without error.
  11619. //
  11620. // See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
  11621. // API call, and error handling.
  11622. //
  11623. // This method is useful when you want to inject custom logic or configuration
  11624. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11625. //
  11626. //
  11627. // // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
  11628. // req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
  11629. //
  11630. // err := req.Send()
  11631. // if err == nil { // resp is now filled
  11632. // fmt.Println(resp)
  11633. // }
  11634. //
  11635. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
  11636. func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
  11637. op := &request.Operation{
  11638. Name: opDescribeClientVpnAuthorizationRules,
  11639. HTTPMethod: "POST",
  11640. HTTPPath: "/",
  11641. Paginator: &request.Paginator{
  11642. InputTokens: []string{"NextToken"},
  11643. OutputTokens: []string{"NextToken"},
  11644. LimitToken: "MaxResults",
  11645. TruncationToken: "",
  11646. },
  11647. }
  11648. if input == nil {
  11649. input = &DescribeClientVpnAuthorizationRulesInput{}
  11650. }
  11651. output = &DescribeClientVpnAuthorizationRulesOutput{}
  11652. req = c.newRequest(op, input, output)
  11653. return
  11654. }
  11655. // DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
  11656. //
  11657. // Describes the authorization rules for a specified Client VPN endpoint.
  11658. //
  11659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11660. // with awserr.Error's Code and Message methods to get detailed information about
  11661. // the error.
  11662. //
  11663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11664. // API operation DescribeClientVpnAuthorizationRules for usage and error information.
  11665. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
  11666. func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
  11667. req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
  11668. return out, req.Send()
  11669. }
  11670. // DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
  11671. // the ability to pass a context and additional request options.
  11672. //
  11673. // See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
  11674. //
  11675. // The context must be non-nil and will be used for request cancellation. If
  11676. // the context is nil a panic will occur. In the future the SDK may create
  11677. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11678. // for more information on using Contexts.
  11679. func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
  11680. req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
  11681. req.SetContext(ctx)
  11682. req.ApplyOptions(opts...)
  11683. return out, req.Send()
  11684. }
  11685. // DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
  11686. // calling the "fn" function with the response data for each page. To stop
  11687. // iterating, return false from the fn function.
  11688. //
  11689. // See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
  11690. //
  11691. // Note: This operation can generate multiple requests to a service.
  11692. //
  11693. // // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
  11694. // pageNum := 0
  11695. // err := client.DescribeClientVpnAuthorizationRulesPages(params,
  11696. // func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
  11697. // pageNum++
  11698. // fmt.Println(page)
  11699. // return pageNum <= 3
  11700. // })
  11701. //
  11702. func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
  11703. return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  11704. }
  11705. // DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
  11706. // it takes a Context and allows setting request options on the pages.
  11707. //
  11708. // The context must be non-nil and will be used for request cancellation. If
  11709. // the context is nil a panic will occur. In the future the SDK may create
  11710. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11711. // for more information on using Contexts.
  11712. func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
  11713. p := request.Pagination{
  11714. NewRequest: func() (*request.Request, error) {
  11715. var inCpy *DescribeClientVpnAuthorizationRulesInput
  11716. if input != nil {
  11717. tmp := *input
  11718. inCpy = &tmp
  11719. }
  11720. req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
  11721. req.SetContext(ctx)
  11722. req.ApplyOptions(opts...)
  11723. return req, nil
  11724. },
  11725. }
  11726. for p.Next() {
  11727. if !fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) {
  11728. break
  11729. }
  11730. }
  11731. return p.Err()
  11732. }
  11733. const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
  11734. // DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
  11735. // client's request for the DescribeClientVpnConnections operation. The "output" return
  11736. // value will be populated with the request's response once the request completes
  11737. // successfully.
  11738. //
  11739. // Use "Send" method on the returned Request to send the API call to the service.
  11740. // the "output" return value is not valid until after Send returns without error.
  11741. //
  11742. // See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
  11743. // API call, and error handling.
  11744. //
  11745. // This method is useful when you want to inject custom logic or configuration
  11746. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11747. //
  11748. //
  11749. // // Example sending a request using the DescribeClientVpnConnectionsRequest method.
  11750. // req, resp := client.DescribeClientVpnConnectionsRequest(params)
  11751. //
  11752. // err := req.Send()
  11753. // if err == nil { // resp is now filled
  11754. // fmt.Println(resp)
  11755. // }
  11756. //
  11757. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
  11758. func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
  11759. op := &request.Operation{
  11760. Name: opDescribeClientVpnConnections,
  11761. HTTPMethod: "POST",
  11762. HTTPPath: "/",
  11763. Paginator: &request.Paginator{
  11764. InputTokens: []string{"NextToken"},
  11765. OutputTokens: []string{"NextToken"},
  11766. LimitToken: "MaxResults",
  11767. TruncationToken: "",
  11768. },
  11769. }
  11770. if input == nil {
  11771. input = &DescribeClientVpnConnectionsInput{}
  11772. }
  11773. output = &DescribeClientVpnConnectionsOutput{}
  11774. req = c.newRequest(op, input, output)
  11775. return
  11776. }
  11777. // DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
  11778. //
  11779. // Describes active client connections and connections that have been terminated
  11780. // within the last 60 minutes for the specified Client VPN endpoint.
  11781. //
  11782. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11783. // with awserr.Error's Code and Message methods to get detailed information about
  11784. // the error.
  11785. //
  11786. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11787. // API operation DescribeClientVpnConnections for usage and error information.
  11788. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
  11789. func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
  11790. req, out := c.DescribeClientVpnConnectionsRequest(input)
  11791. return out, req.Send()
  11792. }
  11793. // DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
  11794. // the ability to pass a context and additional request options.
  11795. //
  11796. // See DescribeClientVpnConnections for details on how to use this API operation.
  11797. //
  11798. // The context must be non-nil and will be used for request cancellation. If
  11799. // the context is nil a panic will occur. In the future the SDK may create
  11800. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11801. // for more information on using Contexts.
  11802. func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
  11803. req, out := c.DescribeClientVpnConnectionsRequest(input)
  11804. req.SetContext(ctx)
  11805. req.ApplyOptions(opts...)
  11806. return out, req.Send()
  11807. }
  11808. // DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
  11809. // calling the "fn" function with the response data for each page. To stop
  11810. // iterating, return false from the fn function.
  11811. //
  11812. // See DescribeClientVpnConnections method for more information on how to use this operation.
  11813. //
  11814. // Note: This operation can generate multiple requests to a service.
  11815. //
  11816. // // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
  11817. // pageNum := 0
  11818. // err := client.DescribeClientVpnConnectionsPages(params,
  11819. // func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
  11820. // pageNum++
  11821. // fmt.Println(page)
  11822. // return pageNum <= 3
  11823. // })
  11824. //
  11825. func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
  11826. return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  11827. }
  11828. // DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
  11829. // it takes a Context and allows setting request options on the pages.
  11830. //
  11831. // The context must be non-nil and will be used for request cancellation. If
  11832. // the context is nil a panic will occur. In the future the SDK may create
  11833. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11834. // for more information on using Contexts.
  11835. func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
  11836. p := request.Pagination{
  11837. NewRequest: func() (*request.Request, error) {
  11838. var inCpy *DescribeClientVpnConnectionsInput
  11839. if input != nil {
  11840. tmp := *input
  11841. inCpy = &tmp
  11842. }
  11843. req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
  11844. req.SetContext(ctx)
  11845. req.ApplyOptions(opts...)
  11846. return req, nil
  11847. },
  11848. }
  11849. for p.Next() {
  11850. if !fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) {
  11851. break
  11852. }
  11853. }
  11854. return p.Err()
  11855. }
  11856. const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
  11857. // DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
  11858. // client's request for the DescribeClientVpnEndpoints operation. The "output" return
  11859. // value will be populated with the request's response once the request completes
  11860. // successfully.
  11861. //
  11862. // Use "Send" method on the returned Request to send the API call to the service.
  11863. // the "output" return value is not valid until after Send returns without error.
  11864. //
  11865. // See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
  11866. // API call, and error handling.
  11867. //
  11868. // This method is useful when you want to inject custom logic or configuration
  11869. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11870. //
  11871. //
  11872. // // Example sending a request using the DescribeClientVpnEndpointsRequest method.
  11873. // req, resp := client.DescribeClientVpnEndpointsRequest(params)
  11874. //
  11875. // err := req.Send()
  11876. // if err == nil { // resp is now filled
  11877. // fmt.Println(resp)
  11878. // }
  11879. //
  11880. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
  11881. func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
  11882. op := &request.Operation{
  11883. Name: opDescribeClientVpnEndpoints,
  11884. HTTPMethod: "POST",
  11885. HTTPPath: "/",
  11886. Paginator: &request.Paginator{
  11887. InputTokens: []string{"NextToken"},
  11888. OutputTokens: []string{"NextToken"},
  11889. LimitToken: "MaxResults",
  11890. TruncationToken: "",
  11891. },
  11892. }
  11893. if input == nil {
  11894. input = &DescribeClientVpnEndpointsInput{}
  11895. }
  11896. output = &DescribeClientVpnEndpointsOutput{}
  11897. req = c.newRequest(op, input, output)
  11898. return
  11899. }
  11900. // DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
  11901. //
  11902. // Describes one or more Client VPN endpoints in the account.
  11903. //
  11904. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11905. // with awserr.Error's Code and Message methods to get detailed information about
  11906. // the error.
  11907. //
  11908. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11909. // API operation DescribeClientVpnEndpoints for usage and error information.
  11910. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
  11911. func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
  11912. req, out := c.DescribeClientVpnEndpointsRequest(input)
  11913. return out, req.Send()
  11914. }
  11915. // DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
  11916. // the ability to pass a context and additional request options.
  11917. //
  11918. // See DescribeClientVpnEndpoints for details on how to use this API operation.
  11919. //
  11920. // The context must be non-nil and will be used for request cancellation. If
  11921. // the context is nil a panic will occur. In the future the SDK may create
  11922. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11923. // for more information on using Contexts.
  11924. func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
  11925. req, out := c.DescribeClientVpnEndpointsRequest(input)
  11926. req.SetContext(ctx)
  11927. req.ApplyOptions(opts...)
  11928. return out, req.Send()
  11929. }
  11930. // DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
  11931. // calling the "fn" function with the response data for each page. To stop
  11932. // iterating, return false from the fn function.
  11933. //
  11934. // See DescribeClientVpnEndpoints method for more information on how to use this operation.
  11935. //
  11936. // Note: This operation can generate multiple requests to a service.
  11937. //
  11938. // // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
  11939. // pageNum := 0
  11940. // err := client.DescribeClientVpnEndpointsPages(params,
  11941. // func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
  11942. // pageNum++
  11943. // fmt.Println(page)
  11944. // return pageNum <= 3
  11945. // })
  11946. //
  11947. func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
  11948. return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  11949. }
  11950. // DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
  11951. // it takes a Context and allows setting request options on the pages.
  11952. //
  11953. // The context must be non-nil and will be used for request cancellation. If
  11954. // the context is nil a panic will occur. In the future the SDK may create
  11955. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11956. // for more information on using Contexts.
  11957. func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
  11958. p := request.Pagination{
  11959. NewRequest: func() (*request.Request, error) {
  11960. var inCpy *DescribeClientVpnEndpointsInput
  11961. if input != nil {
  11962. tmp := *input
  11963. inCpy = &tmp
  11964. }
  11965. req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
  11966. req.SetContext(ctx)
  11967. req.ApplyOptions(opts...)
  11968. return req, nil
  11969. },
  11970. }
  11971. for p.Next() {
  11972. if !fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) {
  11973. break
  11974. }
  11975. }
  11976. return p.Err()
  11977. }
  11978. const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
  11979. // DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
  11980. // client's request for the DescribeClientVpnRoutes operation. The "output" return
  11981. // value will be populated with the request's response once the request completes
  11982. // successfully.
  11983. //
  11984. // Use "Send" method on the returned Request to send the API call to the service.
  11985. // the "output" return value is not valid until after Send returns without error.
  11986. //
  11987. // See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
  11988. // API call, and error handling.
  11989. //
  11990. // This method is useful when you want to inject custom logic or configuration
  11991. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11992. //
  11993. //
  11994. // // Example sending a request using the DescribeClientVpnRoutesRequest method.
  11995. // req, resp := client.DescribeClientVpnRoutesRequest(params)
  11996. //
  11997. // err := req.Send()
  11998. // if err == nil { // resp is now filled
  11999. // fmt.Println(resp)
  12000. // }
  12001. //
  12002. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
  12003. func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
  12004. op := &request.Operation{
  12005. Name: opDescribeClientVpnRoutes,
  12006. HTTPMethod: "POST",
  12007. HTTPPath: "/",
  12008. Paginator: &request.Paginator{
  12009. InputTokens: []string{"NextToken"},
  12010. OutputTokens: []string{"NextToken"},
  12011. LimitToken: "MaxResults",
  12012. TruncationToken: "",
  12013. },
  12014. }
  12015. if input == nil {
  12016. input = &DescribeClientVpnRoutesInput{}
  12017. }
  12018. output = &DescribeClientVpnRoutesOutput{}
  12019. req = c.newRequest(op, input, output)
  12020. return
  12021. }
  12022. // DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
  12023. //
  12024. // Describes the routes for the specified Client VPN endpoint.
  12025. //
  12026. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12027. // with awserr.Error's Code and Message methods to get detailed information about
  12028. // the error.
  12029. //
  12030. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12031. // API operation DescribeClientVpnRoutes for usage and error information.
  12032. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
  12033. func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
  12034. req, out := c.DescribeClientVpnRoutesRequest(input)
  12035. return out, req.Send()
  12036. }
  12037. // DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
  12038. // the ability to pass a context and additional request options.
  12039. //
  12040. // See DescribeClientVpnRoutes for details on how to use this API operation.
  12041. //
  12042. // The context must be non-nil and will be used for request cancellation. If
  12043. // the context is nil a panic will occur. In the future the SDK may create
  12044. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12045. // for more information on using Contexts.
  12046. func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
  12047. req, out := c.DescribeClientVpnRoutesRequest(input)
  12048. req.SetContext(ctx)
  12049. req.ApplyOptions(opts...)
  12050. return out, req.Send()
  12051. }
  12052. // DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
  12053. // calling the "fn" function with the response data for each page. To stop
  12054. // iterating, return false from the fn function.
  12055. //
  12056. // See DescribeClientVpnRoutes method for more information on how to use this operation.
  12057. //
  12058. // Note: This operation can generate multiple requests to a service.
  12059. //
  12060. // // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
  12061. // pageNum := 0
  12062. // err := client.DescribeClientVpnRoutesPages(params,
  12063. // func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
  12064. // pageNum++
  12065. // fmt.Println(page)
  12066. // return pageNum <= 3
  12067. // })
  12068. //
  12069. func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
  12070. return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
  12071. }
  12072. // DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
  12073. // it takes a Context and allows setting request options on the pages.
  12074. //
  12075. // The context must be non-nil and will be used for request cancellation. If
  12076. // the context is nil a panic will occur. In the future the SDK may create
  12077. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12078. // for more information on using Contexts.
  12079. func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
  12080. p := request.Pagination{
  12081. NewRequest: func() (*request.Request, error) {
  12082. var inCpy *DescribeClientVpnRoutesInput
  12083. if input != nil {
  12084. tmp := *input
  12085. inCpy = &tmp
  12086. }
  12087. req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
  12088. req.SetContext(ctx)
  12089. req.ApplyOptions(opts...)
  12090. return req, nil
  12091. },
  12092. }
  12093. for p.Next() {
  12094. if !fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) {
  12095. break
  12096. }
  12097. }
  12098. return p.Err()
  12099. }
  12100. const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
  12101. // DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
  12102. // client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
  12103. // value will be populated with the request's response once the request completes
  12104. // successfully.
  12105. //
  12106. // Use "Send" method on the returned Request to send the API call to the service.
  12107. // the "output" return value is not valid until after Send returns without error.
  12108. //
  12109. // See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
  12110. // API call, and error handling.
  12111. //
  12112. // This method is useful when you want to inject custom logic or configuration
  12113. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12114. //
  12115. //
  12116. // // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
  12117. // req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
  12118. //
  12119. // err := req.Send()
  12120. // if err == nil { // resp is now filled
  12121. // fmt.Println(resp)
  12122. // }
  12123. //
  12124. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
  12125. func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
  12126. op := &request.Operation{
  12127. Name: opDescribeClientVpnTargetNetworks,
  12128. HTTPMethod: "POST",
  12129. HTTPPath: "/",
  12130. Paginator: &request.Paginator{
  12131. InputTokens: []string{"NextToken"},
  12132. OutputTokens: []string{"NextToken"},
  12133. LimitToken: "MaxResults",
  12134. TruncationToken: "",
  12135. },
  12136. }
  12137. if input == nil {
  12138. input = &DescribeClientVpnTargetNetworksInput{}
  12139. }
  12140. output = &DescribeClientVpnTargetNetworksOutput{}
  12141. req = c.newRequest(op, input, output)
  12142. return
  12143. }
  12144. // DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
  12145. //
  12146. // Describes the target networks associated with the specified Client VPN endpoint.
  12147. //
  12148. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12149. // with awserr.Error's Code and Message methods to get detailed information about
  12150. // the error.
  12151. //
  12152. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12153. // API operation DescribeClientVpnTargetNetworks for usage and error information.
  12154. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
  12155. func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
  12156. req, out := c.DescribeClientVpnTargetNetworksRequest(input)
  12157. return out, req.Send()
  12158. }
  12159. // DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
  12160. // the ability to pass a context and additional request options.
  12161. //
  12162. // See DescribeClientVpnTargetNetworks for details on how to use this API operation.
  12163. //
  12164. // The context must be non-nil and will be used for request cancellation. If
  12165. // the context is nil a panic will occur. In the future the SDK may create
  12166. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12167. // for more information on using Contexts.
  12168. func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
  12169. req, out := c.DescribeClientVpnTargetNetworksRequest(input)
  12170. req.SetContext(ctx)
  12171. req.ApplyOptions(opts...)
  12172. return out, req.Send()
  12173. }
  12174. // DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
  12175. // calling the "fn" function with the response data for each page. To stop
  12176. // iterating, return false from the fn function.
  12177. //
  12178. // See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
  12179. //
  12180. // Note: This operation can generate multiple requests to a service.
  12181. //
  12182. // // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
  12183. // pageNum := 0
  12184. // err := client.DescribeClientVpnTargetNetworksPages(params,
  12185. // func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
  12186. // pageNum++
  12187. // fmt.Println(page)
  12188. // return pageNum <= 3
  12189. // })
  12190. //
  12191. func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
  12192. return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
  12193. }
  12194. // DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
  12195. // it takes a Context and allows setting request options on the pages.
  12196. //
  12197. // The context must be non-nil and will be used for request cancellation. If
  12198. // the context is nil a panic will occur. In the future the SDK may create
  12199. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12200. // for more information on using Contexts.
  12201. func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
  12202. p := request.Pagination{
  12203. NewRequest: func() (*request.Request, error) {
  12204. var inCpy *DescribeClientVpnTargetNetworksInput
  12205. if input != nil {
  12206. tmp := *input
  12207. inCpy = &tmp
  12208. }
  12209. req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
  12210. req.SetContext(ctx)
  12211. req.ApplyOptions(opts...)
  12212. return req, nil
  12213. },
  12214. }
  12215. for p.Next() {
  12216. if !fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) {
  12217. break
  12218. }
  12219. }
  12220. return p.Err()
  12221. }
  12222. const opDescribeCoipPools = "DescribeCoipPools"
  12223. // DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
  12224. // client's request for the DescribeCoipPools operation. The "output" return
  12225. // value will be populated with the request's response once the request completes
  12226. // successfully.
  12227. //
  12228. // Use "Send" method on the returned Request to send the API call to the service.
  12229. // the "output" return value is not valid until after Send returns without error.
  12230. //
  12231. // See DescribeCoipPools for more information on using the DescribeCoipPools
  12232. // API call, and error handling.
  12233. //
  12234. // This method is useful when you want to inject custom logic or configuration
  12235. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12236. //
  12237. //
  12238. // // Example sending a request using the DescribeCoipPoolsRequest method.
  12239. // req, resp := client.DescribeCoipPoolsRequest(params)
  12240. //
  12241. // err := req.Send()
  12242. // if err == nil { // resp is now filled
  12243. // fmt.Println(resp)
  12244. // }
  12245. //
  12246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
  12247. func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
  12248. op := &request.Operation{
  12249. Name: opDescribeCoipPools,
  12250. HTTPMethod: "POST",
  12251. HTTPPath: "/",
  12252. }
  12253. if input == nil {
  12254. input = &DescribeCoipPoolsInput{}
  12255. }
  12256. output = &DescribeCoipPoolsOutput{}
  12257. req = c.newRequest(op, input, output)
  12258. return
  12259. }
  12260. // DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
  12261. //
  12262. // Describes the specified customer-owned address pools or all of your customer-owned
  12263. // address pools.
  12264. //
  12265. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12266. // with awserr.Error's Code and Message methods to get detailed information about
  12267. // the error.
  12268. //
  12269. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12270. // API operation DescribeCoipPools for usage and error information.
  12271. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
  12272. func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
  12273. req, out := c.DescribeCoipPoolsRequest(input)
  12274. return out, req.Send()
  12275. }
  12276. // DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
  12277. // the ability to pass a context and additional request options.
  12278. //
  12279. // See DescribeCoipPools for details on how to use this API operation.
  12280. //
  12281. // The context must be non-nil and will be used for request cancellation. If
  12282. // the context is nil a panic will occur. In the future the SDK may create
  12283. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12284. // for more information on using Contexts.
  12285. func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
  12286. req, out := c.DescribeCoipPoolsRequest(input)
  12287. req.SetContext(ctx)
  12288. req.ApplyOptions(opts...)
  12289. return out, req.Send()
  12290. }
  12291. const opDescribeConversionTasks = "DescribeConversionTasks"
  12292. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  12293. // client's request for the DescribeConversionTasks operation. The "output" return
  12294. // value will be populated with the request's response once the request completes
  12295. // successfully.
  12296. //
  12297. // Use "Send" method on the returned Request to send the API call to the service.
  12298. // the "output" return value is not valid until after Send returns without error.
  12299. //
  12300. // See DescribeConversionTasks for more information on using the DescribeConversionTasks
  12301. // API call, and error handling.
  12302. //
  12303. // This method is useful when you want to inject custom logic or configuration
  12304. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12305. //
  12306. //
  12307. // // Example sending a request using the DescribeConversionTasksRequest method.
  12308. // req, resp := client.DescribeConversionTasksRequest(params)
  12309. //
  12310. // err := req.Send()
  12311. // if err == nil { // resp is now filled
  12312. // fmt.Println(resp)
  12313. // }
  12314. //
  12315. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  12316. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  12317. op := &request.Operation{
  12318. Name: opDescribeConversionTasks,
  12319. HTTPMethod: "POST",
  12320. HTTPPath: "/",
  12321. }
  12322. if input == nil {
  12323. input = &DescribeConversionTasksInput{}
  12324. }
  12325. output = &DescribeConversionTasksOutput{}
  12326. req = c.newRequest(op, input, output)
  12327. return
  12328. }
  12329. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  12330. //
  12331. // Describes the specified conversion tasks or all your conversion tasks. For
  12332. // more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
  12333. //
  12334. // For information about the import manifest referenced by this API action,
  12335. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  12336. //
  12337. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12338. // with awserr.Error's Code and Message methods to get detailed information about
  12339. // the error.
  12340. //
  12341. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12342. // API operation DescribeConversionTasks for usage and error information.
  12343. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  12344. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  12345. req, out := c.DescribeConversionTasksRequest(input)
  12346. return out, req.Send()
  12347. }
  12348. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  12349. // the ability to pass a context and additional request options.
  12350. //
  12351. // See DescribeConversionTasks for details on how to use this API operation.
  12352. //
  12353. // The context must be non-nil and will be used for request cancellation. If
  12354. // the context is nil a panic will occur. In the future the SDK may create
  12355. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12356. // for more information on using Contexts.
  12357. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  12358. req, out := c.DescribeConversionTasksRequest(input)
  12359. req.SetContext(ctx)
  12360. req.ApplyOptions(opts...)
  12361. return out, req.Send()
  12362. }
  12363. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  12364. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  12365. // client's request for the DescribeCustomerGateways operation. The "output" return
  12366. // value will be populated with the request's response once the request completes
  12367. // successfully.
  12368. //
  12369. // Use "Send" method on the returned Request to send the API call to the service.
  12370. // the "output" return value is not valid until after Send returns without error.
  12371. //
  12372. // See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
  12373. // API call, and error handling.
  12374. //
  12375. // This method is useful when you want to inject custom logic or configuration
  12376. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12377. //
  12378. //
  12379. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  12380. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  12381. //
  12382. // err := req.Send()
  12383. // if err == nil { // resp is now filled
  12384. // fmt.Println(resp)
  12385. // }
  12386. //
  12387. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  12388. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  12389. op := &request.Operation{
  12390. Name: opDescribeCustomerGateways,
  12391. HTTPMethod: "POST",
  12392. HTTPPath: "/",
  12393. }
  12394. if input == nil {
  12395. input = &DescribeCustomerGatewaysInput{}
  12396. }
  12397. output = &DescribeCustomerGatewaysOutput{}
  12398. req = c.newRequest(op, input, output)
  12399. return
  12400. }
  12401. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  12402. //
  12403. // Describes one or more of your VPN customer gateways.
  12404. //
  12405. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  12406. // in the AWS Site-to-Site VPN User Guide.
  12407. //
  12408. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12409. // with awserr.Error's Code and Message methods to get detailed information about
  12410. // the error.
  12411. //
  12412. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12413. // API operation DescribeCustomerGateways for usage and error information.
  12414. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  12415. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  12416. req, out := c.DescribeCustomerGatewaysRequest(input)
  12417. return out, req.Send()
  12418. }
  12419. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  12420. // the ability to pass a context and additional request options.
  12421. //
  12422. // See DescribeCustomerGateways for details on how to use this API operation.
  12423. //
  12424. // The context must be non-nil and will be used for request cancellation. If
  12425. // the context is nil a panic will occur. In the future the SDK may create
  12426. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12427. // for more information on using Contexts.
  12428. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  12429. req, out := c.DescribeCustomerGatewaysRequest(input)
  12430. req.SetContext(ctx)
  12431. req.ApplyOptions(opts...)
  12432. return out, req.Send()
  12433. }
  12434. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  12435. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  12436. // client's request for the DescribeDhcpOptions operation. The "output" return
  12437. // value will be populated with the request's response once the request completes
  12438. // successfully.
  12439. //
  12440. // Use "Send" method on the returned Request to send the API call to the service.
  12441. // the "output" return value is not valid until after Send returns without error.
  12442. //
  12443. // See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
  12444. // API call, and error handling.
  12445. //
  12446. // This method is useful when you want to inject custom logic or configuration
  12447. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12448. //
  12449. //
  12450. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  12451. // req, resp := client.DescribeDhcpOptionsRequest(params)
  12452. //
  12453. // err := req.Send()
  12454. // if err == nil { // resp is now filled
  12455. // fmt.Println(resp)
  12456. // }
  12457. //
  12458. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  12459. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  12460. op := &request.Operation{
  12461. Name: opDescribeDhcpOptions,
  12462. HTTPMethod: "POST",
  12463. HTTPPath: "/",
  12464. Paginator: &request.Paginator{
  12465. InputTokens: []string{"NextToken"},
  12466. OutputTokens: []string{"NextToken"},
  12467. LimitToken: "MaxResults",
  12468. TruncationToken: "",
  12469. },
  12470. }
  12471. if input == nil {
  12472. input = &DescribeDhcpOptionsInput{}
  12473. }
  12474. output = &DescribeDhcpOptionsOutput{}
  12475. req = c.newRequest(op, input, output)
  12476. return
  12477. }
  12478. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  12479. //
  12480. // Describes one or more of your DHCP options sets.
  12481. //
  12482. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
  12483. // in the Amazon Virtual Private Cloud User Guide.
  12484. //
  12485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12486. // with awserr.Error's Code and Message methods to get detailed information about
  12487. // the error.
  12488. //
  12489. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12490. // API operation DescribeDhcpOptions for usage and error information.
  12491. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  12492. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  12493. req, out := c.DescribeDhcpOptionsRequest(input)
  12494. return out, req.Send()
  12495. }
  12496. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  12497. // the ability to pass a context and additional request options.
  12498. //
  12499. // See DescribeDhcpOptions for details on how to use this API operation.
  12500. //
  12501. // The context must be non-nil and will be used for request cancellation. If
  12502. // the context is nil a panic will occur. In the future the SDK may create
  12503. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12504. // for more information on using Contexts.
  12505. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  12506. req, out := c.DescribeDhcpOptionsRequest(input)
  12507. req.SetContext(ctx)
  12508. req.ApplyOptions(opts...)
  12509. return out, req.Send()
  12510. }
  12511. // DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
  12512. // calling the "fn" function with the response data for each page. To stop
  12513. // iterating, return false from the fn function.
  12514. //
  12515. // See DescribeDhcpOptions method for more information on how to use this operation.
  12516. //
  12517. // Note: This operation can generate multiple requests to a service.
  12518. //
  12519. // // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
  12520. // pageNum := 0
  12521. // err := client.DescribeDhcpOptionsPages(params,
  12522. // func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
  12523. // pageNum++
  12524. // fmt.Println(page)
  12525. // return pageNum <= 3
  12526. // })
  12527. //
  12528. func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
  12529. return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  12530. }
  12531. // DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
  12532. // it takes a Context and allows setting request options on the pages.
  12533. //
  12534. // The context must be non-nil and will be used for request cancellation. If
  12535. // the context is nil a panic will occur. In the future the SDK may create
  12536. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12537. // for more information on using Contexts.
  12538. func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
  12539. p := request.Pagination{
  12540. NewRequest: func() (*request.Request, error) {
  12541. var inCpy *DescribeDhcpOptionsInput
  12542. if input != nil {
  12543. tmp := *input
  12544. inCpy = &tmp
  12545. }
  12546. req, _ := c.DescribeDhcpOptionsRequest(inCpy)
  12547. req.SetContext(ctx)
  12548. req.ApplyOptions(opts...)
  12549. return req, nil
  12550. },
  12551. }
  12552. for p.Next() {
  12553. if !fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) {
  12554. break
  12555. }
  12556. }
  12557. return p.Err()
  12558. }
  12559. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  12560. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  12561. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  12562. // value will be populated with the request's response once the request completes
  12563. // successfully.
  12564. //
  12565. // Use "Send" method on the returned Request to send the API call to the service.
  12566. // the "output" return value is not valid until after Send returns without error.
  12567. //
  12568. // See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
  12569. // API call, and error handling.
  12570. //
  12571. // This method is useful when you want to inject custom logic or configuration
  12572. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12573. //
  12574. //
  12575. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  12576. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  12577. //
  12578. // err := req.Send()
  12579. // if err == nil { // resp is now filled
  12580. // fmt.Println(resp)
  12581. // }
  12582. //
  12583. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  12584. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  12585. op := &request.Operation{
  12586. Name: opDescribeEgressOnlyInternetGateways,
  12587. HTTPMethod: "POST",
  12588. HTTPPath: "/",
  12589. Paginator: &request.Paginator{
  12590. InputTokens: []string{"NextToken"},
  12591. OutputTokens: []string{"NextToken"},
  12592. LimitToken: "MaxResults",
  12593. TruncationToken: "",
  12594. },
  12595. }
  12596. if input == nil {
  12597. input = &DescribeEgressOnlyInternetGatewaysInput{}
  12598. }
  12599. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  12600. req = c.newRequest(op, input, output)
  12601. return
  12602. }
  12603. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  12604. //
  12605. // Describes one or more of your egress-only internet gateways.
  12606. //
  12607. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12608. // with awserr.Error's Code and Message methods to get detailed information about
  12609. // the error.
  12610. //
  12611. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12612. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  12613. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  12614. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  12615. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  12616. return out, req.Send()
  12617. }
  12618. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  12619. // the ability to pass a context and additional request options.
  12620. //
  12621. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  12622. //
  12623. // The context must be non-nil and will be used for request cancellation. If
  12624. // the context is nil a panic will occur. In the future the SDK may create
  12625. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12626. // for more information on using Contexts.
  12627. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  12628. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  12629. req.SetContext(ctx)
  12630. req.ApplyOptions(opts...)
  12631. return out, req.Send()
  12632. }
  12633. // DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
  12634. // calling the "fn" function with the response data for each page. To stop
  12635. // iterating, return false from the fn function.
  12636. //
  12637. // See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
  12638. //
  12639. // Note: This operation can generate multiple requests to a service.
  12640. //
  12641. // // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
  12642. // pageNum := 0
  12643. // err := client.DescribeEgressOnlyInternetGatewaysPages(params,
  12644. // func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
  12645. // pageNum++
  12646. // fmt.Println(page)
  12647. // return pageNum <= 3
  12648. // })
  12649. //
  12650. func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
  12651. return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  12652. }
  12653. // DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
  12654. // it takes a Context and allows setting request options on the pages.
  12655. //
  12656. // The context must be non-nil and will be used for request cancellation. If
  12657. // the context is nil a panic will occur. In the future the SDK may create
  12658. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12659. // for more information on using Contexts.
  12660. func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
  12661. p := request.Pagination{
  12662. NewRequest: func() (*request.Request, error) {
  12663. var inCpy *DescribeEgressOnlyInternetGatewaysInput
  12664. if input != nil {
  12665. tmp := *input
  12666. inCpy = &tmp
  12667. }
  12668. req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
  12669. req.SetContext(ctx)
  12670. req.ApplyOptions(opts...)
  12671. return req, nil
  12672. },
  12673. }
  12674. for p.Next() {
  12675. if !fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) {
  12676. break
  12677. }
  12678. }
  12679. return p.Err()
  12680. }
  12681. const opDescribeElasticGpus = "DescribeElasticGpus"
  12682. // DescribeElasticGpusRequest generates a "aws/request.Request" representing the
  12683. // client's request for the DescribeElasticGpus operation. The "output" return
  12684. // value will be populated with the request's response once the request completes
  12685. // successfully.
  12686. //
  12687. // Use "Send" method on the returned Request to send the API call to the service.
  12688. // the "output" return value is not valid until after Send returns without error.
  12689. //
  12690. // See DescribeElasticGpus for more information on using the DescribeElasticGpus
  12691. // API call, and error handling.
  12692. //
  12693. // This method is useful when you want to inject custom logic or configuration
  12694. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12695. //
  12696. //
  12697. // // Example sending a request using the DescribeElasticGpusRequest method.
  12698. // req, resp := client.DescribeElasticGpusRequest(params)
  12699. //
  12700. // err := req.Send()
  12701. // if err == nil { // resp is now filled
  12702. // fmt.Println(resp)
  12703. // }
  12704. //
  12705. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  12706. func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
  12707. op := &request.Operation{
  12708. Name: opDescribeElasticGpus,
  12709. HTTPMethod: "POST",
  12710. HTTPPath: "/",
  12711. }
  12712. if input == nil {
  12713. input = &DescribeElasticGpusInput{}
  12714. }
  12715. output = &DescribeElasticGpusOutput{}
  12716. req = c.newRequest(op, input, output)
  12717. return
  12718. }
  12719. // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
  12720. //
  12721. // Describes the Elastic Graphics accelerator associated with your instances.
  12722. // For more information about Elastic Graphics, see Amazon Elastic Graphics
  12723. // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
  12724. //
  12725. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12726. // with awserr.Error's Code and Message methods to get detailed information about
  12727. // the error.
  12728. //
  12729. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12730. // API operation DescribeElasticGpus for usage and error information.
  12731. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  12732. func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
  12733. req, out := c.DescribeElasticGpusRequest(input)
  12734. return out, req.Send()
  12735. }
  12736. // DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
  12737. // the ability to pass a context and additional request options.
  12738. //
  12739. // See DescribeElasticGpus for details on how to use this API operation.
  12740. //
  12741. // The context must be non-nil and will be used for request cancellation. If
  12742. // the context is nil a panic will occur. In the future the SDK may create
  12743. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12744. // for more information on using Contexts.
  12745. func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
  12746. req, out := c.DescribeElasticGpusRequest(input)
  12747. req.SetContext(ctx)
  12748. req.ApplyOptions(opts...)
  12749. return out, req.Send()
  12750. }
  12751. const opDescribeExportImageTasks = "DescribeExportImageTasks"
  12752. // DescribeExportImageTasksRequest generates a "aws/request.Request" representing the
  12753. // client's request for the DescribeExportImageTasks operation. The "output" return
  12754. // value will be populated with the request's response once the request completes
  12755. // successfully.
  12756. //
  12757. // Use "Send" method on the returned Request to send the API call to the service.
  12758. // the "output" return value is not valid until after Send returns without error.
  12759. //
  12760. // See DescribeExportImageTasks for more information on using the DescribeExportImageTasks
  12761. // API call, and error handling.
  12762. //
  12763. // This method is useful when you want to inject custom logic or configuration
  12764. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12765. //
  12766. //
  12767. // // Example sending a request using the DescribeExportImageTasksRequest method.
  12768. // req, resp := client.DescribeExportImageTasksRequest(params)
  12769. //
  12770. // err := req.Send()
  12771. // if err == nil { // resp is now filled
  12772. // fmt.Println(resp)
  12773. // }
  12774. //
  12775. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
  12776. func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInput) (req *request.Request, output *DescribeExportImageTasksOutput) {
  12777. op := &request.Operation{
  12778. Name: opDescribeExportImageTasks,
  12779. HTTPMethod: "POST",
  12780. HTTPPath: "/",
  12781. Paginator: &request.Paginator{
  12782. InputTokens: []string{"NextToken"},
  12783. OutputTokens: []string{"NextToken"},
  12784. LimitToken: "MaxResults",
  12785. TruncationToken: "",
  12786. },
  12787. }
  12788. if input == nil {
  12789. input = &DescribeExportImageTasksInput{}
  12790. }
  12791. output = &DescribeExportImageTasksOutput{}
  12792. req = c.newRequest(op, input, output)
  12793. return
  12794. }
  12795. // DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud.
  12796. //
  12797. // Describes the specified export image tasks or all your export image tasks.
  12798. //
  12799. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12800. // with awserr.Error's Code and Message methods to get detailed information about
  12801. // the error.
  12802. //
  12803. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12804. // API operation DescribeExportImageTasks for usage and error information.
  12805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
  12806. func (c *EC2) DescribeExportImageTasks(input *DescribeExportImageTasksInput) (*DescribeExportImageTasksOutput, error) {
  12807. req, out := c.DescribeExportImageTasksRequest(input)
  12808. return out, req.Send()
  12809. }
  12810. // DescribeExportImageTasksWithContext is the same as DescribeExportImageTasks with the addition of
  12811. // the ability to pass a context and additional request options.
  12812. //
  12813. // See DescribeExportImageTasks for details on how to use this API operation.
  12814. //
  12815. // The context must be non-nil and will be used for request cancellation. If
  12816. // the context is nil a panic will occur. In the future the SDK may create
  12817. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12818. // for more information on using Contexts.
  12819. func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, opts ...request.Option) (*DescribeExportImageTasksOutput, error) {
  12820. req, out := c.DescribeExportImageTasksRequest(input)
  12821. req.SetContext(ctx)
  12822. req.ApplyOptions(opts...)
  12823. return out, req.Send()
  12824. }
  12825. // DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation,
  12826. // calling the "fn" function with the response data for each page. To stop
  12827. // iterating, return false from the fn function.
  12828. //
  12829. // See DescribeExportImageTasks method for more information on how to use this operation.
  12830. //
  12831. // Note: This operation can generate multiple requests to a service.
  12832. //
  12833. // // Example iterating over at most 3 pages of a DescribeExportImageTasks operation.
  12834. // pageNum := 0
  12835. // err := client.DescribeExportImageTasksPages(params,
  12836. // func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool {
  12837. // pageNum++
  12838. // fmt.Println(page)
  12839. // return pageNum <= 3
  12840. // })
  12841. //
  12842. func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error {
  12843. return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  12844. }
  12845. // DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages except
  12846. // it takes a Context and allows setting request options on the pages.
  12847. //
  12848. // The context must be non-nil and will be used for request cancellation. If
  12849. // the context is nil a panic will occur. In the future the SDK may create
  12850. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12851. // for more information on using Contexts.
  12852. func (c *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error {
  12853. p := request.Pagination{
  12854. NewRequest: func() (*request.Request, error) {
  12855. var inCpy *DescribeExportImageTasksInput
  12856. if input != nil {
  12857. tmp := *input
  12858. inCpy = &tmp
  12859. }
  12860. req, _ := c.DescribeExportImageTasksRequest(inCpy)
  12861. req.SetContext(ctx)
  12862. req.ApplyOptions(opts...)
  12863. return req, nil
  12864. },
  12865. }
  12866. for p.Next() {
  12867. if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) {
  12868. break
  12869. }
  12870. }
  12871. return p.Err()
  12872. }
  12873. const opDescribeExportTasks = "DescribeExportTasks"
  12874. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  12875. // client's request for the DescribeExportTasks operation. The "output" return
  12876. // value will be populated with the request's response once the request completes
  12877. // successfully.
  12878. //
  12879. // Use "Send" method on the returned Request to send the API call to the service.
  12880. // the "output" return value is not valid until after Send returns without error.
  12881. //
  12882. // See DescribeExportTasks for more information on using the DescribeExportTasks
  12883. // API call, and error handling.
  12884. //
  12885. // This method is useful when you want to inject custom logic or configuration
  12886. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12887. //
  12888. //
  12889. // // Example sending a request using the DescribeExportTasksRequest method.
  12890. // req, resp := client.DescribeExportTasksRequest(params)
  12891. //
  12892. // err := req.Send()
  12893. // if err == nil { // resp is now filled
  12894. // fmt.Println(resp)
  12895. // }
  12896. //
  12897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  12898. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  12899. op := &request.Operation{
  12900. Name: opDescribeExportTasks,
  12901. HTTPMethod: "POST",
  12902. HTTPPath: "/",
  12903. }
  12904. if input == nil {
  12905. input = &DescribeExportTasksInput{}
  12906. }
  12907. output = &DescribeExportTasksOutput{}
  12908. req = c.newRequest(op, input, output)
  12909. return
  12910. }
  12911. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  12912. //
  12913. // Describes the specified export instance tasks or all your export instance
  12914. // tasks.
  12915. //
  12916. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12917. // with awserr.Error's Code and Message methods to get detailed information about
  12918. // the error.
  12919. //
  12920. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12921. // API operation DescribeExportTasks for usage and error information.
  12922. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  12923. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  12924. req, out := c.DescribeExportTasksRequest(input)
  12925. return out, req.Send()
  12926. }
  12927. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  12928. // the ability to pass a context and additional request options.
  12929. //
  12930. // See DescribeExportTasks for details on how to use this API operation.
  12931. //
  12932. // The context must be non-nil and will be used for request cancellation. If
  12933. // the context is nil a panic will occur. In the future the SDK may create
  12934. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12935. // for more information on using Contexts.
  12936. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  12937. req, out := c.DescribeExportTasksRequest(input)
  12938. req.SetContext(ctx)
  12939. req.ApplyOptions(opts...)
  12940. return out, req.Send()
  12941. }
  12942. const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores"
  12943. // DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
  12944. // client's request for the DescribeFastSnapshotRestores operation. The "output" return
  12945. // value will be populated with the request's response once the request completes
  12946. // successfully.
  12947. //
  12948. // Use "Send" method on the returned Request to send the API call to the service.
  12949. // the "output" return value is not valid until after Send returns without error.
  12950. //
  12951. // See DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores
  12952. // API call, and error handling.
  12953. //
  12954. // This method is useful when you want to inject custom logic or configuration
  12955. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12956. //
  12957. //
  12958. // // Example sending a request using the DescribeFastSnapshotRestoresRequest method.
  12959. // req, resp := client.DescribeFastSnapshotRestoresRequest(params)
  12960. //
  12961. // err := req.Send()
  12962. // if err == nil { // resp is now filled
  12963. // fmt.Println(resp)
  12964. // }
  12965. //
  12966. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
  12967. func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) {
  12968. op := &request.Operation{
  12969. Name: opDescribeFastSnapshotRestores,
  12970. HTTPMethod: "POST",
  12971. HTTPPath: "/",
  12972. Paginator: &request.Paginator{
  12973. InputTokens: []string{"NextToken"},
  12974. OutputTokens: []string{"NextToken"},
  12975. LimitToken: "MaxResults",
  12976. TruncationToken: "",
  12977. },
  12978. }
  12979. if input == nil {
  12980. input = &DescribeFastSnapshotRestoresInput{}
  12981. }
  12982. output = &DescribeFastSnapshotRestoresOutput{}
  12983. req = c.newRequest(op, input, output)
  12984. return
  12985. }
  12986. // DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
  12987. //
  12988. // Describes the state of fast snapshot restores for your snapshots.
  12989. //
  12990. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12991. // with awserr.Error's Code and Message methods to get detailed information about
  12992. // the error.
  12993. //
  12994. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12995. // API operation DescribeFastSnapshotRestores for usage and error information.
  12996. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
  12997. func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) {
  12998. req, out := c.DescribeFastSnapshotRestoresRequest(input)
  12999. return out, req.Send()
  13000. }
  13001. // DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of
  13002. // the ability to pass a context and additional request options.
  13003. //
  13004. // See DescribeFastSnapshotRestores for details on how to use this API operation.
  13005. //
  13006. // The context must be non-nil and will be used for request cancellation. If
  13007. // the context is nil a panic will occur. In the future the SDK may create
  13008. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13009. // for more information on using Contexts.
  13010. func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) {
  13011. req, out := c.DescribeFastSnapshotRestoresRequest(input)
  13012. req.SetContext(ctx)
  13013. req.ApplyOptions(opts...)
  13014. return out, req.Send()
  13015. }
  13016. // DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation,
  13017. // calling the "fn" function with the response data for each page. To stop
  13018. // iterating, return false from the fn function.
  13019. //
  13020. // See DescribeFastSnapshotRestores method for more information on how to use this operation.
  13021. //
  13022. // Note: This operation can generate multiple requests to a service.
  13023. //
  13024. // // Example iterating over at most 3 pages of a DescribeFastSnapshotRestores operation.
  13025. // pageNum := 0
  13026. // err := client.DescribeFastSnapshotRestoresPages(params,
  13027. // func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool {
  13028. // pageNum++
  13029. // fmt.Println(page)
  13030. // return pageNum <= 3
  13031. // })
  13032. //
  13033. func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error {
  13034. return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn)
  13035. }
  13036. // DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages except
  13037. // it takes a Context and allows setting request options on the pages.
  13038. //
  13039. // The context must be non-nil and will be used for request cancellation. If
  13040. // the context is nil a panic will occur. In the future the SDK may create
  13041. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13042. // for more information on using Contexts.
  13043. func (c *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error {
  13044. p := request.Pagination{
  13045. NewRequest: func() (*request.Request, error) {
  13046. var inCpy *DescribeFastSnapshotRestoresInput
  13047. if input != nil {
  13048. tmp := *input
  13049. inCpy = &tmp
  13050. }
  13051. req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy)
  13052. req.SetContext(ctx)
  13053. req.ApplyOptions(opts...)
  13054. return req, nil
  13055. },
  13056. }
  13057. for p.Next() {
  13058. if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) {
  13059. break
  13060. }
  13061. }
  13062. return p.Err()
  13063. }
  13064. const opDescribeFleetHistory = "DescribeFleetHistory"
  13065. // DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
  13066. // client's request for the DescribeFleetHistory operation. The "output" return
  13067. // value will be populated with the request's response once the request completes
  13068. // successfully.
  13069. //
  13070. // Use "Send" method on the returned Request to send the API call to the service.
  13071. // the "output" return value is not valid until after Send returns without error.
  13072. //
  13073. // See DescribeFleetHistory for more information on using the DescribeFleetHistory
  13074. // API call, and error handling.
  13075. //
  13076. // This method is useful when you want to inject custom logic or configuration
  13077. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13078. //
  13079. //
  13080. // // Example sending a request using the DescribeFleetHistoryRequest method.
  13081. // req, resp := client.DescribeFleetHistoryRequest(params)
  13082. //
  13083. // err := req.Send()
  13084. // if err == nil { // resp is now filled
  13085. // fmt.Println(resp)
  13086. // }
  13087. //
  13088. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  13089. func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
  13090. op := &request.Operation{
  13091. Name: opDescribeFleetHistory,
  13092. HTTPMethod: "POST",
  13093. HTTPPath: "/",
  13094. }
  13095. if input == nil {
  13096. input = &DescribeFleetHistoryInput{}
  13097. }
  13098. output = &DescribeFleetHistoryOutput{}
  13099. req = c.newRequest(op, input, output)
  13100. return
  13101. }
  13102. // DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
  13103. //
  13104. // Describes the events for the specified EC2 Fleet during the specified time.
  13105. //
  13106. // EC2 Fleet events are delayed by up to 30 seconds before they can be described.
  13107. // This ensures that you can query by the last evaluated time and not miss a
  13108. // recorded event. EC2 Fleet events are available for 48 hours.
  13109. //
  13110. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13111. // with awserr.Error's Code and Message methods to get detailed information about
  13112. // the error.
  13113. //
  13114. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13115. // API operation DescribeFleetHistory for usage and error information.
  13116. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  13117. func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
  13118. req, out := c.DescribeFleetHistoryRequest(input)
  13119. return out, req.Send()
  13120. }
  13121. // DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
  13122. // the ability to pass a context and additional request options.
  13123. //
  13124. // See DescribeFleetHistory for details on how to use this API operation.
  13125. //
  13126. // The context must be non-nil and will be used for request cancellation. If
  13127. // the context is nil a panic will occur. In the future the SDK may create
  13128. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13129. // for more information on using Contexts.
  13130. func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
  13131. req, out := c.DescribeFleetHistoryRequest(input)
  13132. req.SetContext(ctx)
  13133. req.ApplyOptions(opts...)
  13134. return out, req.Send()
  13135. }
  13136. const opDescribeFleetInstances = "DescribeFleetInstances"
  13137. // DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
  13138. // client's request for the DescribeFleetInstances operation. The "output" return
  13139. // value will be populated with the request's response once the request completes
  13140. // successfully.
  13141. //
  13142. // Use "Send" method on the returned Request to send the API call to the service.
  13143. // the "output" return value is not valid until after Send returns without error.
  13144. //
  13145. // See DescribeFleetInstances for more information on using the DescribeFleetInstances
  13146. // API call, and error handling.
  13147. //
  13148. // This method is useful when you want to inject custom logic or configuration
  13149. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13150. //
  13151. //
  13152. // // Example sending a request using the DescribeFleetInstancesRequest method.
  13153. // req, resp := client.DescribeFleetInstancesRequest(params)
  13154. //
  13155. // err := req.Send()
  13156. // if err == nil { // resp is now filled
  13157. // fmt.Println(resp)
  13158. // }
  13159. //
  13160. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  13161. func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
  13162. op := &request.Operation{
  13163. Name: opDescribeFleetInstances,
  13164. HTTPMethod: "POST",
  13165. HTTPPath: "/",
  13166. }
  13167. if input == nil {
  13168. input = &DescribeFleetInstancesInput{}
  13169. }
  13170. output = &DescribeFleetInstancesOutput{}
  13171. req = c.newRequest(op, input, output)
  13172. return
  13173. }
  13174. // DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
  13175. //
  13176. // Describes the running instances for the specified EC2 Fleet.
  13177. //
  13178. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13179. // with awserr.Error's Code and Message methods to get detailed information about
  13180. // the error.
  13181. //
  13182. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13183. // API operation DescribeFleetInstances for usage and error information.
  13184. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  13185. func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
  13186. req, out := c.DescribeFleetInstancesRequest(input)
  13187. return out, req.Send()
  13188. }
  13189. // DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
  13190. // the ability to pass a context and additional request options.
  13191. //
  13192. // See DescribeFleetInstances for details on how to use this API operation.
  13193. //
  13194. // The context must be non-nil and will be used for request cancellation. If
  13195. // the context is nil a panic will occur. In the future the SDK may create
  13196. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13197. // for more information on using Contexts.
  13198. func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
  13199. req, out := c.DescribeFleetInstancesRequest(input)
  13200. req.SetContext(ctx)
  13201. req.ApplyOptions(opts...)
  13202. return out, req.Send()
  13203. }
  13204. const opDescribeFleets = "DescribeFleets"
  13205. // DescribeFleetsRequest generates a "aws/request.Request" representing the
  13206. // client's request for the DescribeFleets operation. The "output" return
  13207. // value will be populated with the request's response once the request completes
  13208. // successfully.
  13209. //
  13210. // Use "Send" method on the returned Request to send the API call to the service.
  13211. // the "output" return value is not valid until after Send returns without error.
  13212. //
  13213. // See DescribeFleets for more information on using the DescribeFleets
  13214. // API call, and error handling.
  13215. //
  13216. // This method is useful when you want to inject custom logic or configuration
  13217. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13218. //
  13219. //
  13220. // // Example sending a request using the DescribeFleetsRequest method.
  13221. // req, resp := client.DescribeFleetsRequest(params)
  13222. //
  13223. // err := req.Send()
  13224. // if err == nil { // resp is now filled
  13225. // fmt.Println(resp)
  13226. // }
  13227. //
  13228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  13229. func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
  13230. op := &request.Operation{
  13231. Name: opDescribeFleets,
  13232. HTTPMethod: "POST",
  13233. HTTPPath: "/",
  13234. Paginator: &request.Paginator{
  13235. InputTokens: []string{"NextToken"},
  13236. OutputTokens: []string{"NextToken"},
  13237. LimitToken: "MaxResults",
  13238. TruncationToken: "",
  13239. },
  13240. }
  13241. if input == nil {
  13242. input = &DescribeFleetsInput{}
  13243. }
  13244. output = &DescribeFleetsOutput{}
  13245. req = c.newRequest(op, input, output)
  13246. return
  13247. }
  13248. // DescribeFleets API operation for Amazon Elastic Compute Cloud.
  13249. //
  13250. // Describes the specified EC2 Fleets or all of your EC2 Fleets.
  13251. //
  13252. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13253. // with awserr.Error's Code and Message methods to get detailed information about
  13254. // the error.
  13255. //
  13256. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13257. // API operation DescribeFleets for usage and error information.
  13258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  13259. func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
  13260. req, out := c.DescribeFleetsRequest(input)
  13261. return out, req.Send()
  13262. }
  13263. // DescribeFleetsWithContext is the same as DescribeFleets with the addition of
  13264. // the ability to pass a context and additional request options.
  13265. //
  13266. // See DescribeFleets for details on how to use this API operation.
  13267. //
  13268. // The context must be non-nil and will be used for request cancellation. If
  13269. // the context is nil a panic will occur. In the future the SDK may create
  13270. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13271. // for more information on using Contexts.
  13272. func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
  13273. req, out := c.DescribeFleetsRequest(input)
  13274. req.SetContext(ctx)
  13275. req.ApplyOptions(opts...)
  13276. return out, req.Send()
  13277. }
  13278. // DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
  13279. // calling the "fn" function with the response data for each page. To stop
  13280. // iterating, return false from the fn function.
  13281. //
  13282. // See DescribeFleets method for more information on how to use this operation.
  13283. //
  13284. // Note: This operation can generate multiple requests to a service.
  13285. //
  13286. // // Example iterating over at most 3 pages of a DescribeFleets operation.
  13287. // pageNum := 0
  13288. // err := client.DescribeFleetsPages(params,
  13289. // func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
  13290. // pageNum++
  13291. // fmt.Println(page)
  13292. // return pageNum <= 3
  13293. // })
  13294. //
  13295. func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
  13296. return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
  13297. }
  13298. // DescribeFleetsPagesWithContext same as DescribeFleetsPages except
  13299. // it takes a Context and allows setting request options on the pages.
  13300. //
  13301. // The context must be non-nil and will be used for request cancellation. If
  13302. // the context is nil a panic will occur. In the future the SDK may create
  13303. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13304. // for more information on using Contexts.
  13305. func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
  13306. p := request.Pagination{
  13307. NewRequest: func() (*request.Request, error) {
  13308. var inCpy *DescribeFleetsInput
  13309. if input != nil {
  13310. tmp := *input
  13311. inCpy = &tmp
  13312. }
  13313. req, _ := c.DescribeFleetsRequest(inCpy)
  13314. req.SetContext(ctx)
  13315. req.ApplyOptions(opts...)
  13316. return req, nil
  13317. },
  13318. }
  13319. for p.Next() {
  13320. if !fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) {
  13321. break
  13322. }
  13323. }
  13324. return p.Err()
  13325. }
  13326. const opDescribeFlowLogs = "DescribeFlowLogs"
  13327. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  13328. // client's request for the DescribeFlowLogs operation. The "output" return
  13329. // value will be populated with the request's response once the request completes
  13330. // successfully.
  13331. //
  13332. // Use "Send" method on the returned Request to send the API call to the service.
  13333. // the "output" return value is not valid until after Send returns without error.
  13334. //
  13335. // See DescribeFlowLogs for more information on using the DescribeFlowLogs
  13336. // API call, and error handling.
  13337. //
  13338. // This method is useful when you want to inject custom logic or configuration
  13339. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13340. //
  13341. //
  13342. // // Example sending a request using the DescribeFlowLogsRequest method.
  13343. // req, resp := client.DescribeFlowLogsRequest(params)
  13344. //
  13345. // err := req.Send()
  13346. // if err == nil { // resp is now filled
  13347. // fmt.Println(resp)
  13348. // }
  13349. //
  13350. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  13351. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  13352. op := &request.Operation{
  13353. Name: opDescribeFlowLogs,
  13354. HTTPMethod: "POST",
  13355. HTTPPath: "/",
  13356. Paginator: &request.Paginator{
  13357. InputTokens: []string{"NextToken"},
  13358. OutputTokens: []string{"NextToken"},
  13359. LimitToken: "MaxResults",
  13360. TruncationToken: "",
  13361. },
  13362. }
  13363. if input == nil {
  13364. input = &DescribeFlowLogsInput{}
  13365. }
  13366. output = &DescribeFlowLogsOutput{}
  13367. req = c.newRequest(op, input, output)
  13368. return
  13369. }
  13370. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  13371. //
  13372. // Describes one or more flow logs. To view the information in your flow logs
  13373. // (the log streams for the network interfaces), you must use the CloudWatch
  13374. // Logs console or the CloudWatch Logs API.
  13375. //
  13376. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13377. // with awserr.Error's Code and Message methods to get detailed information about
  13378. // the error.
  13379. //
  13380. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13381. // API operation DescribeFlowLogs for usage and error information.
  13382. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  13383. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  13384. req, out := c.DescribeFlowLogsRequest(input)
  13385. return out, req.Send()
  13386. }
  13387. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  13388. // the ability to pass a context and additional request options.
  13389. //
  13390. // See DescribeFlowLogs for details on how to use this API operation.
  13391. //
  13392. // The context must be non-nil and will be used for request cancellation. If
  13393. // the context is nil a panic will occur. In the future the SDK may create
  13394. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13395. // for more information on using Contexts.
  13396. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  13397. req, out := c.DescribeFlowLogsRequest(input)
  13398. req.SetContext(ctx)
  13399. req.ApplyOptions(opts...)
  13400. return out, req.Send()
  13401. }
  13402. // DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
  13403. // calling the "fn" function with the response data for each page. To stop
  13404. // iterating, return false from the fn function.
  13405. //
  13406. // See DescribeFlowLogs method for more information on how to use this operation.
  13407. //
  13408. // Note: This operation can generate multiple requests to a service.
  13409. //
  13410. // // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
  13411. // pageNum := 0
  13412. // err := client.DescribeFlowLogsPages(params,
  13413. // func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
  13414. // pageNum++
  13415. // fmt.Println(page)
  13416. // return pageNum <= 3
  13417. // })
  13418. //
  13419. func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
  13420. return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
  13421. }
  13422. // DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
  13423. // it takes a Context and allows setting request options on the pages.
  13424. //
  13425. // The context must be non-nil and will be used for request cancellation. If
  13426. // the context is nil a panic will occur. In the future the SDK may create
  13427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13428. // for more information on using Contexts.
  13429. func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
  13430. p := request.Pagination{
  13431. NewRequest: func() (*request.Request, error) {
  13432. var inCpy *DescribeFlowLogsInput
  13433. if input != nil {
  13434. tmp := *input
  13435. inCpy = &tmp
  13436. }
  13437. req, _ := c.DescribeFlowLogsRequest(inCpy)
  13438. req.SetContext(ctx)
  13439. req.ApplyOptions(opts...)
  13440. return req, nil
  13441. },
  13442. }
  13443. for p.Next() {
  13444. if !fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) {
  13445. break
  13446. }
  13447. }
  13448. return p.Err()
  13449. }
  13450. const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
  13451. // DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  13452. // client's request for the DescribeFpgaImageAttribute operation. The "output" return
  13453. // value will be populated with the request's response once the request completes
  13454. // successfully.
  13455. //
  13456. // Use "Send" method on the returned Request to send the API call to the service.
  13457. // the "output" return value is not valid until after Send returns without error.
  13458. //
  13459. // See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
  13460. // API call, and error handling.
  13461. //
  13462. // This method is useful when you want to inject custom logic or configuration
  13463. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13464. //
  13465. //
  13466. // // Example sending a request using the DescribeFpgaImageAttributeRequest method.
  13467. // req, resp := client.DescribeFpgaImageAttributeRequest(params)
  13468. //
  13469. // err := req.Send()
  13470. // if err == nil { // resp is now filled
  13471. // fmt.Println(resp)
  13472. // }
  13473. //
  13474. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  13475. func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
  13476. op := &request.Operation{
  13477. Name: opDescribeFpgaImageAttribute,
  13478. HTTPMethod: "POST",
  13479. HTTPPath: "/",
  13480. }
  13481. if input == nil {
  13482. input = &DescribeFpgaImageAttributeInput{}
  13483. }
  13484. output = &DescribeFpgaImageAttributeOutput{}
  13485. req = c.newRequest(op, input, output)
  13486. return
  13487. }
  13488. // DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  13489. //
  13490. // Describes the specified attribute of the specified Amazon FPGA Image (AFI).
  13491. //
  13492. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13493. // with awserr.Error's Code and Message methods to get detailed information about
  13494. // the error.
  13495. //
  13496. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13497. // API operation DescribeFpgaImageAttribute for usage and error information.
  13498. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  13499. func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
  13500. req, out := c.DescribeFpgaImageAttributeRequest(input)
  13501. return out, req.Send()
  13502. }
  13503. // DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
  13504. // the ability to pass a context and additional request options.
  13505. //
  13506. // See DescribeFpgaImageAttribute for details on how to use this API operation.
  13507. //
  13508. // The context must be non-nil and will be used for request cancellation. If
  13509. // the context is nil a panic will occur. In the future the SDK may create
  13510. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13511. // for more information on using Contexts.
  13512. func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
  13513. req, out := c.DescribeFpgaImageAttributeRequest(input)
  13514. req.SetContext(ctx)
  13515. req.ApplyOptions(opts...)
  13516. return out, req.Send()
  13517. }
  13518. const opDescribeFpgaImages = "DescribeFpgaImages"
  13519. // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
  13520. // client's request for the DescribeFpgaImages operation. The "output" return
  13521. // value will be populated with the request's response once the request completes
  13522. // successfully.
  13523. //
  13524. // Use "Send" method on the returned Request to send the API call to the service.
  13525. // the "output" return value is not valid until after Send returns without error.
  13526. //
  13527. // See DescribeFpgaImages for more information on using the DescribeFpgaImages
  13528. // API call, and error handling.
  13529. //
  13530. // This method is useful when you want to inject custom logic or configuration
  13531. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13532. //
  13533. //
  13534. // // Example sending a request using the DescribeFpgaImagesRequest method.
  13535. // req, resp := client.DescribeFpgaImagesRequest(params)
  13536. //
  13537. // err := req.Send()
  13538. // if err == nil { // resp is now filled
  13539. // fmt.Println(resp)
  13540. // }
  13541. //
  13542. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  13543. func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
  13544. op := &request.Operation{
  13545. Name: opDescribeFpgaImages,
  13546. HTTPMethod: "POST",
  13547. HTTPPath: "/",
  13548. Paginator: &request.Paginator{
  13549. InputTokens: []string{"NextToken"},
  13550. OutputTokens: []string{"NextToken"},
  13551. LimitToken: "MaxResults",
  13552. TruncationToken: "",
  13553. },
  13554. }
  13555. if input == nil {
  13556. input = &DescribeFpgaImagesInput{}
  13557. }
  13558. output = &DescribeFpgaImagesOutput{}
  13559. req = c.newRequest(op, input, output)
  13560. return
  13561. }
  13562. // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
  13563. //
  13564. // Describes the Amazon FPGA Images (AFIs) available to you. These include public
  13565. // AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
  13566. // which you have load permissions.
  13567. //
  13568. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13569. // with awserr.Error's Code and Message methods to get detailed information about
  13570. // the error.
  13571. //
  13572. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13573. // API operation DescribeFpgaImages for usage and error information.
  13574. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  13575. func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
  13576. req, out := c.DescribeFpgaImagesRequest(input)
  13577. return out, req.Send()
  13578. }
  13579. // DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
  13580. // the ability to pass a context and additional request options.
  13581. //
  13582. // See DescribeFpgaImages for details on how to use this API operation.
  13583. //
  13584. // The context must be non-nil and will be used for request cancellation. If
  13585. // the context is nil a panic will occur. In the future the SDK may create
  13586. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13587. // for more information on using Contexts.
  13588. func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
  13589. req, out := c.DescribeFpgaImagesRequest(input)
  13590. req.SetContext(ctx)
  13591. req.ApplyOptions(opts...)
  13592. return out, req.Send()
  13593. }
  13594. // DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
  13595. // calling the "fn" function with the response data for each page. To stop
  13596. // iterating, return false from the fn function.
  13597. //
  13598. // See DescribeFpgaImages method for more information on how to use this operation.
  13599. //
  13600. // Note: This operation can generate multiple requests to a service.
  13601. //
  13602. // // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
  13603. // pageNum := 0
  13604. // err := client.DescribeFpgaImagesPages(params,
  13605. // func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
  13606. // pageNum++
  13607. // fmt.Println(page)
  13608. // return pageNum <= 3
  13609. // })
  13610. //
  13611. func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
  13612. return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  13613. }
  13614. // DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
  13615. // it takes a Context and allows setting request options on the pages.
  13616. //
  13617. // The context must be non-nil and will be used for request cancellation. If
  13618. // the context is nil a panic will occur. In the future the SDK may create
  13619. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13620. // for more information on using Contexts.
  13621. func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
  13622. p := request.Pagination{
  13623. NewRequest: func() (*request.Request, error) {
  13624. var inCpy *DescribeFpgaImagesInput
  13625. if input != nil {
  13626. tmp := *input
  13627. inCpy = &tmp
  13628. }
  13629. req, _ := c.DescribeFpgaImagesRequest(inCpy)
  13630. req.SetContext(ctx)
  13631. req.ApplyOptions(opts...)
  13632. return req, nil
  13633. },
  13634. }
  13635. for p.Next() {
  13636. if !fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) {
  13637. break
  13638. }
  13639. }
  13640. return p.Err()
  13641. }
  13642. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  13643. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  13644. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  13645. // value will be populated with the request's response once the request completes
  13646. // successfully.
  13647. //
  13648. // Use "Send" method on the returned Request to send the API call to the service.
  13649. // the "output" return value is not valid until after Send returns without error.
  13650. //
  13651. // See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
  13652. // API call, and error handling.
  13653. //
  13654. // This method is useful when you want to inject custom logic or configuration
  13655. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13656. //
  13657. //
  13658. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  13659. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  13660. //
  13661. // err := req.Send()
  13662. // if err == nil { // resp is now filled
  13663. // fmt.Println(resp)
  13664. // }
  13665. //
  13666. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  13667. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  13668. op := &request.Operation{
  13669. Name: opDescribeHostReservationOfferings,
  13670. HTTPMethod: "POST",
  13671. HTTPPath: "/",
  13672. Paginator: &request.Paginator{
  13673. InputTokens: []string{"NextToken"},
  13674. OutputTokens: []string{"NextToken"},
  13675. LimitToken: "MaxResults",
  13676. TruncationToken: "",
  13677. },
  13678. }
  13679. if input == nil {
  13680. input = &DescribeHostReservationOfferingsInput{}
  13681. }
  13682. output = &DescribeHostReservationOfferingsOutput{}
  13683. req = c.newRequest(op, input, output)
  13684. return
  13685. }
  13686. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  13687. //
  13688. // Describes the Dedicated Host reservations that are available to purchase.
  13689. //
  13690. // The results describe all of the Dedicated Host reservation offerings, including
  13691. // offerings that might not match the instance family and Region of your Dedicated
  13692. // Hosts. When purchasing an offering, ensure that the instance family and Region
  13693. // of the offering matches that of the Dedicated Hosts with which it is to be
  13694. // associated. For more information about supported instance types, see Dedicated
  13695. // Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  13696. // in the Amazon Elastic Compute Cloud User Guide.
  13697. //
  13698. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13699. // with awserr.Error's Code and Message methods to get detailed information about
  13700. // the error.
  13701. //
  13702. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13703. // API operation DescribeHostReservationOfferings for usage and error information.
  13704. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  13705. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  13706. req, out := c.DescribeHostReservationOfferingsRequest(input)
  13707. return out, req.Send()
  13708. }
  13709. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  13710. // the ability to pass a context and additional request options.
  13711. //
  13712. // See DescribeHostReservationOfferings for details on how to use this API operation.
  13713. //
  13714. // The context must be non-nil and will be used for request cancellation. If
  13715. // the context is nil a panic will occur. In the future the SDK may create
  13716. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13717. // for more information on using Contexts.
  13718. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  13719. req, out := c.DescribeHostReservationOfferingsRequest(input)
  13720. req.SetContext(ctx)
  13721. req.ApplyOptions(opts...)
  13722. return out, req.Send()
  13723. }
  13724. // DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
  13725. // calling the "fn" function with the response data for each page. To stop
  13726. // iterating, return false from the fn function.
  13727. //
  13728. // See DescribeHostReservationOfferings method for more information on how to use this operation.
  13729. //
  13730. // Note: This operation can generate multiple requests to a service.
  13731. //
  13732. // // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
  13733. // pageNum := 0
  13734. // err := client.DescribeHostReservationOfferingsPages(params,
  13735. // func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
  13736. // pageNum++
  13737. // fmt.Println(page)
  13738. // return pageNum <= 3
  13739. // })
  13740. //
  13741. func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
  13742. return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  13743. }
  13744. // DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
  13745. // it takes a Context and allows setting request options on the pages.
  13746. //
  13747. // The context must be non-nil and will be used for request cancellation. If
  13748. // the context is nil a panic will occur. In the future the SDK may create
  13749. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13750. // for more information on using Contexts.
  13751. func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
  13752. p := request.Pagination{
  13753. NewRequest: func() (*request.Request, error) {
  13754. var inCpy *DescribeHostReservationOfferingsInput
  13755. if input != nil {
  13756. tmp := *input
  13757. inCpy = &tmp
  13758. }
  13759. req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
  13760. req.SetContext(ctx)
  13761. req.ApplyOptions(opts...)
  13762. return req, nil
  13763. },
  13764. }
  13765. for p.Next() {
  13766. if !fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) {
  13767. break
  13768. }
  13769. }
  13770. return p.Err()
  13771. }
  13772. const opDescribeHostReservations = "DescribeHostReservations"
  13773. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  13774. // client's request for the DescribeHostReservations operation. The "output" return
  13775. // value will be populated with the request's response once the request completes
  13776. // successfully.
  13777. //
  13778. // Use "Send" method on the returned Request to send the API call to the service.
  13779. // the "output" return value is not valid until after Send returns without error.
  13780. //
  13781. // See DescribeHostReservations for more information on using the DescribeHostReservations
  13782. // API call, and error handling.
  13783. //
  13784. // This method is useful when you want to inject custom logic or configuration
  13785. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13786. //
  13787. //
  13788. // // Example sending a request using the DescribeHostReservationsRequest method.
  13789. // req, resp := client.DescribeHostReservationsRequest(params)
  13790. //
  13791. // err := req.Send()
  13792. // if err == nil { // resp is now filled
  13793. // fmt.Println(resp)
  13794. // }
  13795. //
  13796. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  13797. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  13798. op := &request.Operation{
  13799. Name: opDescribeHostReservations,
  13800. HTTPMethod: "POST",
  13801. HTTPPath: "/",
  13802. Paginator: &request.Paginator{
  13803. InputTokens: []string{"NextToken"},
  13804. OutputTokens: []string{"NextToken"},
  13805. LimitToken: "MaxResults",
  13806. TruncationToken: "",
  13807. },
  13808. }
  13809. if input == nil {
  13810. input = &DescribeHostReservationsInput{}
  13811. }
  13812. output = &DescribeHostReservationsOutput{}
  13813. req = c.newRequest(op, input, output)
  13814. return
  13815. }
  13816. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  13817. //
  13818. // Describes reservations that are associated with Dedicated Hosts in your account.
  13819. //
  13820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13821. // with awserr.Error's Code and Message methods to get detailed information about
  13822. // the error.
  13823. //
  13824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13825. // API operation DescribeHostReservations for usage and error information.
  13826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  13827. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  13828. req, out := c.DescribeHostReservationsRequest(input)
  13829. return out, req.Send()
  13830. }
  13831. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  13832. // the ability to pass a context and additional request options.
  13833. //
  13834. // See DescribeHostReservations for details on how to use this API operation.
  13835. //
  13836. // The context must be non-nil and will be used for request cancellation. If
  13837. // the context is nil a panic will occur. In the future the SDK may create
  13838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13839. // for more information on using Contexts.
  13840. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  13841. req, out := c.DescribeHostReservationsRequest(input)
  13842. req.SetContext(ctx)
  13843. req.ApplyOptions(opts...)
  13844. return out, req.Send()
  13845. }
  13846. // DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
  13847. // calling the "fn" function with the response data for each page. To stop
  13848. // iterating, return false from the fn function.
  13849. //
  13850. // See DescribeHostReservations method for more information on how to use this operation.
  13851. //
  13852. // Note: This operation can generate multiple requests to a service.
  13853. //
  13854. // // Example iterating over at most 3 pages of a DescribeHostReservations operation.
  13855. // pageNum := 0
  13856. // err := client.DescribeHostReservationsPages(params,
  13857. // func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
  13858. // pageNum++
  13859. // fmt.Println(page)
  13860. // return pageNum <= 3
  13861. // })
  13862. //
  13863. func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
  13864. return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
  13865. }
  13866. // DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
  13867. // it takes a Context and allows setting request options on the pages.
  13868. //
  13869. // The context must be non-nil and will be used for request cancellation. If
  13870. // the context is nil a panic will occur. In the future the SDK may create
  13871. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13872. // for more information on using Contexts.
  13873. func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
  13874. p := request.Pagination{
  13875. NewRequest: func() (*request.Request, error) {
  13876. var inCpy *DescribeHostReservationsInput
  13877. if input != nil {
  13878. tmp := *input
  13879. inCpy = &tmp
  13880. }
  13881. req, _ := c.DescribeHostReservationsRequest(inCpy)
  13882. req.SetContext(ctx)
  13883. req.ApplyOptions(opts...)
  13884. return req, nil
  13885. },
  13886. }
  13887. for p.Next() {
  13888. if !fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) {
  13889. break
  13890. }
  13891. }
  13892. return p.Err()
  13893. }
  13894. const opDescribeHosts = "DescribeHosts"
  13895. // DescribeHostsRequest generates a "aws/request.Request" representing the
  13896. // client's request for the DescribeHosts operation. The "output" return
  13897. // value will be populated with the request's response once the request completes
  13898. // successfully.
  13899. //
  13900. // Use "Send" method on the returned Request to send the API call to the service.
  13901. // the "output" return value is not valid until after Send returns without error.
  13902. //
  13903. // See DescribeHosts for more information on using the DescribeHosts
  13904. // API call, and error handling.
  13905. //
  13906. // This method is useful when you want to inject custom logic or configuration
  13907. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13908. //
  13909. //
  13910. // // Example sending a request using the DescribeHostsRequest method.
  13911. // req, resp := client.DescribeHostsRequest(params)
  13912. //
  13913. // err := req.Send()
  13914. // if err == nil { // resp is now filled
  13915. // fmt.Println(resp)
  13916. // }
  13917. //
  13918. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  13919. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  13920. op := &request.Operation{
  13921. Name: opDescribeHosts,
  13922. HTTPMethod: "POST",
  13923. HTTPPath: "/",
  13924. Paginator: &request.Paginator{
  13925. InputTokens: []string{"NextToken"},
  13926. OutputTokens: []string{"NextToken"},
  13927. LimitToken: "MaxResults",
  13928. TruncationToken: "",
  13929. },
  13930. }
  13931. if input == nil {
  13932. input = &DescribeHostsInput{}
  13933. }
  13934. output = &DescribeHostsOutput{}
  13935. req = c.newRequest(op, input, output)
  13936. return
  13937. }
  13938. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  13939. //
  13940. // Describes the specified Dedicated Hosts or all your Dedicated Hosts.
  13941. //
  13942. // The results describe only the Dedicated Hosts in the Region you're currently
  13943. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  13944. // Hosts that have recently been released are listed with the state released.
  13945. //
  13946. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13947. // with awserr.Error's Code and Message methods to get detailed information about
  13948. // the error.
  13949. //
  13950. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13951. // API operation DescribeHosts for usage and error information.
  13952. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  13953. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  13954. req, out := c.DescribeHostsRequest(input)
  13955. return out, req.Send()
  13956. }
  13957. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  13958. // the ability to pass a context and additional request options.
  13959. //
  13960. // See DescribeHosts for details on how to use this API operation.
  13961. //
  13962. // The context must be non-nil and will be used for request cancellation. If
  13963. // the context is nil a panic will occur. In the future the SDK may create
  13964. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13965. // for more information on using Contexts.
  13966. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  13967. req, out := c.DescribeHostsRequest(input)
  13968. req.SetContext(ctx)
  13969. req.ApplyOptions(opts...)
  13970. return out, req.Send()
  13971. }
  13972. // DescribeHostsPages iterates over the pages of a DescribeHosts operation,
  13973. // calling the "fn" function with the response data for each page. To stop
  13974. // iterating, return false from the fn function.
  13975. //
  13976. // See DescribeHosts method for more information on how to use this operation.
  13977. //
  13978. // Note: This operation can generate multiple requests to a service.
  13979. //
  13980. // // Example iterating over at most 3 pages of a DescribeHosts operation.
  13981. // pageNum := 0
  13982. // err := client.DescribeHostsPages(params,
  13983. // func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
  13984. // pageNum++
  13985. // fmt.Println(page)
  13986. // return pageNum <= 3
  13987. // })
  13988. //
  13989. func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
  13990. return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
  13991. }
  13992. // DescribeHostsPagesWithContext same as DescribeHostsPages except
  13993. // it takes a Context and allows setting request options on the pages.
  13994. //
  13995. // The context must be non-nil and will be used for request cancellation. If
  13996. // the context is nil a panic will occur. In the future the SDK may create
  13997. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13998. // for more information on using Contexts.
  13999. func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
  14000. p := request.Pagination{
  14001. NewRequest: func() (*request.Request, error) {
  14002. var inCpy *DescribeHostsInput
  14003. if input != nil {
  14004. tmp := *input
  14005. inCpy = &tmp
  14006. }
  14007. req, _ := c.DescribeHostsRequest(inCpy)
  14008. req.SetContext(ctx)
  14009. req.ApplyOptions(opts...)
  14010. return req, nil
  14011. },
  14012. }
  14013. for p.Next() {
  14014. if !fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) {
  14015. break
  14016. }
  14017. }
  14018. return p.Err()
  14019. }
  14020. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  14021. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  14022. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  14023. // value will be populated with the request's response once the request completes
  14024. // successfully.
  14025. //
  14026. // Use "Send" method on the returned Request to send the API call to the service.
  14027. // the "output" return value is not valid until after Send returns without error.
  14028. //
  14029. // See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
  14030. // API call, and error handling.
  14031. //
  14032. // This method is useful when you want to inject custom logic or configuration
  14033. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14034. //
  14035. //
  14036. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  14037. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  14038. //
  14039. // err := req.Send()
  14040. // if err == nil { // resp is now filled
  14041. // fmt.Println(resp)
  14042. // }
  14043. //
  14044. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  14045. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  14046. op := &request.Operation{
  14047. Name: opDescribeIamInstanceProfileAssociations,
  14048. HTTPMethod: "POST",
  14049. HTTPPath: "/",
  14050. Paginator: &request.Paginator{
  14051. InputTokens: []string{"NextToken"},
  14052. OutputTokens: []string{"NextToken"},
  14053. LimitToken: "MaxResults",
  14054. TruncationToken: "",
  14055. },
  14056. }
  14057. if input == nil {
  14058. input = &DescribeIamInstanceProfileAssociationsInput{}
  14059. }
  14060. output = &DescribeIamInstanceProfileAssociationsOutput{}
  14061. req = c.newRequest(op, input, output)
  14062. return
  14063. }
  14064. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  14065. //
  14066. // Describes your IAM instance profile associations.
  14067. //
  14068. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14069. // with awserr.Error's Code and Message methods to get detailed information about
  14070. // the error.
  14071. //
  14072. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14073. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  14074. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  14075. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  14076. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  14077. return out, req.Send()
  14078. }
  14079. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  14080. // the ability to pass a context and additional request options.
  14081. //
  14082. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  14083. //
  14084. // The context must be non-nil and will be used for request cancellation. If
  14085. // the context is nil a panic will occur. In the future the SDK may create
  14086. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14087. // for more information on using Contexts.
  14088. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  14089. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  14090. req.SetContext(ctx)
  14091. req.ApplyOptions(opts...)
  14092. return out, req.Send()
  14093. }
  14094. // DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
  14095. // calling the "fn" function with the response data for each page. To stop
  14096. // iterating, return false from the fn function.
  14097. //
  14098. // See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
  14099. //
  14100. // Note: This operation can generate multiple requests to a service.
  14101. //
  14102. // // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
  14103. // pageNum := 0
  14104. // err := client.DescribeIamInstanceProfileAssociationsPages(params,
  14105. // func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
  14106. // pageNum++
  14107. // fmt.Println(page)
  14108. // return pageNum <= 3
  14109. // })
  14110. //
  14111. func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
  14112. return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  14113. }
  14114. // DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
  14115. // it takes a Context and allows setting request options on the pages.
  14116. //
  14117. // The context must be non-nil and will be used for request cancellation. If
  14118. // the context is nil a panic will occur. In the future the SDK may create
  14119. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14120. // for more information on using Contexts.
  14121. func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
  14122. p := request.Pagination{
  14123. NewRequest: func() (*request.Request, error) {
  14124. var inCpy *DescribeIamInstanceProfileAssociationsInput
  14125. if input != nil {
  14126. tmp := *input
  14127. inCpy = &tmp
  14128. }
  14129. req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
  14130. req.SetContext(ctx)
  14131. req.ApplyOptions(opts...)
  14132. return req, nil
  14133. },
  14134. }
  14135. for p.Next() {
  14136. if !fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) {
  14137. break
  14138. }
  14139. }
  14140. return p.Err()
  14141. }
  14142. const opDescribeIdFormat = "DescribeIdFormat"
  14143. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  14144. // client's request for the DescribeIdFormat operation. The "output" return
  14145. // value will be populated with the request's response once the request completes
  14146. // successfully.
  14147. //
  14148. // Use "Send" method on the returned Request to send the API call to the service.
  14149. // the "output" return value is not valid until after Send returns without error.
  14150. //
  14151. // See DescribeIdFormat for more information on using the DescribeIdFormat
  14152. // API call, and error handling.
  14153. //
  14154. // This method is useful when you want to inject custom logic or configuration
  14155. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14156. //
  14157. //
  14158. // // Example sending a request using the DescribeIdFormatRequest method.
  14159. // req, resp := client.DescribeIdFormatRequest(params)
  14160. //
  14161. // err := req.Send()
  14162. // if err == nil { // resp is now filled
  14163. // fmt.Println(resp)
  14164. // }
  14165. //
  14166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  14167. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  14168. op := &request.Operation{
  14169. Name: opDescribeIdFormat,
  14170. HTTPMethod: "POST",
  14171. HTTPPath: "/",
  14172. }
  14173. if input == nil {
  14174. input = &DescribeIdFormatInput{}
  14175. }
  14176. output = &DescribeIdFormatOutput{}
  14177. req = c.newRequest(op, input, output)
  14178. return
  14179. }
  14180. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  14181. //
  14182. // Describes the ID format settings for your resources on a per-Region basis,
  14183. // for example, to view which resource types are enabled for longer IDs. This
  14184. // request only returns information about resource types whose ID formats can
  14185. // be modified; it does not return information about other resource types.
  14186. //
  14187. // The following resource types support longer IDs: bundle | conversion-task
  14188. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  14189. // | export-task | flow-log | image | import-task | instance | internet-gateway
  14190. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  14191. // | prefix-list | reservation | route-table | route-table-association | security-group
  14192. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  14193. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  14194. //
  14195. // These settings apply to the IAM user who makes the request; they do not apply
  14196. // to the entire AWS account. By default, an IAM user defaults to the same settings
  14197. // as the root user, unless they explicitly override the settings by running
  14198. // the ModifyIdFormat command. Resources created with longer IDs are visible
  14199. // to all IAM users, regardless of these settings and provided that they have
  14200. // permission to use the relevant Describe command for the resource type.
  14201. //
  14202. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14203. // with awserr.Error's Code and Message methods to get detailed information about
  14204. // the error.
  14205. //
  14206. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14207. // API operation DescribeIdFormat for usage and error information.
  14208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  14209. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  14210. req, out := c.DescribeIdFormatRequest(input)
  14211. return out, req.Send()
  14212. }
  14213. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  14214. // the ability to pass a context and additional request options.
  14215. //
  14216. // See DescribeIdFormat for details on how to use this API operation.
  14217. //
  14218. // The context must be non-nil and will be used for request cancellation. If
  14219. // the context is nil a panic will occur. In the future the SDK may create
  14220. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14221. // for more information on using Contexts.
  14222. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  14223. req, out := c.DescribeIdFormatRequest(input)
  14224. req.SetContext(ctx)
  14225. req.ApplyOptions(opts...)
  14226. return out, req.Send()
  14227. }
  14228. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  14229. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  14230. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  14231. // value will be populated with the request's response once the request completes
  14232. // successfully.
  14233. //
  14234. // Use "Send" method on the returned Request to send the API call to the service.
  14235. // the "output" return value is not valid until after Send returns without error.
  14236. //
  14237. // See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
  14238. // API call, and error handling.
  14239. //
  14240. // This method is useful when you want to inject custom logic or configuration
  14241. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14242. //
  14243. //
  14244. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  14245. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  14246. //
  14247. // err := req.Send()
  14248. // if err == nil { // resp is now filled
  14249. // fmt.Println(resp)
  14250. // }
  14251. //
  14252. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  14253. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  14254. op := &request.Operation{
  14255. Name: opDescribeIdentityIdFormat,
  14256. HTTPMethod: "POST",
  14257. HTTPPath: "/",
  14258. }
  14259. if input == nil {
  14260. input = &DescribeIdentityIdFormatInput{}
  14261. }
  14262. output = &DescribeIdentityIdFormatOutput{}
  14263. req = c.newRequest(op, input, output)
  14264. return
  14265. }
  14266. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  14267. //
  14268. // Describes the ID format settings for resources for the specified IAM user,
  14269. // IAM role, or root user. For example, you can view the resource types that
  14270. // are enabled for longer IDs. This request only returns information about resource
  14271. // types whose ID formats can be modified; it does not return information about
  14272. // other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14273. // in the Amazon Elastic Compute Cloud User Guide.
  14274. //
  14275. // The following resource types support longer IDs: bundle | conversion-task
  14276. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  14277. // | export-task | flow-log | image | import-task | instance | internet-gateway
  14278. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  14279. // | prefix-list | reservation | route-table | route-table-association | security-group
  14280. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  14281. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  14282. //
  14283. // These settings apply to the principal specified in the request. They do not
  14284. // apply to the principal that makes the request.
  14285. //
  14286. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14287. // with awserr.Error's Code and Message methods to get detailed information about
  14288. // the error.
  14289. //
  14290. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14291. // API operation DescribeIdentityIdFormat for usage and error information.
  14292. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  14293. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  14294. req, out := c.DescribeIdentityIdFormatRequest(input)
  14295. return out, req.Send()
  14296. }
  14297. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  14298. // the ability to pass a context and additional request options.
  14299. //
  14300. // See DescribeIdentityIdFormat for details on how to use this API operation.
  14301. //
  14302. // The context must be non-nil and will be used for request cancellation. If
  14303. // the context is nil a panic will occur. In the future the SDK may create
  14304. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14305. // for more information on using Contexts.
  14306. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  14307. req, out := c.DescribeIdentityIdFormatRequest(input)
  14308. req.SetContext(ctx)
  14309. req.ApplyOptions(opts...)
  14310. return out, req.Send()
  14311. }
  14312. const opDescribeImageAttribute = "DescribeImageAttribute"
  14313. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  14314. // client's request for the DescribeImageAttribute operation. The "output" return
  14315. // value will be populated with the request's response once the request completes
  14316. // successfully.
  14317. //
  14318. // Use "Send" method on the returned Request to send the API call to the service.
  14319. // the "output" return value is not valid until after Send returns without error.
  14320. //
  14321. // See DescribeImageAttribute for more information on using the DescribeImageAttribute
  14322. // API call, and error handling.
  14323. //
  14324. // This method is useful when you want to inject custom logic or configuration
  14325. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14326. //
  14327. //
  14328. // // Example sending a request using the DescribeImageAttributeRequest method.
  14329. // req, resp := client.DescribeImageAttributeRequest(params)
  14330. //
  14331. // err := req.Send()
  14332. // if err == nil { // resp is now filled
  14333. // fmt.Println(resp)
  14334. // }
  14335. //
  14336. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  14337. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  14338. op := &request.Operation{
  14339. Name: opDescribeImageAttribute,
  14340. HTTPMethod: "POST",
  14341. HTTPPath: "/",
  14342. }
  14343. if input == nil {
  14344. input = &DescribeImageAttributeInput{}
  14345. }
  14346. output = &DescribeImageAttributeOutput{}
  14347. req = c.newRequest(op, input, output)
  14348. return
  14349. }
  14350. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  14351. //
  14352. // Describes the specified attribute of the specified AMI. You can specify only
  14353. // one attribute at a time.
  14354. //
  14355. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14356. // with awserr.Error's Code and Message methods to get detailed information about
  14357. // the error.
  14358. //
  14359. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14360. // API operation DescribeImageAttribute for usage and error information.
  14361. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  14362. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  14363. req, out := c.DescribeImageAttributeRequest(input)
  14364. return out, req.Send()
  14365. }
  14366. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  14367. // the ability to pass a context and additional request options.
  14368. //
  14369. // See DescribeImageAttribute for details on how to use this API operation.
  14370. //
  14371. // The context must be non-nil and will be used for request cancellation. If
  14372. // the context is nil a panic will occur. In the future the SDK may create
  14373. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14374. // for more information on using Contexts.
  14375. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  14376. req, out := c.DescribeImageAttributeRequest(input)
  14377. req.SetContext(ctx)
  14378. req.ApplyOptions(opts...)
  14379. return out, req.Send()
  14380. }
  14381. const opDescribeImages = "DescribeImages"
  14382. // DescribeImagesRequest generates a "aws/request.Request" representing the
  14383. // client's request for the DescribeImages operation. The "output" return
  14384. // value will be populated with the request's response once the request completes
  14385. // successfully.
  14386. //
  14387. // Use "Send" method on the returned Request to send the API call to the service.
  14388. // the "output" return value is not valid until after Send returns without error.
  14389. //
  14390. // See DescribeImages for more information on using the DescribeImages
  14391. // API call, and error handling.
  14392. //
  14393. // This method is useful when you want to inject custom logic or configuration
  14394. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14395. //
  14396. //
  14397. // // Example sending a request using the DescribeImagesRequest method.
  14398. // req, resp := client.DescribeImagesRequest(params)
  14399. //
  14400. // err := req.Send()
  14401. // if err == nil { // resp is now filled
  14402. // fmt.Println(resp)
  14403. // }
  14404. //
  14405. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  14406. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  14407. op := &request.Operation{
  14408. Name: opDescribeImages,
  14409. HTTPMethod: "POST",
  14410. HTTPPath: "/",
  14411. }
  14412. if input == nil {
  14413. input = &DescribeImagesInput{}
  14414. }
  14415. output = &DescribeImagesOutput{}
  14416. req = c.newRequest(op, input, output)
  14417. return
  14418. }
  14419. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  14420. //
  14421. // Describes the specified images (AMIs, AKIs, and ARIs) available to you or
  14422. // all of the images available to you.
  14423. //
  14424. // The images available to you include public images, private images that you
  14425. // own, and private images owned by other AWS accounts for which you have explicit
  14426. // launch permissions.
  14427. //
  14428. // Recently deregistered images appear in the returned results for a short interval
  14429. // and then return empty results. After all instances that reference a deregistered
  14430. // AMI are terminated, specifying the ID of the image results in an error indicating
  14431. // that the AMI ID cannot be found.
  14432. //
  14433. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14434. // with awserr.Error's Code and Message methods to get detailed information about
  14435. // the error.
  14436. //
  14437. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14438. // API operation DescribeImages for usage and error information.
  14439. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  14440. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  14441. req, out := c.DescribeImagesRequest(input)
  14442. return out, req.Send()
  14443. }
  14444. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  14445. // the ability to pass a context and additional request options.
  14446. //
  14447. // See DescribeImages for details on how to use this API operation.
  14448. //
  14449. // The context must be non-nil and will be used for request cancellation. If
  14450. // the context is nil a panic will occur. In the future the SDK may create
  14451. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14452. // for more information on using Contexts.
  14453. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  14454. req, out := c.DescribeImagesRequest(input)
  14455. req.SetContext(ctx)
  14456. req.ApplyOptions(opts...)
  14457. return out, req.Send()
  14458. }
  14459. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  14460. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  14461. // client's request for the DescribeImportImageTasks operation. The "output" return
  14462. // value will be populated with the request's response once the request completes
  14463. // successfully.
  14464. //
  14465. // Use "Send" method on the returned Request to send the API call to the service.
  14466. // the "output" return value is not valid until after Send returns without error.
  14467. //
  14468. // See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
  14469. // API call, and error handling.
  14470. //
  14471. // This method is useful when you want to inject custom logic or configuration
  14472. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14473. //
  14474. //
  14475. // // Example sending a request using the DescribeImportImageTasksRequest method.
  14476. // req, resp := client.DescribeImportImageTasksRequest(params)
  14477. //
  14478. // err := req.Send()
  14479. // if err == nil { // resp is now filled
  14480. // fmt.Println(resp)
  14481. // }
  14482. //
  14483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  14484. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  14485. op := &request.Operation{
  14486. Name: opDescribeImportImageTasks,
  14487. HTTPMethod: "POST",
  14488. HTTPPath: "/",
  14489. Paginator: &request.Paginator{
  14490. InputTokens: []string{"NextToken"},
  14491. OutputTokens: []string{"NextToken"},
  14492. LimitToken: "MaxResults",
  14493. TruncationToken: "",
  14494. },
  14495. }
  14496. if input == nil {
  14497. input = &DescribeImportImageTasksInput{}
  14498. }
  14499. output = &DescribeImportImageTasksOutput{}
  14500. req = c.newRequest(op, input, output)
  14501. return
  14502. }
  14503. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  14504. //
  14505. // Displays details about an import virtual machine or import snapshot tasks
  14506. // that are already created.
  14507. //
  14508. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14509. // with awserr.Error's Code and Message methods to get detailed information about
  14510. // the error.
  14511. //
  14512. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14513. // API operation DescribeImportImageTasks for usage and error information.
  14514. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  14515. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  14516. req, out := c.DescribeImportImageTasksRequest(input)
  14517. return out, req.Send()
  14518. }
  14519. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  14520. // the ability to pass a context and additional request options.
  14521. //
  14522. // See DescribeImportImageTasks for details on how to use this API operation.
  14523. //
  14524. // The context must be non-nil and will be used for request cancellation. If
  14525. // the context is nil a panic will occur. In the future the SDK may create
  14526. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14527. // for more information on using Contexts.
  14528. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  14529. req, out := c.DescribeImportImageTasksRequest(input)
  14530. req.SetContext(ctx)
  14531. req.ApplyOptions(opts...)
  14532. return out, req.Send()
  14533. }
  14534. // DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
  14535. // calling the "fn" function with the response data for each page. To stop
  14536. // iterating, return false from the fn function.
  14537. //
  14538. // See DescribeImportImageTasks method for more information on how to use this operation.
  14539. //
  14540. // Note: This operation can generate multiple requests to a service.
  14541. //
  14542. // // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
  14543. // pageNum := 0
  14544. // err := client.DescribeImportImageTasksPages(params,
  14545. // func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
  14546. // pageNum++
  14547. // fmt.Println(page)
  14548. // return pageNum <= 3
  14549. // })
  14550. //
  14551. func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
  14552. return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  14553. }
  14554. // DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
  14555. // it takes a Context and allows setting request options on the pages.
  14556. //
  14557. // The context must be non-nil and will be used for request cancellation. If
  14558. // the context is nil a panic will occur. In the future the SDK may create
  14559. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14560. // for more information on using Contexts.
  14561. func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
  14562. p := request.Pagination{
  14563. NewRequest: func() (*request.Request, error) {
  14564. var inCpy *DescribeImportImageTasksInput
  14565. if input != nil {
  14566. tmp := *input
  14567. inCpy = &tmp
  14568. }
  14569. req, _ := c.DescribeImportImageTasksRequest(inCpy)
  14570. req.SetContext(ctx)
  14571. req.ApplyOptions(opts...)
  14572. return req, nil
  14573. },
  14574. }
  14575. for p.Next() {
  14576. if !fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) {
  14577. break
  14578. }
  14579. }
  14580. return p.Err()
  14581. }
  14582. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  14583. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  14584. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  14585. // value will be populated with the request's response once the request completes
  14586. // successfully.
  14587. //
  14588. // Use "Send" method on the returned Request to send the API call to the service.
  14589. // the "output" return value is not valid until after Send returns without error.
  14590. //
  14591. // See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
  14592. // API call, and error handling.
  14593. //
  14594. // This method is useful when you want to inject custom logic or configuration
  14595. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14596. //
  14597. //
  14598. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  14599. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  14600. //
  14601. // err := req.Send()
  14602. // if err == nil { // resp is now filled
  14603. // fmt.Println(resp)
  14604. // }
  14605. //
  14606. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  14607. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  14608. op := &request.Operation{
  14609. Name: opDescribeImportSnapshotTasks,
  14610. HTTPMethod: "POST",
  14611. HTTPPath: "/",
  14612. Paginator: &request.Paginator{
  14613. InputTokens: []string{"NextToken"},
  14614. OutputTokens: []string{"NextToken"},
  14615. LimitToken: "MaxResults",
  14616. TruncationToken: "",
  14617. },
  14618. }
  14619. if input == nil {
  14620. input = &DescribeImportSnapshotTasksInput{}
  14621. }
  14622. output = &DescribeImportSnapshotTasksOutput{}
  14623. req = c.newRequest(op, input, output)
  14624. return
  14625. }
  14626. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  14627. //
  14628. // Describes your import snapshot tasks.
  14629. //
  14630. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14631. // with awserr.Error's Code and Message methods to get detailed information about
  14632. // the error.
  14633. //
  14634. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14635. // API operation DescribeImportSnapshotTasks for usage and error information.
  14636. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  14637. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  14638. req, out := c.DescribeImportSnapshotTasksRequest(input)
  14639. return out, req.Send()
  14640. }
  14641. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  14642. // the ability to pass a context and additional request options.
  14643. //
  14644. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  14645. //
  14646. // The context must be non-nil and will be used for request cancellation. If
  14647. // the context is nil a panic will occur. In the future the SDK may create
  14648. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14649. // for more information on using Contexts.
  14650. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  14651. req, out := c.DescribeImportSnapshotTasksRequest(input)
  14652. req.SetContext(ctx)
  14653. req.ApplyOptions(opts...)
  14654. return out, req.Send()
  14655. }
  14656. // DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
  14657. // calling the "fn" function with the response data for each page. To stop
  14658. // iterating, return false from the fn function.
  14659. //
  14660. // See DescribeImportSnapshotTasks method for more information on how to use this operation.
  14661. //
  14662. // Note: This operation can generate multiple requests to a service.
  14663. //
  14664. // // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
  14665. // pageNum := 0
  14666. // err := client.DescribeImportSnapshotTasksPages(params,
  14667. // func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
  14668. // pageNum++
  14669. // fmt.Println(page)
  14670. // return pageNum <= 3
  14671. // })
  14672. //
  14673. func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
  14674. return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  14675. }
  14676. // DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
  14677. // it takes a Context and allows setting request options on the pages.
  14678. //
  14679. // The context must be non-nil and will be used for request cancellation. If
  14680. // the context is nil a panic will occur. In the future the SDK may create
  14681. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14682. // for more information on using Contexts.
  14683. func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
  14684. p := request.Pagination{
  14685. NewRequest: func() (*request.Request, error) {
  14686. var inCpy *DescribeImportSnapshotTasksInput
  14687. if input != nil {
  14688. tmp := *input
  14689. inCpy = &tmp
  14690. }
  14691. req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
  14692. req.SetContext(ctx)
  14693. req.ApplyOptions(opts...)
  14694. return req, nil
  14695. },
  14696. }
  14697. for p.Next() {
  14698. if !fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) {
  14699. break
  14700. }
  14701. }
  14702. return p.Err()
  14703. }
  14704. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  14705. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  14706. // client's request for the DescribeInstanceAttribute operation. The "output" return
  14707. // value will be populated with the request's response once the request completes
  14708. // successfully.
  14709. //
  14710. // Use "Send" method on the returned Request to send the API call to the service.
  14711. // the "output" return value is not valid until after Send returns without error.
  14712. //
  14713. // See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
  14714. // API call, and error handling.
  14715. //
  14716. // This method is useful when you want to inject custom logic or configuration
  14717. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14718. //
  14719. //
  14720. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  14721. // req, resp := client.DescribeInstanceAttributeRequest(params)
  14722. //
  14723. // err := req.Send()
  14724. // if err == nil { // resp is now filled
  14725. // fmt.Println(resp)
  14726. // }
  14727. //
  14728. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  14729. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  14730. op := &request.Operation{
  14731. Name: opDescribeInstanceAttribute,
  14732. HTTPMethod: "POST",
  14733. HTTPPath: "/",
  14734. }
  14735. if input == nil {
  14736. input = &DescribeInstanceAttributeInput{}
  14737. }
  14738. output = &DescribeInstanceAttributeOutput{}
  14739. req = c.newRequest(op, input, output)
  14740. return
  14741. }
  14742. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  14743. //
  14744. // Describes the specified attribute of the specified instance. You can specify
  14745. // only one attribute at a time. Valid attribute values are: instanceType |
  14746. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  14747. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  14748. // groupSet | ebsOptimized | sriovNetSupport
  14749. //
  14750. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14751. // with awserr.Error's Code and Message methods to get detailed information about
  14752. // the error.
  14753. //
  14754. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14755. // API operation DescribeInstanceAttribute for usage and error information.
  14756. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  14757. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  14758. req, out := c.DescribeInstanceAttributeRequest(input)
  14759. return out, req.Send()
  14760. }
  14761. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  14762. // the ability to pass a context and additional request options.
  14763. //
  14764. // See DescribeInstanceAttribute for details on how to use this API operation.
  14765. //
  14766. // The context must be non-nil and will be used for request cancellation. If
  14767. // the context is nil a panic will occur. In the future the SDK may create
  14768. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14769. // for more information on using Contexts.
  14770. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  14771. req, out := c.DescribeInstanceAttributeRequest(input)
  14772. req.SetContext(ctx)
  14773. req.ApplyOptions(opts...)
  14774. return out, req.Send()
  14775. }
  14776. const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
  14777. // DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
  14778. // client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
  14779. // value will be populated with the request's response once the request completes
  14780. // successfully.
  14781. //
  14782. // Use "Send" method on the returned Request to send the API call to the service.
  14783. // the "output" return value is not valid until after Send returns without error.
  14784. //
  14785. // See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
  14786. // API call, and error handling.
  14787. //
  14788. // This method is useful when you want to inject custom logic or configuration
  14789. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14790. //
  14791. //
  14792. // // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
  14793. // req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
  14794. //
  14795. // err := req.Send()
  14796. // if err == nil { // resp is now filled
  14797. // fmt.Println(resp)
  14798. // }
  14799. //
  14800. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  14801. func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
  14802. op := &request.Operation{
  14803. Name: opDescribeInstanceCreditSpecifications,
  14804. HTTPMethod: "POST",
  14805. HTTPPath: "/",
  14806. Paginator: &request.Paginator{
  14807. InputTokens: []string{"NextToken"},
  14808. OutputTokens: []string{"NextToken"},
  14809. LimitToken: "MaxResults",
  14810. TruncationToken: "",
  14811. },
  14812. }
  14813. if input == nil {
  14814. input = &DescribeInstanceCreditSpecificationsInput{}
  14815. }
  14816. output = &DescribeInstanceCreditSpecificationsOutput{}
  14817. req = c.newRequest(op, input, output)
  14818. return
  14819. }
  14820. // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
  14821. //
  14822. // Describes the credit option for CPU usage of the specified burstable performance
  14823. // instances. The credit options are standard and unlimited.
  14824. //
  14825. // If you do not specify an instance ID, Amazon EC2 returns burstable performance
  14826. // instances with the unlimited credit option, as well as instances that were
  14827. // previously configured as T2, T3, and T3a with the unlimited credit option.
  14828. // For example, if you resize a T2 instance, while it is configured as unlimited,
  14829. // to an M4 instance, Amazon EC2 returns the M4 instance.
  14830. //
  14831. // If you specify one or more instance IDs, Amazon EC2 returns the credit option
  14832. // (standard or unlimited) of those instances. If you specify an instance ID
  14833. // that is not valid, such as an instance that is not a burstable performance
  14834. // instance, an error is returned.
  14835. //
  14836. // Recently terminated instances might appear in the returned results. This
  14837. // interval is usually less than one hour.
  14838. //
  14839. // If an Availability Zone is experiencing a service disruption and you specify
  14840. // instance IDs in the affected zone, or do not specify any instance IDs at
  14841. // all, the call fails. If you specify only instance IDs in an unaffected zone,
  14842. // the call works normally.
  14843. //
  14844. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  14845. // in the Amazon Elastic Compute Cloud User Guide.
  14846. //
  14847. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14848. // with awserr.Error's Code and Message methods to get detailed information about
  14849. // the error.
  14850. //
  14851. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14852. // API operation DescribeInstanceCreditSpecifications for usage and error information.
  14853. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  14854. func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
  14855. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  14856. return out, req.Send()
  14857. }
  14858. // DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
  14859. // the ability to pass a context and additional request options.
  14860. //
  14861. // See DescribeInstanceCreditSpecifications for details on how to use this API operation.
  14862. //
  14863. // The context must be non-nil and will be used for request cancellation. If
  14864. // the context is nil a panic will occur. In the future the SDK may create
  14865. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14866. // for more information on using Contexts.
  14867. func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
  14868. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  14869. req.SetContext(ctx)
  14870. req.ApplyOptions(opts...)
  14871. return out, req.Send()
  14872. }
  14873. // DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
  14874. // calling the "fn" function with the response data for each page. To stop
  14875. // iterating, return false from the fn function.
  14876. //
  14877. // See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
  14878. //
  14879. // Note: This operation can generate multiple requests to a service.
  14880. //
  14881. // // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
  14882. // pageNum := 0
  14883. // err := client.DescribeInstanceCreditSpecificationsPages(params,
  14884. // func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
  14885. // pageNum++
  14886. // fmt.Println(page)
  14887. // return pageNum <= 3
  14888. // })
  14889. //
  14890. func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
  14891. return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  14892. }
  14893. // DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
  14894. // it takes a Context and allows setting request options on the pages.
  14895. //
  14896. // The context must be non-nil and will be used for request cancellation. If
  14897. // the context is nil a panic will occur. In the future the SDK may create
  14898. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14899. // for more information on using Contexts.
  14900. func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
  14901. p := request.Pagination{
  14902. NewRequest: func() (*request.Request, error) {
  14903. var inCpy *DescribeInstanceCreditSpecificationsInput
  14904. if input != nil {
  14905. tmp := *input
  14906. inCpy = &tmp
  14907. }
  14908. req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
  14909. req.SetContext(ctx)
  14910. req.ApplyOptions(opts...)
  14911. return req, nil
  14912. },
  14913. }
  14914. for p.Next() {
  14915. if !fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) {
  14916. break
  14917. }
  14918. }
  14919. return p.Err()
  14920. }
  14921. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  14922. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  14923. // client's request for the DescribeInstanceStatus operation. The "output" return
  14924. // value will be populated with the request's response once the request completes
  14925. // successfully.
  14926. //
  14927. // Use "Send" method on the returned Request to send the API call to the service.
  14928. // the "output" return value is not valid until after Send returns without error.
  14929. //
  14930. // See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
  14931. // API call, and error handling.
  14932. //
  14933. // This method is useful when you want to inject custom logic or configuration
  14934. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14935. //
  14936. //
  14937. // // Example sending a request using the DescribeInstanceStatusRequest method.
  14938. // req, resp := client.DescribeInstanceStatusRequest(params)
  14939. //
  14940. // err := req.Send()
  14941. // if err == nil { // resp is now filled
  14942. // fmt.Println(resp)
  14943. // }
  14944. //
  14945. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  14946. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  14947. op := &request.Operation{
  14948. Name: opDescribeInstanceStatus,
  14949. HTTPMethod: "POST",
  14950. HTTPPath: "/",
  14951. Paginator: &request.Paginator{
  14952. InputTokens: []string{"NextToken"},
  14953. OutputTokens: []string{"NextToken"},
  14954. LimitToken: "MaxResults",
  14955. TruncationToken: "",
  14956. },
  14957. }
  14958. if input == nil {
  14959. input = &DescribeInstanceStatusInput{}
  14960. }
  14961. output = &DescribeInstanceStatusOutput{}
  14962. req = c.newRequest(op, input, output)
  14963. return
  14964. }
  14965. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  14966. //
  14967. // Describes the status of the specified instances or all of your instances.
  14968. // By default, only running instances are described, unless you specifically
  14969. // indicate to return the status of all instances.
  14970. //
  14971. // Instance status includes the following components:
  14972. //
  14973. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  14974. // to identify hardware and software issues. For more information, see Status
  14975. // Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  14976. // and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  14977. // in the Amazon Elastic Compute Cloud User Guide.
  14978. //
  14979. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  14980. // or terminate) for your instances related to hardware issues, software
  14981. // updates, or system maintenance. For more information, see Scheduled Events
  14982. // for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  14983. // in the Amazon Elastic Compute Cloud User Guide.
  14984. //
  14985. // * Instance state - You can manage your instances from the moment you launch
  14986. // them through their termination. For more information, see Instance Lifecycle
  14987. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  14988. // in the Amazon Elastic Compute Cloud User Guide.
  14989. //
  14990. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14991. // with awserr.Error's Code and Message methods to get detailed information about
  14992. // the error.
  14993. //
  14994. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14995. // API operation DescribeInstanceStatus for usage and error information.
  14996. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  14997. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  14998. req, out := c.DescribeInstanceStatusRequest(input)
  14999. return out, req.Send()
  15000. }
  15001. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  15002. // the ability to pass a context and additional request options.
  15003. //
  15004. // See DescribeInstanceStatus for details on how to use this API operation.
  15005. //
  15006. // The context must be non-nil and will be used for request cancellation. If
  15007. // the context is nil a panic will occur. In the future the SDK may create
  15008. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15009. // for more information on using Contexts.
  15010. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  15011. req, out := c.DescribeInstanceStatusRequest(input)
  15012. req.SetContext(ctx)
  15013. req.ApplyOptions(opts...)
  15014. return out, req.Send()
  15015. }
  15016. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  15017. // calling the "fn" function with the response data for each page. To stop
  15018. // iterating, return false from the fn function.
  15019. //
  15020. // See DescribeInstanceStatus method for more information on how to use this operation.
  15021. //
  15022. // Note: This operation can generate multiple requests to a service.
  15023. //
  15024. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  15025. // pageNum := 0
  15026. // err := client.DescribeInstanceStatusPages(params,
  15027. // func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
  15028. // pageNum++
  15029. // fmt.Println(page)
  15030. // return pageNum <= 3
  15031. // })
  15032. //
  15033. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  15034. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  15035. }
  15036. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  15037. // it takes a Context and allows setting request options on the pages.
  15038. //
  15039. // The context must be non-nil and will be used for request cancellation. If
  15040. // the context is nil a panic will occur. In the future the SDK may create
  15041. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15042. // for more information on using Contexts.
  15043. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  15044. p := request.Pagination{
  15045. NewRequest: func() (*request.Request, error) {
  15046. var inCpy *DescribeInstanceStatusInput
  15047. if input != nil {
  15048. tmp := *input
  15049. inCpy = &tmp
  15050. }
  15051. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  15052. req.SetContext(ctx)
  15053. req.ApplyOptions(opts...)
  15054. return req, nil
  15055. },
  15056. }
  15057. for p.Next() {
  15058. if !fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage()) {
  15059. break
  15060. }
  15061. }
  15062. return p.Err()
  15063. }
  15064. const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings"
  15065. // DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the
  15066. // client's request for the DescribeInstanceTypeOfferings operation. The "output" return
  15067. // value will be populated with the request's response once the request completes
  15068. // successfully.
  15069. //
  15070. // Use "Send" method on the returned Request to send the API call to the service.
  15071. // the "output" return value is not valid until after Send returns without error.
  15072. //
  15073. // See DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings
  15074. // API call, and error handling.
  15075. //
  15076. // This method is useful when you want to inject custom logic or configuration
  15077. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15078. //
  15079. //
  15080. // // Example sending a request using the DescribeInstanceTypeOfferingsRequest method.
  15081. // req, resp := client.DescribeInstanceTypeOfferingsRequest(params)
  15082. //
  15083. // err := req.Send()
  15084. // if err == nil { // resp is now filled
  15085. // fmt.Println(resp)
  15086. // }
  15087. //
  15088. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
  15089. func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) {
  15090. op := &request.Operation{
  15091. Name: opDescribeInstanceTypeOfferings,
  15092. HTTPMethod: "POST",
  15093. HTTPPath: "/",
  15094. }
  15095. if input == nil {
  15096. input = &DescribeInstanceTypeOfferingsInput{}
  15097. }
  15098. output = &DescribeInstanceTypeOfferingsOutput{}
  15099. req = c.newRequest(op, input, output)
  15100. return
  15101. }
  15102. // DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud.
  15103. //
  15104. // Returns a list of all instance types offered. The results can be filtered
  15105. // by location (Region or Availability Zone). If no location is specified, the
  15106. // instance types offered in the current Region are returned.
  15107. //
  15108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15109. // with awserr.Error's Code and Message methods to get detailed information about
  15110. // the error.
  15111. //
  15112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15113. // API operation DescribeInstanceTypeOfferings for usage and error information.
  15114. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
  15115. func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) {
  15116. req, out := c.DescribeInstanceTypeOfferingsRequest(input)
  15117. return out, req.Send()
  15118. }
  15119. // DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of
  15120. // the ability to pass a context and additional request options.
  15121. //
  15122. // See DescribeInstanceTypeOfferings for details on how to use this API operation.
  15123. //
  15124. // The context must be non-nil and will be used for request cancellation. If
  15125. // the context is nil a panic will occur. In the future the SDK may create
  15126. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15127. // for more information on using Contexts.
  15128. func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) {
  15129. req, out := c.DescribeInstanceTypeOfferingsRequest(input)
  15130. req.SetContext(ctx)
  15131. req.ApplyOptions(opts...)
  15132. return out, req.Send()
  15133. }
  15134. const opDescribeInstanceTypes = "DescribeInstanceTypes"
  15135. // DescribeInstanceTypesRequest generates a "aws/request.Request" representing the
  15136. // client's request for the DescribeInstanceTypes operation. The "output" return
  15137. // value will be populated with the request's response once the request completes
  15138. // successfully.
  15139. //
  15140. // Use "Send" method on the returned Request to send the API call to the service.
  15141. // the "output" return value is not valid until after Send returns without error.
  15142. //
  15143. // See DescribeInstanceTypes for more information on using the DescribeInstanceTypes
  15144. // API call, and error handling.
  15145. //
  15146. // This method is useful when you want to inject custom logic or configuration
  15147. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15148. //
  15149. //
  15150. // // Example sending a request using the DescribeInstanceTypesRequest method.
  15151. // req, resp := client.DescribeInstanceTypesRequest(params)
  15152. //
  15153. // err := req.Send()
  15154. // if err == nil { // resp is now filled
  15155. // fmt.Println(resp)
  15156. // }
  15157. //
  15158. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
  15159. func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) {
  15160. op := &request.Operation{
  15161. Name: opDescribeInstanceTypes,
  15162. HTTPMethod: "POST",
  15163. HTTPPath: "/",
  15164. }
  15165. if input == nil {
  15166. input = &DescribeInstanceTypesInput{}
  15167. }
  15168. output = &DescribeInstanceTypesOutput{}
  15169. req = c.newRequest(op, input, output)
  15170. return
  15171. }
  15172. // DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud.
  15173. //
  15174. // Returns a list of all instance types offered in your current AWS Region.
  15175. // The results can be filtered by the attributes of the instance types.
  15176. //
  15177. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15178. // with awserr.Error's Code and Message methods to get detailed information about
  15179. // the error.
  15180. //
  15181. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15182. // API operation DescribeInstanceTypes for usage and error information.
  15183. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
  15184. func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) {
  15185. req, out := c.DescribeInstanceTypesRequest(input)
  15186. return out, req.Send()
  15187. }
  15188. // DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of
  15189. // the ability to pass a context and additional request options.
  15190. //
  15191. // See DescribeInstanceTypes for details on how to use this API operation.
  15192. //
  15193. // The context must be non-nil and will be used for request cancellation. If
  15194. // the context is nil a panic will occur. In the future the SDK may create
  15195. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15196. // for more information on using Contexts.
  15197. func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) {
  15198. req, out := c.DescribeInstanceTypesRequest(input)
  15199. req.SetContext(ctx)
  15200. req.ApplyOptions(opts...)
  15201. return out, req.Send()
  15202. }
  15203. const opDescribeInstances = "DescribeInstances"
  15204. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  15205. // client's request for the DescribeInstances operation. The "output" return
  15206. // value will be populated with the request's response once the request completes
  15207. // successfully.
  15208. //
  15209. // Use "Send" method on the returned Request to send the API call to the service.
  15210. // the "output" return value is not valid until after Send returns without error.
  15211. //
  15212. // See DescribeInstances for more information on using the DescribeInstances
  15213. // API call, and error handling.
  15214. //
  15215. // This method is useful when you want to inject custom logic or configuration
  15216. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15217. //
  15218. //
  15219. // // Example sending a request using the DescribeInstancesRequest method.
  15220. // req, resp := client.DescribeInstancesRequest(params)
  15221. //
  15222. // err := req.Send()
  15223. // if err == nil { // resp is now filled
  15224. // fmt.Println(resp)
  15225. // }
  15226. //
  15227. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  15228. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  15229. op := &request.Operation{
  15230. Name: opDescribeInstances,
  15231. HTTPMethod: "POST",
  15232. HTTPPath: "/",
  15233. Paginator: &request.Paginator{
  15234. InputTokens: []string{"NextToken"},
  15235. OutputTokens: []string{"NextToken"},
  15236. LimitToken: "MaxResults",
  15237. TruncationToken: "",
  15238. },
  15239. }
  15240. if input == nil {
  15241. input = &DescribeInstancesInput{}
  15242. }
  15243. output = &DescribeInstancesOutput{}
  15244. req = c.newRequest(op, input, output)
  15245. return
  15246. }
  15247. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  15248. //
  15249. // Describes the specified instances or all of AWS account's instances.
  15250. //
  15251. // If you specify one or more instance IDs, Amazon EC2 returns information for
  15252. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  15253. // for all relevant instances. If you specify an instance ID that is not valid,
  15254. // an error is returned. If you specify an instance that you do not own, it
  15255. // is not included in the returned results.
  15256. //
  15257. // Recently terminated instances might appear in the returned results. This
  15258. // interval is usually less than one hour.
  15259. //
  15260. // If you describe instances in the rare case where an Availability Zone is
  15261. // experiencing a service disruption and you specify instance IDs that are in
  15262. // the affected zone, or do not specify any instance IDs at all, the call fails.
  15263. // If you describe instances and specify only instance IDs that are in an unaffected
  15264. // zone, the call works normally.
  15265. //
  15266. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15267. // with awserr.Error's Code and Message methods to get detailed information about
  15268. // the error.
  15269. //
  15270. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15271. // API operation DescribeInstances for usage and error information.
  15272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  15273. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  15274. req, out := c.DescribeInstancesRequest(input)
  15275. return out, req.Send()
  15276. }
  15277. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  15278. // the ability to pass a context and additional request options.
  15279. //
  15280. // See DescribeInstances for details on how to use this API operation.
  15281. //
  15282. // The context must be non-nil and will be used for request cancellation. If
  15283. // the context is nil a panic will occur. In the future the SDK may create
  15284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15285. // for more information on using Contexts.
  15286. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  15287. req, out := c.DescribeInstancesRequest(input)
  15288. req.SetContext(ctx)
  15289. req.ApplyOptions(opts...)
  15290. return out, req.Send()
  15291. }
  15292. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  15293. // calling the "fn" function with the response data for each page. To stop
  15294. // iterating, return false from the fn function.
  15295. //
  15296. // See DescribeInstances method for more information on how to use this operation.
  15297. //
  15298. // Note: This operation can generate multiple requests to a service.
  15299. //
  15300. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  15301. // pageNum := 0
  15302. // err := client.DescribeInstancesPages(params,
  15303. // func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
  15304. // pageNum++
  15305. // fmt.Println(page)
  15306. // return pageNum <= 3
  15307. // })
  15308. //
  15309. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  15310. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  15311. }
  15312. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  15313. // it takes a Context and allows setting request options on the pages.
  15314. //
  15315. // The context must be non-nil and will be used for request cancellation. If
  15316. // the context is nil a panic will occur. In the future the SDK may create
  15317. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15318. // for more information on using Contexts.
  15319. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  15320. p := request.Pagination{
  15321. NewRequest: func() (*request.Request, error) {
  15322. var inCpy *DescribeInstancesInput
  15323. if input != nil {
  15324. tmp := *input
  15325. inCpy = &tmp
  15326. }
  15327. req, _ := c.DescribeInstancesRequest(inCpy)
  15328. req.SetContext(ctx)
  15329. req.ApplyOptions(opts...)
  15330. return req, nil
  15331. },
  15332. }
  15333. for p.Next() {
  15334. if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
  15335. break
  15336. }
  15337. }
  15338. return p.Err()
  15339. }
  15340. const opDescribeInternetGateways = "DescribeInternetGateways"
  15341. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  15342. // client's request for the DescribeInternetGateways operation. The "output" return
  15343. // value will be populated with the request's response once the request completes
  15344. // successfully.
  15345. //
  15346. // Use "Send" method on the returned Request to send the API call to the service.
  15347. // the "output" return value is not valid until after Send returns without error.
  15348. //
  15349. // See DescribeInternetGateways for more information on using the DescribeInternetGateways
  15350. // API call, and error handling.
  15351. //
  15352. // This method is useful when you want to inject custom logic or configuration
  15353. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15354. //
  15355. //
  15356. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  15357. // req, resp := client.DescribeInternetGatewaysRequest(params)
  15358. //
  15359. // err := req.Send()
  15360. // if err == nil { // resp is now filled
  15361. // fmt.Println(resp)
  15362. // }
  15363. //
  15364. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  15365. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  15366. op := &request.Operation{
  15367. Name: opDescribeInternetGateways,
  15368. HTTPMethod: "POST",
  15369. HTTPPath: "/",
  15370. Paginator: &request.Paginator{
  15371. InputTokens: []string{"NextToken"},
  15372. OutputTokens: []string{"NextToken"},
  15373. LimitToken: "MaxResults",
  15374. TruncationToken: "",
  15375. },
  15376. }
  15377. if input == nil {
  15378. input = &DescribeInternetGatewaysInput{}
  15379. }
  15380. output = &DescribeInternetGatewaysOutput{}
  15381. req = c.newRequest(op, input, output)
  15382. return
  15383. }
  15384. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  15385. //
  15386. // Describes one or more of your internet gateways.
  15387. //
  15388. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15389. // with awserr.Error's Code and Message methods to get detailed information about
  15390. // the error.
  15391. //
  15392. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15393. // API operation DescribeInternetGateways for usage and error information.
  15394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  15395. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  15396. req, out := c.DescribeInternetGatewaysRequest(input)
  15397. return out, req.Send()
  15398. }
  15399. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  15400. // the ability to pass a context and additional request options.
  15401. //
  15402. // See DescribeInternetGateways for details on how to use this API operation.
  15403. //
  15404. // The context must be non-nil and will be used for request cancellation. If
  15405. // the context is nil a panic will occur. In the future the SDK may create
  15406. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15407. // for more information on using Contexts.
  15408. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  15409. req, out := c.DescribeInternetGatewaysRequest(input)
  15410. req.SetContext(ctx)
  15411. req.ApplyOptions(opts...)
  15412. return out, req.Send()
  15413. }
  15414. // DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
  15415. // calling the "fn" function with the response data for each page. To stop
  15416. // iterating, return false from the fn function.
  15417. //
  15418. // See DescribeInternetGateways method for more information on how to use this operation.
  15419. //
  15420. // Note: This operation can generate multiple requests to a service.
  15421. //
  15422. // // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
  15423. // pageNum := 0
  15424. // err := client.DescribeInternetGatewaysPages(params,
  15425. // func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
  15426. // pageNum++
  15427. // fmt.Println(page)
  15428. // return pageNum <= 3
  15429. // })
  15430. //
  15431. func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
  15432. return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  15433. }
  15434. // DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
  15435. // it takes a Context and allows setting request options on the pages.
  15436. //
  15437. // The context must be non-nil and will be used for request cancellation. If
  15438. // the context is nil a panic will occur. In the future the SDK may create
  15439. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15440. // for more information on using Contexts.
  15441. func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
  15442. p := request.Pagination{
  15443. NewRequest: func() (*request.Request, error) {
  15444. var inCpy *DescribeInternetGatewaysInput
  15445. if input != nil {
  15446. tmp := *input
  15447. inCpy = &tmp
  15448. }
  15449. req, _ := c.DescribeInternetGatewaysRequest(inCpy)
  15450. req.SetContext(ctx)
  15451. req.ApplyOptions(opts...)
  15452. return req, nil
  15453. },
  15454. }
  15455. for p.Next() {
  15456. if !fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) {
  15457. break
  15458. }
  15459. }
  15460. return p.Err()
  15461. }
  15462. const opDescribeKeyPairs = "DescribeKeyPairs"
  15463. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  15464. // client's request for the DescribeKeyPairs operation. The "output" return
  15465. // value will be populated with the request's response once the request completes
  15466. // successfully.
  15467. //
  15468. // Use "Send" method on the returned Request to send the API call to the service.
  15469. // the "output" return value is not valid until after Send returns without error.
  15470. //
  15471. // See DescribeKeyPairs for more information on using the DescribeKeyPairs
  15472. // API call, and error handling.
  15473. //
  15474. // This method is useful when you want to inject custom logic or configuration
  15475. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15476. //
  15477. //
  15478. // // Example sending a request using the DescribeKeyPairsRequest method.
  15479. // req, resp := client.DescribeKeyPairsRequest(params)
  15480. //
  15481. // err := req.Send()
  15482. // if err == nil { // resp is now filled
  15483. // fmt.Println(resp)
  15484. // }
  15485. //
  15486. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  15487. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  15488. op := &request.Operation{
  15489. Name: opDescribeKeyPairs,
  15490. HTTPMethod: "POST",
  15491. HTTPPath: "/",
  15492. }
  15493. if input == nil {
  15494. input = &DescribeKeyPairsInput{}
  15495. }
  15496. output = &DescribeKeyPairsOutput{}
  15497. req = c.newRequest(op, input, output)
  15498. return
  15499. }
  15500. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  15501. //
  15502. // Describes the specified key pairs or all of your key pairs.
  15503. //
  15504. // For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  15505. // in the Amazon Elastic Compute Cloud User Guide.
  15506. //
  15507. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15508. // with awserr.Error's Code and Message methods to get detailed information about
  15509. // the error.
  15510. //
  15511. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15512. // API operation DescribeKeyPairs for usage and error information.
  15513. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  15514. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  15515. req, out := c.DescribeKeyPairsRequest(input)
  15516. return out, req.Send()
  15517. }
  15518. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  15519. // the ability to pass a context and additional request options.
  15520. //
  15521. // See DescribeKeyPairs for details on how to use this API operation.
  15522. //
  15523. // The context must be non-nil and will be used for request cancellation. If
  15524. // the context is nil a panic will occur. In the future the SDK may create
  15525. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15526. // for more information on using Contexts.
  15527. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  15528. req, out := c.DescribeKeyPairsRequest(input)
  15529. req.SetContext(ctx)
  15530. req.ApplyOptions(opts...)
  15531. return out, req.Send()
  15532. }
  15533. const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
  15534. // DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  15535. // client's request for the DescribeLaunchTemplateVersions operation. The "output" return
  15536. // value will be populated with the request's response once the request completes
  15537. // successfully.
  15538. //
  15539. // Use "Send" method on the returned Request to send the API call to the service.
  15540. // the "output" return value is not valid until after Send returns without error.
  15541. //
  15542. // See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
  15543. // API call, and error handling.
  15544. //
  15545. // This method is useful when you want to inject custom logic or configuration
  15546. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15547. //
  15548. //
  15549. // // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
  15550. // req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
  15551. //
  15552. // err := req.Send()
  15553. // if err == nil { // resp is now filled
  15554. // fmt.Println(resp)
  15555. // }
  15556. //
  15557. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  15558. func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
  15559. op := &request.Operation{
  15560. Name: opDescribeLaunchTemplateVersions,
  15561. HTTPMethod: "POST",
  15562. HTTPPath: "/",
  15563. Paginator: &request.Paginator{
  15564. InputTokens: []string{"NextToken"},
  15565. OutputTokens: []string{"NextToken"},
  15566. LimitToken: "MaxResults",
  15567. TruncationToken: "",
  15568. },
  15569. }
  15570. if input == nil {
  15571. input = &DescribeLaunchTemplateVersionsInput{}
  15572. }
  15573. output = &DescribeLaunchTemplateVersionsOutput{}
  15574. req = c.newRequest(op, input, output)
  15575. return
  15576. }
  15577. // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  15578. //
  15579. // Describes one or more versions of a specified launch template. You can describe
  15580. // all versions, individual versions, or a range of versions.
  15581. //
  15582. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15583. // with awserr.Error's Code and Message methods to get detailed information about
  15584. // the error.
  15585. //
  15586. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15587. // API operation DescribeLaunchTemplateVersions for usage and error information.
  15588. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  15589. func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
  15590. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  15591. return out, req.Send()
  15592. }
  15593. // DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
  15594. // the ability to pass a context and additional request options.
  15595. //
  15596. // See DescribeLaunchTemplateVersions for details on how to use this API operation.
  15597. //
  15598. // The context must be non-nil and will be used for request cancellation. If
  15599. // the context is nil a panic will occur. In the future the SDK may create
  15600. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15601. // for more information on using Contexts.
  15602. func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
  15603. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  15604. req.SetContext(ctx)
  15605. req.ApplyOptions(opts...)
  15606. return out, req.Send()
  15607. }
  15608. // DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
  15609. // calling the "fn" function with the response data for each page. To stop
  15610. // iterating, return false from the fn function.
  15611. //
  15612. // See DescribeLaunchTemplateVersions method for more information on how to use this operation.
  15613. //
  15614. // Note: This operation can generate multiple requests to a service.
  15615. //
  15616. // // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
  15617. // pageNum := 0
  15618. // err := client.DescribeLaunchTemplateVersionsPages(params,
  15619. // func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
  15620. // pageNum++
  15621. // fmt.Println(page)
  15622. // return pageNum <= 3
  15623. // })
  15624. //
  15625. func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
  15626. return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  15627. }
  15628. // DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
  15629. // it takes a Context and allows setting request options on the pages.
  15630. //
  15631. // The context must be non-nil and will be used for request cancellation. If
  15632. // the context is nil a panic will occur. In the future the SDK may create
  15633. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15634. // for more information on using Contexts.
  15635. func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
  15636. p := request.Pagination{
  15637. NewRequest: func() (*request.Request, error) {
  15638. var inCpy *DescribeLaunchTemplateVersionsInput
  15639. if input != nil {
  15640. tmp := *input
  15641. inCpy = &tmp
  15642. }
  15643. req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
  15644. req.SetContext(ctx)
  15645. req.ApplyOptions(opts...)
  15646. return req, nil
  15647. },
  15648. }
  15649. for p.Next() {
  15650. if !fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) {
  15651. break
  15652. }
  15653. }
  15654. return p.Err()
  15655. }
  15656. const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
  15657. // DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
  15658. // client's request for the DescribeLaunchTemplates operation. The "output" return
  15659. // value will be populated with the request's response once the request completes
  15660. // successfully.
  15661. //
  15662. // Use "Send" method on the returned Request to send the API call to the service.
  15663. // the "output" return value is not valid until after Send returns without error.
  15664. //
  15665. // See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
  15666. // API call, and error handling.
  15667. //
  15668. // This method is useful when you want to inject custom logic or configuration
  15669. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15670. //
  15671. //
  15672. // // Example sending a request using the DescribeLaunchTemplatesRequest method.
  15673. // req, resp := client.DescribeLaunchTemplatesRequest(params)
  15674. //
  15675. // err := req.Send()
  15676. // if err == nil { // resp is now filled
  15677. // fmt.Println(resp)
  15678. // }
  15679. //
  15680. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  15681. func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
  15682. op := &request.Operation{
  15683. Name: opDescribeLaunchTemplates,
  15684. HTTPMethod: "POST",
  15685. HTTPPath: "/",
  15686. Paginator: &request.Paginator{
  15687. InputTokens: []string{"NextToken"},
  15688. OutputTokens: []string{"NextToken"},
  15689. LimitToken: "MaxResults",
  15690. TruncationToken: "",
  15691. },
  15692. }
  15693. if input == nil {
  15694. input = &DescribeLaunchTemplatesInput{}
  15695. }
  15696. output = &DescribeLaunchTemplatesOutput{}
  15697. req = c.newRequest(op, input, output)
  15698. return
  15699. }
  15700. // DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
  15701. //
  15702. // Describes one or more launch templates.
  15703. //
  15704. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15705. // with awserr.Error's Code and Message methods to get detailed information about
  15706. // the error.
  15707. //
  15708. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15709. // API operation DescribeLaunchTemplates for usage and error information.
  15710. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  15711. func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
  15712. req, out := c.DescribeLaunchTemplatesRequest(input)
  15713. return out, req.Send()
  15714. }
  15715. // DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
  15716. // the ability to pass a context and additional request options.
  15717. //
  15718. // See DescribeLaunchTemplates for details on how to use this API operation.
  15719. //
  15720. // The context must be non-nil and will be used for request cancellation. If
  15721. // the context is nil a panic will occur. In the future the SDK may create
  15722. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15723. // for more information on using Contexts.
  15724. func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
  15725. req, out := c.DescribeLaunchTemplatesRequest(input)
  15726. req.SetContext(ctx)
  15727. req.ApplyOptions(opts...)
  15728. return out, req.Send()
  15729. }
  15730. // DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
  15731. // calling the "fn" function with the response data for each page. To stop
  15732. // iterating, return false from the fn function.
  15733. //
  15734. // See DescribeLaunchTemplates method for more information on how to use this operation.
  15735. //
  15736. // Note: This operation can generate multiple requests to a service.
  15737. //
  15738. // // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
  15739. // pageNum := 0
  15740. // err := client.DescribeLaunchTemplatesPages(params,
  15741. // func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
  15742. // pageNum++
  15743. // fmt.Println(page)
  15744. // return pageNum <= 3
  15745. // })
  15746. //
  15747. func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
  15748. return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  15749. }
  15750. // DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
  15751. // it takes a Context and allows setting request options on the pages.
  15752. //
  15753. // The context must be non-nil and will be used for request cancellation. If
  15754. // the context is nil a panic will occur. In the future the SDK may create
  15755. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15756. // for more information on using Contexts.
  15757. func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
  15758. p := request.Pagination{
  15759. NewRequest: func() (*request.Request, error) {
  15760. var inCpy *DescribeLaunchTemplatesInput
  15761. if input != nil {
  15762. tmp := *input
  15763. inCpy = &tmp
  15764. }
  15765. req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
  15766. req.SetContext(ctx)
  15767. req.ApplyOptions(opts...)
  15768. return req, nil
  15769. },
  15770. }
  15771. for p.Next() {
  15772. if !fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) {
  15773. break
  15774. }
  15775. }
  15776. return p.Err()
  15777. }
  15778. const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
  15779. // DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
  15780. // client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
  15781. // value will be populated with the request's response once the request completes
  15782. // successfully.
  15783. //
  15784. // Use "Send" method on the returned Request to send the API call to the service.
  15785. // the "output" return value is not valid until after Send returns without error.
  15786. //
  15787. // See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
  15788. // API call, and error handling.
  15789. //
  15790. // This method is useful when you want to inject custom logic or configuration
  15791. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15792. //
  15793. //
  15794. // // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
  15795. // req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
  15796. //
  15797. // err := req.Send()
  15798. // if err == nil { // resp is now filled
  15799. // fmt.Println(resp)
  15800. // }
  15801. //
  15802. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
  15803. func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
  15804. op := &request.Operation{
  15805. Name: opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
  15806. HTTPMethod: "POST",
  15807. HTTPPath: "/",
  15808. }
  15809. if input == nil {
  15810. input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
  15811. }
  15812. output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
  15813. req = c.newRequest(op, input, output)
  15814. return
  15815. }
  15816. // DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
  15817. //
  15818. // Describes the associations between virtual interface groups and local gateway
  15819. // route tables.
  15820. //
  15821. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15822. // with awserr.Error's Code and Message methods to get detailed information about
  15823. // the error.
  15824. //
  15825. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15826. // API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
  15827. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
  15828. func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
  15829. req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
  15830. return out, req.Send()
  15831. }
  15832. // DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
  15833. // the ability to pass a context and additional request options.
  15834. //
  15835. // See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
  15836. //
  15837. // The context must be non-nil and will be used for request cancellation. If
  15838. // the context is nil a panic will occur. In the future the SDK may create
  15839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15840. // for more information on using Contexts.
  15841. func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
  15842. req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
  15843. req.SetContext(ctx)
  15844. req.ApplyOptions(opts...)
  15845. return out, req.Send()
  15846. }
  15847. const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
  15848. // DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
  15849. // client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
  15850. // value will be populated with the request's response once the request completes
  15851. // successfully.
  15852. //
  15853. // Use "Send" method on the returned Request to send the API call to the service.
  15854. // the "output" return value is not valid until after Send returns without error.
  15855. //
  15856. // See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
  15857. // API call, and error handling.
  15858. //
  15859. // This method is useful when you want to inject custom logic or configuration
  15860. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15861. //
  15862. //
  15863. // // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
  15864. // req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
  15865. //
  15866. // err := req.Send()
  15867. // if err == nil { // resp is now filled
  15868. // fmt.Println(resp)
  15869. // }
  15870. //
  15871. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
  15872. func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
  15873. op := &request.Operation{
  15874. Name: opDescribeLocalGatewayRouteTableVpcAssociations,
  15875. HTTPMethod: "POST",
  15876. HTTPPath: "/",
  15877. }
  15878. if input == nil {
  15879. input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
  15880. }
  15881. output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
  15882. req = c.newRequest(op, input, output)
  15883. return
  15884. }
  15885. // DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
  15886. //
  15887. // Describes the specified associations between VPCs and local gateway route
  15888. // tables.
  15889. //
  15890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15891. // with awserr.Error's Code and Message methods to get detailed information about
  15892. // the error.
  15893. //
  15894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15895. // API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
  15896. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
  15897. func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
  15898. req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
  15899. return out, req.Send()
  15900. }
  15901. // DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
  15902. // the ability to pass a context and additional request options.
  15903. //
  15904. // See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
  15905. //
  15906. // The context must be non-nil and will be used for request cancellation. If
  15907. // the context is nil a panic will occur. In the future the SDK may create
  15908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15909. // for more information on using Contexts.
  15910. func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
  15911. req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
  15912. req.SetContext(ctx)
  15913. req.ApplyOptions(opts...)
  15914. return out, req.Send()
  15915. }
  15916. const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
  15917. // DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
  15918. // client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
  15919. // value will be populated with the request's response once the request completes
  15920. // successfully.
  15921. //
  15922. // Use "Send" method on the returned Request to send the API call to the service.
  15923. // the "output" return value is not valid until after Send returns without error.
  15924. //
  15925. // See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
  15926. // API call, and error handling.
  15927. //
  15928. // This method is useful when you want to inject custom logic or configuration
  15929. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15930. //
  15931. //
  15932. // // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
  15933. // req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
  15934. //
  15935. // err := req.Send()
  15936. // if err == nil { // resp is now filled
  15937. // fmt.Println(resp)
  15938. // }
  15939. //
  15940. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
  15941. func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
  15942. op := &request.Operation{
  15943. Name: opDescribeLocalGatewayRouteTables,
  15944. HTTPMethod: "POST",
  15945. HTTPPath: "/",
  15946. }
  15947. if input == nil {
  15948. input = &DescribeLocalGatewayRouteTablesInput{}
  15949. }
  15950. output = &DescribeLocalGatewayRouteTablesOutput{}
  15951. req = c.newRequest(op, input, output)
  15952. return
  15953. }
  15954. // DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
  15955. //
  15956. // Describes one or more local gateway route tables. By default, all local gateway
  15957. // route tables are described. Alternatively, you can filter the results.
  15958. //
  15959. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15960. // with awserr.Error's Code and Message methods to get detailed information about
  15961. // the error.
  15962. //
  15963. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15964. // API operation DescribeLocalGatewayRouteTables for usage and error information.
  15965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
  15966. func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
  15967. req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
  15968. return out, req.Send()
  15969. }
  15970. // DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
  15971. // the ability to pass a context and additional request options.
  15972. //
  15973. // See DescribeLocalGatewayRouteTables for details on how to use this API operation.
  15974. //
  15975. // The context must be non-nil and will be used for request cancellation. If
  15976. // the context is nil a panic will occur. In the future the SDK may create
  15977. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15978. // for more information on using Contexts.
  15979. func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
  15980. req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
  15981. req.SetContext(ctx)
  15982. req.ApplyOptions(opts...)
  15983. return out, req.Send()
  15984. }
  15985. const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
  15986. // DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
  15987. // client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
  15988. // value will be populated with the request's response once the request completes
  15989. // successfully.
  15990. //
  15991. // Use "Send" method on the returned Request to send the API call to the service.
  15992. // the "output" return value is not valid until after Send returns without error.
  15993. //
  15994. // See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
  15995. // API call, and error handling.
  15996. //
  15997. // This method is useful when you want to inject custom logic or configuration
  15998. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15999. //
  16000. //
  16001. // // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
  16002. // req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
  16003. //
  16004. // err := req.Send()
  16005. // if err == nil { // resp is now filled
  16006. // fmt.Println(resp)
  16007. // }
  16008. //
  16009. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
  16010. func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
  16011. op := &request.Operation{
  16012. Name: opDescribeLocalGatewayVirtualInterfaceGroups,
  16013. HTTPMethod: "POST",
  16014. HTTPPath: "/",
  16015. }
  16016. if input == nil {
  16017. input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
  16018. }
  16019. output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
  16020. req = c.newRequest(op, input, output)
  16021. return
  16022. }
  16023. // DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
  16024. //
  16025. // Describes the specified local gateway virtual interface groups.
  16026. //
  16027. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16028. // with awserr.Error's Code and Message methods to get detailed information about
  16029. // the error.
  16030. //
  16031. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16032. // API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
  16033. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
  16034. func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
  16035. req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
  16036. return out, req.Send()
  16037. }
  16038. // DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
  16039. // the ability to pass a context and additional request options.
  16040. //
  16041. // See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
  16042. //
  16043. // The context must be non-nil and will be used for request cancellation. If
  16044. // the context is nil a panic will occur. In the future the SDK may create
  16045. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16046. // for more information on using Contexts.
  16047. func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
  16048. req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
  16049. req.SetContext(ctx)
  16050. req.ApplyOptions(opts...)
  16051. return out, req.Send()
  16052. }
  16053. const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
  16054. // DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
  16055. // client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
  16056. // value will be populated with the request's response once the request completes
  16057. // successfully.
  16058. //
  16059. // Use "Send" method on the returned Request to send the API call to the service.
  16060. // the "output" return value is not valid until after Send returns without error.
  16061. //
  16062. // See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
  16063. // API call, and error handling.
  16064. //
  16065. // This method is useful when you want to inject custom logic or configuration
  16066. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16067. //
  16068. //
  16069. // // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
  16070. // req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
  16071. //
  16072. // err := req.Send()
  16073. // if err == nil { // resp is now filled
  16074. // fmt.Println(resp)
  16075. // }
  16076. //
  16077. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
  16078. func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
  16079. op := &request.Operation{
  16080. Name: opDescribeLocalGatewayVirtualInterfaces,
  16081. HTTPMethod: "POST",
  16082. HTTPPath: "/",
  16083. }
  16084. if input == nil {
  16085. input = &DescribeLocalGatewayVirtualInterfacesInput{}
  16086. }
  16087. output = &DescribeLocalGatewayVirtualInterfacesOutput{}
  16088. req = c.newRequest(op, input, output)
  16089. return
  16090. }
  16091. // DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
  16092. //
  16093. // Describes the specified local gateway virtual interfaces.
  16094. //
  16095. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16096. // with awserr.Error's Code and Message methods to get detailed information about
  16097. // the error.
  16098. //
  16099. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16100. // API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
  16101. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
  16102. func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
  16103. req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
  16104. return out, req.Send()
  16105. }
  16106. // DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
  16107. // the ability to pass a context and additional request options.
  16108. //
  16109. // See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
  16110. //
  16111. // The context must be non-nil and will be used for request cancellation. If
  16112. // the context is nil a panic will occur. In the future the SDK may create
  16113. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16114. // for more information on using Contexts.
  16115. func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
  16116. req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
  16117. req.SetContext(ctx)
  16118. req.ApplyOptions(opts...)
  16119. return out, req.Send()
  16120. }
  16121. const opDescribeLocalGateways = "DescribeLocalGateways"
  16122. // DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
  16123. // client's request for the DescribeLocalGateways operation. The "output" return
  16124. // value will be populated with the request's response once the request completes
  16125. // successfully.
  16126. //
  16127. // Use "Send" method on the returned Request to send the API call to the service.
  16128. // the "output" return value is not valid until after Send returns without error.
  16129. //
  16130. // See DescribeLocalGateways for more information on using the DescribeLocalGateways
  16131. // API call, and error handling.
  16132. //
  16133. // This method is useful when you want to inject custom logic or configuration
  16134. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16135. //
  16136. //
  16137. // // Example sending a request using the DescribeLocalGatewaysRequest method.
  16138. // req, resp := client.DescribeLocalGatewaysRequest(params)
  16139. //
  16140. // err := req.Send()
  16141. // if err == nil { // resp is now filled
  16142. // fmt.Println(resp)
  16143. // }
  16144. //
  16145. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
  16146. func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
  16147. op := &request.Operation{
  16148. Name: opDescribeLocalGateways,
  16149. HTTPMethod: "POST",
  16150. HTTPPath: "/",
  16151. }
  16152. if input == nil {
  16153. input = &DescribeLocalGatewaysInput{}
  16154. }
  16155. output = &DescribeLocalGatewaysOutput{}
  16156. req = c.newRequest(op, input, output)
  16157. return
  16158. }
  16159. // DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
  16160. //
  16161. // Describes one or more local gateways. By default, all local gateways are
  16162. // described. Alternatively, you can filter the results.
  16163. //
  16164. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16165. // with awserr.Error's Code and Message methods to get detailed information about
  16166. // the error.
  16167. //
  16168. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16169. // API operation DescribeLocalGateways for usage and error information.
  16170. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
  16171. func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
  16172. req, out := c.DescribeLocalGatewaysRequest(input)
  16173. return out, req.Send()
  16174. }
  16175. // DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
  16176. // the ability to pass a context and additional request options.
  16177. //
  16178. // See DescribeLocalGateways for details on how to use this API operation.
  16179. //
  16180. // The context must be non-nil and will be used for request cancellation. If
  16181. // the context is nil a panic will occur. In the future the SDK may create
  16182. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16183. // for more information on using Contexts.
  16184. func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
  16185. req, out := c.DescribeLocalGatewaysRequest(input)
  16186. req.SetContext(ctx)
  16187. req.ApplyOptions(opts...)
  16188. return out, req.Send()
  16189. }
  16190. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  16191. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  16192. // client's request for the DescribeMovingAddresses operation. The "output" return
  16193. // value will be populated with the request's response once the request completes
  16194. // successfully.
  16195. //
  16196. // Use "Send" method on the returned Request to send the API call to the service.
  16197. // the "output" return value is not valid until after Send returns without error.
  16198. //
  16199. // See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
  16200. // API call, and error handling.
  16201. //
  16202. // This method is useful when you want to inject custom logic or configuration
  16203. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16204. //
  16205. //
  16206. // // Example sending a request using the DescribeMovingAddressesRequest method.
  16207. // req, resp := client.DescribeMovingAddressesRequest(params)
  16208. //
  16209. // err := req.Send()
  16210. // if err == nil { // resp is now filled
  16211. // fmt.Println(resp)
  16212. // }
  16213. //
  16214. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  16215. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  16216. op := &request.Operation{
  16217. Name: opDescribeMovingAddresses,
  16218. HTTPMethod: "POST",
  16219. HTTPPath: "/",
  16220. Paginator: &request.Paginator{
  16221. InputTokens: []string{"NextToken"},
  16222. OutputTokens: []string{"NextToken"},
  16223. LimitToken: "MaxResults",
  16224. TruncationToken: "",
  16225. },
  16226. }
  16227. if input == nil {
  16228. input = &DescribeMovingAddressesInput{}
  16229. }
  16230. output = &DescribeMovingAddressesOutput{}
  16231. req = c.newRequest(op, input, output)
  16232. return
  16233. }
  16234. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  16235. //
  16236. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  16237. // or that are being restored to the EC2-Classic platform. This request does
  16238. // not return information about any other Elastic IP addresses in your account.
  16239. //
  16240. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16241. // with awserr.Error's Code and Message methods to get detailed information about
  16242. // the error.
  16243. //
  16244. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16245. // API operation DescribeMovingAddresses for usage and error information.
  16246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  16247. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  16248. req, out := c.DescribeMovingAddressesRequest(input)
  16249. return out, req.Send()
  16250. }
  16251. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  16252. // the ability to pass a context and additional request options.
  16253. //
  16254. // See DescribeMovingAddresses for details on how to use this API operation.
  16255. //
  16256. // The context must be non-nil and will be used for request cancellation. If
  16257. // the context is nil a panic will occur. In the future the SDK may create
  16258. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16259. // for more information on using Contexts.
  16260. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  16261. req, out := c.DescribeMovingAddressesRequest(input)
  16262. req.SetContext(ctx)
  16263. req.ApplyOptions(opts...)
  16264. return out, req.Send()
  16265. }
  16266. // DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
  16267. // calling the "fn" function with the response data for each page. To stop
  16268. // iterating, return false from the fn function.
  16269. //
  16270. // See DescribeMovingAddresses method for more information on how to use this operation.
  16271. //
  16272. // Note: This operation can generate multiple requests to a service.
  16273. //
  16274. // // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
  16275. // pageNum := 0
  16276. // err := client.DescribeMovingAddressesPages(params,
  16277. // func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
  16278. // pageNum++
  16279. // fmt.Println(page)
  16280. // return pageNum <= 3
  16281. // })
  16282. //
  16283. func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
  16284. return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
  16285. }
  16286. // DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
  16287. // it takes a Context and allows setting request options on the pages.
  16288. //
  16289. // The context must be non-nil and will be used for request cancellation. If
  16290. // the context is nil a panic will occur. In the future the SDK may create
  16291. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16292. // for more information on using Contexts.
  16293. func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
  16294. p := request.Pagination{
  16295. NewRequest: func() (*request.Request, error) {
  16296. var inCpy *DescribeMovingAddressesInput
  16297. if input != nil {
  16298. tmp := *input
  16299. inCpy = &tmp
  16300. }
  16301. req, _ := c.DescribeMovingAddressesRequest(inCpy)
  16302. req.SetContext(ctx)
  16303. req.ApplyOptions(opts...)
  16304. return req, nil
  16305. },
  16306. }
  16307. for p.Next() {
  16308. if !fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) {
  16309. break
  16310. }
  16311. }
  16312. return p.Err()
  16313. }
  16314. const opDescribeNatGateways = "DescribeNatGateways"
  16315. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  16316. // client's request for the DescribeNatGateways operation. The "output" return
  16317. // value will be populated with the request's response once the request completes
  16318. // successfully.
  16319. //
  16320. // Use "Send" method on the returned Request to send the API call to the service.
  16321. // the "output" return value is not valid until after Send returns without error.
  16322. //
  16323. // See DescribeNatGateways for more information on using the DescribeNatGateways
  16324. // API call, and error handling.
  16325. //
  16326. // This method is useful when you want to inject custom logic or configuration
  16327. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16328. //
  16329. //
  16330. // // Example sending a request using the DescribeNatGatewaysRequest method.
  16331. // req, resp := client.DescribeNatGatewaysRequest(params)
  16332. //
  16333. // err := req.Send()
  16334. // if err == nil { // resp is now filled
  16335. // fmt.Println(resp)
  16336. // }
  16337. //
  16338. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  16339. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  16340. op := &request.Operation{
  16341. Name: opDescribeNatGateways,
  16342. HTTPMethod: "POST",
  16343. HTTPPath: "/",
  16344. Paginator: &request.Paginator{
  16345. InputTokens: []string{"NextToken"},
  16346. OutputTokens: []string{"NextToken"},
  16347. LimitToken: "MaxResults",
  16348. TruncationToken: "",
  16349. },
  16350. }
  16351. if input == nil {
  16352. input = &DescribeNatGatewaysInput{}
  16353. }
  16354. output = &DescribeNatGatewaysOutput{}
  16355. req = c.newRequest(op, input, output)
  16356. return
  16357. }
  16358. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  16359. //
  16360. // Describes one or more of your NAT gateways.
  16361. //
  16362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16363. // with awserr.Error's Code and Message methods to get detailed information about
  16364. // the error.
  16365. //
  16366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16367. // API operation DescribeNatGateways for usage and error information.
  16368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  16369. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  16370. req, out := c.DescribeNatGatewaysRequest(input)
  16371. return out, req.Send()
  16372. }
  16373. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  16374. // the ability to pass a context and additional request options.
  16375. //
  16376. // See DescribeNatGateways for details on how to use this API operation.
  16377. //
  16378. // The context must be non-nil and will be used for request cancellation. If
  16379. // the context is nil a panic will occur. In the future the SDK may create
  16380. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16381. // for more information on using Contexts.
  16382. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  16383. req, out := c.DescribeNatGatewaysRequest(input)
  16384. req.SetContext(ctx)
  16385. req.ApplyOptions(opts...)
  16386. return out, req.Send()
  16387. }
  16388. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  16389. // calling the "fn" function with the response data for each page. To stop
  16390. // iterating, return false from the fn function.
  16391. //
  16392. // See DescribeNatGateways method for more information on how to use this operation.
  16393. //
  16394. // Note: This operation can generate multiple requests to a service.
  16395. //
  16396. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  16397. // pageNum := 0
  16398. // err := client.DescribeNatGatewaysPages(params,
  16399. // func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
  16400. // pageNum++
  16401. // fmt.Println(page)
  16402. // return pageNum <= 3
  16403. // })
  16404. //
  16405. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  16406. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  16407. }
  16408. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  16409. // it takes a Context and allows setting request options on the pages.
  16410. //
  16411. // The context must be non-nil and will be used for request cancellation. If
  16412. // the context is nil a panic will occur. In the future the SDK may create
  16413. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16414. // for more information on using Contexts.
  16415. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  16416. p := request.Pagination{
  16417. NewRequest: func() (*request.Request, error) {
  16418. var inCpy *DescribeNatGatewaysInput
  16419. if input != nil {
  16420. tmp := *input
  16421. inCpy = &tmp
  16422. }
  16423. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  16424. req.SetContext(ctx)
  16425. req.ApplyOptions(opts...)
  16426. return req, nil
  16427. },
  16428. }
  16429. for p.Next() {
  16430. if !fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage()) {
  16431. break
  16432. }
  16433. }
  16434. return p.Err()
  16435. }
  16436. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  16437. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  16438. // client's request for the DescribeNetworkAcls operation. The "output" return
  16439. // value will be populated with the request's response once the request completes
  16440. // successfully.
  16441. //
  16442. // Use "Send" method on the returned Request to send the API call to the service.
  16443. // the "output" return value is not valid until after Send returns without error.
  16444. //
  16445. // See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
  16446. // API call, and error handling.
  16447. //
  16448. // This method is useful when you want to inject custom logic or configuration
  16449. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16450. //
  16451. //
  16452. // // Example sending a request using the DescribeNetworkAclsRequest method.
  16453. // req, resp := client.DescribeNetworkAclsRequest(params)
  16454. //
  16455. // err := req.Send()
  16456. // if err == nil { // resp is now filled
  16457. // fmt.Println(resp)
  16458. // }
  16459. //
  16460. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  16461. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  16462. op := &request.Operation{
  16463. Name: opDescribeNetworkAcls,
  16464. HTTPMethod: "POST",
  16465. HTTPPath: "/",
  16466. Paginator: &request.Paginator{
  16467. InputTokens: []string{"NextToken"},
  16468. OutputTokens: []string{"NextToken"},
  16469. LimitToken: "MaxResults",
  16470. TruncationToken: "",
  16471. },
  16472. }
  16473. if input == nil {
  16474. input = &DescribeNetworkAclsInput{}
  16475. }
  16476. output = &DescribeNetworkAclsOutput{}
  16477. req = c.newRequest(op, input, output)
  16478. return
  16479. }
  16480. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  16481. //
  16482. // Describes one or more of your network ACLs.
  16483. //
  16484. // For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
  16485. // in the Amazon Virtual Private Cloud User Guide.
  16486. //
  16487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16488. // with awserr.Error's Code and Message methods to get detailed information about
  16489. // the error.
  16490. //
  16491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16492. // API operation DescribeNetworkAcls for usage and error information.
  16493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  16494. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  16495. req, out := c.DescribeNetworkAclsRequest(input)
  16496. return out, req.Send()
  16497. }
  16498. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  16499. // the ability to pass a context and additional request options.
  16500. //
  16501. // See DescribeNetworkAcls for details on how to use this API operation.
  16502. //
  16503. // The context must be non-nil and will be used for request cancellation. If
  16504. // the context is nil a panic will occur. In the future the SDK may create
  16505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16506. // for more information on using Contexts.
  16507. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  16508. req, out := c.DescribeNetworkAclsRequest(input)
  16509. req.SetContext(ctx)
  16510. req.ApplyOptions(opts...)
  16511. return out, req.Send()
  16512. }
  16513. // DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
  16514. // calling the "fn" function with the response data for each page. To stop
  16515. // iterating, return false from the fn function.
  16516. //
  16517. // See DescribeNetworkAcls method for more information on how to use this operation.
  16518. //
  16519. // Note: This operation can generate multiple requests to a service.
  16520. //
  16521. // // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
  16522. // pageNum := 0
  16523. // err := client.DescribeNetworkAclsPages(params,
  16524. // func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
  16525. // pageNum++
  16526. // fmt.Println(page)
  16527. // return pageNum <= 3
  16528. // })
  16529. //
  16530. func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
  16531. return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
  16532. }
  16533. // DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
  16534. // it takes a Context and allows setting request options on the pages.
  16535. //
  16536. // The context must be non-nil and will be used for request cancellation. If
  16537. // the context is nil a panic will occur. In the future the SDK may create
  16538. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16539. // for more information on using Contexts.
  16540. func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
  16541. p := request.Pagination{
  16542. NewRequest: func() (*request.Request, error) {
  16543. var inCpy *DescribeNetworkAclsInput
  16544. if input != nil {
  16545. tmp := *input
  16546. inCpy = &tmp
  16547. }
  16548. req, _ := c.DescribeNetworkAclsRequest(inCpy)
  16549. req.SetContext(ctx)
  16550. req.ApplyOptions(opts...)
  16551. return req, nil
  16552. },
  16553. }
  16554. for p.Next() {
  16555. if !fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) {
  16556. break
  16557. }
  16558. }
  16559. return p.Err()
  16560. }
  16561. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  16562. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  16563. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  16564. // value will be populated with the request's response once the request completes
  16565. // successfully.
  16566. //
  16567. // Use "Send" method on the returned Request to send the API call to the service.
  16568. // the "output" return value is not valid until after Send returns without error.
  16569. //
  16570. // See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
  16571. // API call, and error handling.
  16572. //
  16573. // This method is useful when you want to inject custom logic or configuration
  16574. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16575. //
  16576. //
  16577. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  16578. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  16579. //
  16580. // err := req.Send()
  16581. // if err == nil { // resp is now filled
  16582. // fmt.Println(resp)
  16583. // }
  16584. //
  16585. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  16586. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  16587. op := &request.Operation{
  16588. Name: opDescribeNetworkInterfaceAttribute,
  16589. HTTPMethod: "POST",
  16590. HTTPPath: "/",
  16591. }
  16592. if input == nil {
  16593. input = &DescribeNetworkInterfaceAttributeInput{}
  16594. }
  16595. output = &DescribeNetworkInterfaceAttributeOutput{}
  16596. req = c.newRequest(op, input, output)
  16597. return
  16598. }
  16599. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  16600. //
  16601. // Describes a network interface attribute. You can specify only one attribute
  16602. // at a time.
  16603. //
  16604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16605. // with awserr.Error's Code and Message methods to get detailed information about
  16606. // the error.
  16607. //
  16608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16609. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  16610. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  16611. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  16612. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  16613. return out, req.Send()
  16614. }
  16615. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  16616. // the ability to pass a context and additional request options.
  16617. //
  16618. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  16619. //
  16620. // The context must be non-nil and will be used for request cancellation. If
  16621. // the context is nil a panic will occur. In the future the SDK may create
  16622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16623. // for more information on using Contexts.
  16624. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  16625. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  16626. req.SetContext(ctx)
  16627. req.ApplyOptions(opts...)
  16628. return out, req.Send()
  16629. }
  16630. const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
  16631. // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
  16632. // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
  16633. // value will be populated with the request's response once the request completes
  16634. // successfully.
  16635. //
  16636. // Use "Send" method on the returned Request to send the API call to the service.
  16637. // the "output" return value is not valid until after Send returns without error.
  16638. //
  16639. // See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
  16640. // API call, and error handling.
  16641. //
  16642. // This method is useful when you want to inject custom logic or configuration
  16643. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16644. //
  16645. //
  16646. // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
  16647. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
  16648. //
  16649. // err := req.Send()
  16650. // if err == nil { // resp is now filled
  16651. // fmt.Println(resp)
  16652. // }
  16653. //
  16654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  16655. func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
  16656. op := &request.Operation{
  16657. Name: opDescribeNetworkInterfacePermissions,
  16658. HTTPMethod: "POST",
  16659. HTTPPath: "/",
  16660. Paginator: &request.Paginator{
  16661. InputTokens: []string{"NextToken"},
  16662. OutputTokens: []string{"NextToken"},
  16663. LimitToken: "MaxResults",
  16664. TruncationToken: "",
  16665. },
  16666. }
  16667. if input == nil {
  16668. input = &DescribeNetworkInterfacePermissionsInput{}
  16669. }
  16670. output = &DescribeNetworkInterfacePermissionsOutput{}
  16671. req = c.newRequest(op, input, output)
  16672. return
  16673. }
  16674. // DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
  16675. //
  16676. // Describes the permissions for your network interfaces.
  16677. //
  16678. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16679. // with awserr.Error's Code and Message methods to get detailed information about
  16680. // the error.
  16681. //
  16682. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16683. // API operation DescribeNetworkInterfacePermissions for usage and error information.
  16684. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  16685. func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
  16686. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  16687. return out, req.Send()
  16688. }
  16689. // DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
  16690. // the ability to pass a context and additional request options.
  16691. //
  16692. // See DescribeNetworkInterfacePermissions for details on how to use this API operation.
  16693. //
  16694. // The context must be non-nil and will be used for request cancellation. If
  16695. // the context is nil a panic will occur. In the future the SDK may create
  16696. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16697. // for more information on using Contexts.
  16698. func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
  16699. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  16700. req.SetContext(ctx)
  16701. req.ApplyOptions(opts...)
  16702. return out, req.Send()
  16703. }
  16704. // DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
  16705. // calling the "fn" function with the response data for each page. To stop
  16706. // iterating, return false from the fn function.
  16707. //
  16708. // See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
  16709. //
  16710. // Note: This operation can generate multiple requests to a service.
  16711. //
  16712. // // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
  16713. // pageNum := 0
  16714. // err := client.DescribeNetworkInterfacePermissionsPages(params,
  16715. // func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
  16716. // pageNum++
  16717. // fmt.Println(page)
  16718. // return pageNum <= 3
  16719. // })
  16720. //
  16721. func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
  16722. return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
  16723. }
  16724. // DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
  16725. // it takes a Context and allows setting request options on the pages.
  16726. //
  16727. // The context must be non-nil and will be used for request cancellation. If
  16728. // the context is nil a panic will occur. In the future the SDK may create
  16729. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16730. // for more information on using Contexts.
  16731. func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
  16732. p := request.Pagination{
  16733. NewRequest: func() (*request.Request, error) {
  16734. var inCpy *DescribeNetworkInterfacePermissionsInput
  16735. if input != nil {
  16736. tmp := *input
  16737. inCpy = &tmp
  16738. }
  16739. req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
  16740. req.SetContext(ctx)
  16741. req.ApplyOptions(opts...)
  16742. return req, nil
  16743. },
  16744. }
  16745. for p.Next() {
  16746. if !fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) {
  16747. break
  16748. }
  16749. }
  16750. return p.Err()
  16751. }
  16752. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  16753. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  16754. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  16755. // value will be populated with the request's response once the request completes
  16756. // successfully.
  16757. //
  16758. // Use "Send" method on the returned Request to send the API call to the service.
  16759. // the "output" return value is not valid until after Send returns without error.
  16760. //
  16761. // See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
  16762. // API call, and error handling.
  16763. //
  16764. // This method is useful when you want to inject custom logic or configuration
  16765. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16766. //
  16767. //
  16768. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  16769. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  16770. //
  16771. // err := req.Send()
  16772. // if err == nil { // resp is now filled
  16773. // fmt.Println(resp)
  16774. // }
  16775. //
  16776. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  16777. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  16778. op := &request.Operation{
  16779. Name: opDescribeNetworkInterfaces,
  16780. HTTPMethod: "POST",
  16781. HTTPPath: "/",
  16782. Paginator: &request.Paginator{
  16783. InputTokens: []string{"NextToken"},
  16784. OutputTokens: []string{"NextToken"},
  16785. LimitToken: "MaxResults",
  16786. TruncationToken: "",
  16787. },
  16788. }
  16789. if input == nil {
  16790. input = &DescribeNetworkInterfacesInput{}
  16791. }
  16792. output = &DescribeNetworkInterfacesOutput{}
  16793. req = c.newRequest(op, input, output)
  16794. return
  16795. }
  16796. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  16797. //
  16798. // Describes one or more of your network interfaces.
  16799. //
  16800. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16801. // with awserr.Error's Code and Message methods to get detailed information about
  16802. // the error.
  16803. //
  16804. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16805. // API operation DescribeNetworkInterfaces for usage and error information.
  16806. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  16807. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  16808. req, out := c.DescribeNetworkInterfacesRequest(input)
  16809. return out, req.Send()
  16810. }
  16811. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  16812. // the ability to pass a context and additional request options.
  16813. //
  16814. // See DescribeNetworkInterfaces for details on how to use this API operation.
  16815. //
  16816. // The context must be non-nil and will be used for request cancellation. If
  16817. // the context is nil a panic will occur. In the future the SDK may create
  16818. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16819. // for more information on using Contexts.
  16820. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  16821. req, out := c.DescribeNetworkInterfacesRequest(input)
  16822. req.SetContext(ctx)
  16823. req.ApplyOptions(opts...)
  16824. return out, req.Send()
  16825. }
  16826. // DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
  16827. // calling the "fn" function with the response data for each page. To stop
  16828. // iterating, return false from the fn function.
  16829. //
  16830. // See DescribeNetworkInterfaces method for more information on how to use this operation.
  16831. //
  16832. // Note: This operation can generate multiple requests to a service.
  16833. //
  16834. // // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
  16835. // pageNum := 0
  16836. // err := client.DescribeNetworkInterfacesPages(params,
  16837. // func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
  16838. // pageNum++
  16839. // fmt.Println(page)
  16840. // return pageNum <= 3
  16841. // })
  16842. //
  16843. func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
  16844. return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
  16845. }
  16846. // DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
  16847. // it takes a Context and allows setting request options on the pages.
  16848. //
  16849. // The context must be non-nil and will be used for request cancellation. If
  16850. // the context is nil a panic will occur. In the future the SDK may create
  16851. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16852. // for more information on using Contexts.
  16853. func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
  16854. p := request.Pagination{
  16855. NewRequest: func() (*request.Request, error) {
  16856. var inCpy *DescribeNetworkInterfacesInput
  16857. if input != nil {
  16858. tmp := *input
  16859. inCpy = &tmp
  16860. }
  16861. req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
  16862. req.SetContext(ctx)
  16863. req.ApplyOptions(opts...)
  16864. return req, nil
  16865. },
  16866. }
  16867. for p.Next() {
  16868. if !fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage()) {
  16869. break
  16870. }
  16871. }
  16872. return p.Err()
  16873. }
  16874. const opDescribePlacementGroups = "DescribePlacementGroups"
  16875. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  16876. // client's request for the DescribePlacementGroups operation. The "output" return
  16877. // value will be populated with the request's response once the request completes
  16878. // successfully.
  16879. //
  16880. // Use "Send" method on the returned Request to send the API call to the service.
  16881. // the "output" return value is not valid until after Send returns without error.
  16882. //
  16883. // See DescribePlacementGroups for more information on using the DescribePlacementGroups
  16884. // API call, and error handling.
  16885. //
  16886. // This method is useful when you want to inject custom logic or configuration
  16887. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16888. //
  16889. //
  16890. // // Example sending a request using the DescribePlacementGroupsRequest method.
  16891. // req, resp := client.DescribePlacementGroupsRequest(params)
  16892. //
  16893. // err := req.Send()
  16894. // if err == nil { // resp is now filled
  16895. // fmt.Println(resp)
  16896. // }
  16897. //
  16898. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  16899. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  16900. op := &request.Operation{
  16901. Name: opDescribePlacementGroups,
  16902. HTTPMethod: "POST",
  16903. HTTPPath: "/",
  16904. }
  16905. if input == nil {
  16906. input = &DescribePlacementGroupsInput{}
  16907. }
  16908. output = &DescribePlacementGroupsOutput{}
  16909. req = c.newRequest(op, input, output)
  16910. return
  16911. }
  16912. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  16913. //
  16914. // Describes the specified placement groups or all of your placement groups.
  16915. // For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  16916. // in the Amazon Elastic Compute Cloud User Guide.
  16917. //
  16918. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16919. // with awserr.Error's Code and Message methods to get detailed information about
  16920. // the error.
  16921. //
  16922. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16923. // API operation DescribePlacementGroups for usage and error information.
  16924. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  16925. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  16926. req, out := c.DescribePlacementGroupsRequest(input)
  16927. return out, req.Send()
  16928. }
  16929. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  16930. // the ability to pass a context and additional request options.
  16931. //
  16932. // See DescribePlacementGroups for details on how to use this API operation.
  16933. //
  16934. // The context must be non-nil and will be used for request cancellation. If
  16935. // the context is nil a panic will occur. In the future the SDK may create
  16936. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16937. // for more information on using Contexts.
  16938. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  16939. req, out := c.DescribePlacementGroupsRequest(input)
  16940. req.SetContext(ctx)
  16941. req.ApplyOptions(opts...)
  16942. return out, req.Send()
  16943. }
  16944. const opDescribePrefixLists = "DescribePrefixLists"
  16945. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  16946. // client's request for the DescribePrefixLists operation. The "output" return
  16947. // value will be populated with the request's response once the request completes
  16948. // successfully.
  16949. //
  16950. // Use "Send" method on the returned Request to send the API call to the service.
  16951. // the "output" return value is not valid until after Send returns without error.
  16952. //
  16953. // See DescribePrefixLists for more information on using the DescribePrefixLists
  16954. // API call, and error handling.
  16955. //
  16956. // This method is useful when you want to inject custom logic or configuration
  16957. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16958. //
  16959. //
  16960. // // Example sending a request using the DescribePrefixListsRequest method.
  16961. // req, resp := client.DescribePrefixListsRequest(params)
  16962. //
  16963. // err := req.Send()
  16964. // if err == nil { // resp is now filled
  16965. // fmt.Println(resp)
  16966. // }
  16967. //
  16968. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  16969. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  16970. op := &request.Operation{
  16971. Name: opDescribePrefixLists,
  16972. HTTPMethod: "POST",
  16973. HTTPPath: "/",
  16974. Paginator: &request.Paginator{
  16975. InputTokens: []string{"NextToken"},
  16976. OutputTokens: []string{"NextToken"},
  16977. LimitToken: "MaxResults",
  16978. TruncationToken: "",
  16979. },
  16980. }
  16981. if input == nil {
  16982. input = &DescribePrefixListsInput{}
  16983. }
  16984. output = &DescribePrefixListsOutput{}
  16985. req = c.newRequest(op, input, output)
  16986. return
  16987. }
  16988. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  16989. //
  16990. // Describes available AWS services in a prefix list format, which includes
  16991. // the prefix list name and prefix list ID of the service and the IP address
  16992. // range for the service. A prefix list ID is required for creating an outbound
  16993. // security group rule that allows traffic from a VPC to access an AWS service
  16994. // through a gateway VPC endpoint. Currently, the services that support this
  16995. // action are Amazon S3 and Amazon DynamoDB.
  16996. //
  16997. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16998. // with awserr.Error's Code and Message methods to get detailed information about
  16999. // the error.
  17000. //
  17001. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17002. // API operation DescribePrefixLists for usage and error information.
  17003. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  17004. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  17005. req, out := c.DescribePrefixListsRequest(input)
  17006. return out, req.Send()
  17007. }
  17008. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  17009. // the ability to pass a context and additional request options.
  17010. //
  17011. // See DescribePrefixLists for details on how to use this API operation.
  17012. //
  17013. // The context must be non-nil and will be used for request cancellation. If
  17014. // the context is nil a panic will occur. In the future the SDK may create
  17015. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17016. // for more information on using Contexts.
  17017. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  17018. req, out := c.DescribePrefixListsRequest(input)
  17019. req.SetContext(ctx)
  17020. req.ApplyOptions(opts...)
  17021. return out, req.Send()
  17022. }
  17023. // DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
  17024. // calling the "fn" function with the response data for each page. To stop
  17025. // iterating, return false from the fn function.
  17026. //
  17027. // See DescribePrefixLists method for more information on how to use this operation.
  17028. //
  17029. // Note: This operation can generate multiple requests to a service.
  17030. //
  17031. // // Example iterating over at most 3 pages of a DescribePrefixLists operation.
  17032. // pageNum := 0
  17033. // err := client.DescribePrefixListsPages(params,
  17034. // func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
  17035. // pageNum++
  17036. // fmt.Println(page)
  17037. // return pageNum <= 3
  17038. // })
  17039. //
  17040. func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
  17041. return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
  17042. }
  17043. // DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
  17044. // it takes a Context and allows setting request options on the pages.
  17045. //
  17046. // The context must be non-nil and will be used for request cancellation. If
  17047. // the context is nil a panic will occur. In the future the SDK may create
  17048. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17049. // for more information on using Contexts.
  17050. func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
  17051. p := request.Pagination{
  17052. NewRequest: func() (*request.Request, error) {
  17053. var inCpy *DescribePrefixListsInput
  17054. if input != nil {
  17055. tmp := *input
  17056. inCpy = &tmp
  17057. }
  17058. req, _ := c.DescribePrefixListsRequest(inCpy)
  17059. req.SetContext(ctx)
  17060. req.ApplyOptions(opts...)
  17061. return req, nil
  17062. },
  17063. }
  17064. for p.Next() {
  17065. if !fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) {
  17066. break
  17067. }
  17068. }
  17069. return p.Err()
  17070. }
  17071. const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
  17072. // DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
  17073. // client's request for the DescribePrincipalIdFormat operation. The "output" return
  17074. // value will be populated with the request's response once the request completes
  17075. // successfully.
  17076. //
  17077. // Use "Send" method on the returned Request to send the API call to the service.
  17078. // the "output" return value is not valid until after Send returns without error.
  17079. //
  17080. // See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
  17081. // API call, and error handling.
  17082. //
  17083. // This method is useful when you want to inject custom logic or configuration
  17084. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17085. //
  17086. //
  17087. // // Example sending a request using the DescribePrincipalIdFormatRequest method.
  17088. // req, resp := client.DescribePrincipalIdFormatRequest(params)
  17089. //
  17090. // err := req.Send()
  17091. // if err == nil { // resp is now filled
  17092. // fmt.Println(resp)
  17093. // }
  17094. //
  17095. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  17096. func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
  17097. op := &request.Operation{
  17098. Name: opDescribePrincipalIdFormat,
  17099. HTTPMethod: "POST",
  17100. HTTPPath: "/",
  17101. Paginator: &request.Paginator{
  17102. InputTokens: []string{"NextToken"},
  17103. OutputTokens: []string{"NextToken"},
  17104. LimitToken: "MaxResults",
  17105. TruncationToken: "",
  17106. },
  17107. }
  17108. if input == nil {
  17109. input = &DescribePrincipalIdFormatInput{}
  17110. }
  17111. output = &DescribePrincipalIdFormatOutput{}
  17112. req = c.newRequest(op, input, output)
  17113. return
  17114. }
  17115. // DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
  17116. //
  17117. // Describes the ID format settings for the root user and all IAM roles and
  17118. // IAM users that have explicitly specified a longer ID (17-character ID) preference.
  17119. //
  17120. // By default, all IAM roles and IAM users default to the same ID settings as
  17121. // the root user, unless they explicitly override the settings. This request
  17122. // is useful for identifying those IAM users and IAM roles that have overridden
  17123. // the default ID settings.
  17124. //
  17125. // The following resource types support longer IDs: bundle | conversion-task
  17126. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  17127. // | export-task | flow-log | image | import-task | instance | internet-gateway
  17128. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  17129. // | prefix-list | reservation | route-table | route-table-association | security-group
  17130. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  17131. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  17132. //
  17133. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17134. // with awserr.Error's Code and Message methods to get detailed information about
  17135. // the error.
  17136. //
  17137. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17138. // API operation DescribePrincipalIdFormat for usage and error information.
  17139. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  17140. func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
  17141. req, out := c.DescribePrincipalIdFormatRequest(input)
  17142. return out, req.Send()
  17143. }
  17144. // DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
  17145. // the ability to pass a context and additional request options.
  17146. //
  17147. // See DescribePrincipalIdFormat for details on how to use this API operation.
  17148. //
  17149. // The context must be non-nil and will be used for request cancellation. If
  17150. // the context is nil a panic will occur. In the future the SDK may create
  17151. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17152. // for more information on using Contexts.
  17153. func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
  17154. req, out := c.DescribePrincipalIdFormatRequest(input)
  17155. req.SetContext(ctx)
  17156. req.ApplyOptions(opts...)
  17157. return out, req.Send()
  17158. }
  17159. // DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation,
  17160. // calling the "fn" function with the response data for each page. To stop
  17161. // iterating, return false from the fn function.
  17162. //
  17163. // See DescribePrincipalIdFormat method for more information on how to use this operation.
  17164. //
  17165. // Note: This operation can generate multiple requests to a service.
  17166. //
  17167. // // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation.
  17168. // pageNum := 0
  17169. // err := client.DescribePrincipalIdFormatPages(params,
  17170. // func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
  17171. // pageNum++
  17172. // fmt.Println(page)
  17173. // return pageNum <= 3
  17174. // })
  17175. //
  17176. func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
  17177. return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
  17178. }
  17179. // DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except
  17180. // it takes a Context and allows setting request options on the pages.
  17181. //
  17182. // The context must be non-nil and will be used for request cancellation. If
  17183. // the context is nil a panic will occur. In the future the SDK may create
  17184. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17185. // for more information on using Contexts.
  17186. func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
  17187. p := request.Pagination{
  17188. NewRequest: func() (*request.Request, error) {
  17189. var inCpy *DescribePrincipalIdFormatInput
  17190. if input != nil {
  17191. tmp := *input
  17192. inCpy = &tmp
  17193. }
  17194. req, _ := c.DescribePrincipalIdFormatRequest(inCpy)
  17195. req.SetContext(ctx)
  17196. req.ApplyOptions(opts...)
  17197. return req, nil
  17198. },
  17199. }
  17200. for p.Next() {
  17201. if !fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) {
  17202. break
  17203. }
  17204. }
  17205. return p.Err()
  17206. }
  17207. const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
  17208. // DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
  17209. // client's request for the DescribePublicIpv4Pools operation. The "output" return
  17210. // value will be populated with the request's response once the request completes
  17211. // successfully.
  17212. //
  17213. // Use "Send" method on the returned Request to send the API call to the service.
  17214. // the "output" return value is not valid until after Send returns without error.
  17215. //
  17216. // See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
  17217. // API call, and error handling.
  17218. //
  17219. // This method is useful when you want to inject custom logic or configuration
  17220. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17221. //
  17222. //
  17223. // // Example sending a request using the DescribePublicIpv4PoolsRequest method.
  17224. // req, resp := client.DescribePublicIpv4PoolsRequest(params)
  17225. //
  17226. // err := req.Send()
  17227. // if err == nil { // resp is now filled
  17228. // fmt.Println(resp)
  17229. // }
  17230. //
  17231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
  17232. func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
  17233. op := &request.Operation{
  17234. Name: opDescribePublicIpv4Pools,
  17235. HTTPMethod: "POST",
  17236. HTTPPath: "/",
  17237. Paginator: &request.Paginator{
  17238. InputTokens: []string{"NextToken"},
  17239. OutputTokens: []string{"NextToken"},
  17240. LimitToken: "MaxResults",
  17241. TruncationToken: "",
  17242. },
  17243. }
  17244. if input == nil {
  17245. input = &DescribePublicIpv4PoolsInput{}
  17246. }
  17247. output = &DescribePublicIpv4PoolsOutput{}
  17248. req = c.newRequest(op, input, output)
  17249. return
  17250. }
  17251. // DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
  17252. //
  17253. // Describes the specified IPv4 address pools.
  17254. //
  17255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17256. // with awserr.Error's Code and Message methods to get detailed information about
  17257. // the error.
  17258. //
  17259. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17260. // API operation DescribePublicIpv4Pools for usage and error information.
  17261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
  17262. func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
  17263. req, out := c.DescribePublicIpv4PoolsRequest(input)
  17264. return out, req.Send()
  17265. }
  17266. // DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
  17267. // the ability to pass a context and additional request options.
  17268. //
  17269. // See DescribePublicIpv4Pools for details on how to use this API operation.
  17270. //
  17271. // The context must be non-nil and will be used for request cancellation. If
  17272. // the context is nil a panic will occur. In the future the SDK may create
  17273. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17274. // for more information on using Contexts.
  17275. func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
  17276. req, out := c.DescribePublicIpv4PoolsRequest(input)
  17277. req.SetContext(ctx)
  17278. req.ApplyOptions(opts...)
  17279. return out, req.Send()
  17280. }
  17281. // DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
  17282. // calling the "fn" function with the response data for each page. To stop
  17283. // iterating, return false from the fn function.
  17284. //
  17285. // See DescribePublicIpv4Pools method for more information on how to use this operation.
  17286. //
  17287. // Note: This operation can generate multiple requests to a service.
  17288. //
  17289. // // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
  17290. // pageNum := 0
  17291. // err := client.DescribePublicIpv4PoolsPages(params,
  17292. // func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
  17293. // pageNum++
  17294. // fmt.Println(page)
  17295. // return pageNum <= 3
  17296. // })
  17297. //
  17298. func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
  17299. return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
  17300. }
  17301. // DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
  17302. // it takes a Context and allows setting request options on the pages.
  17303. //
  17304. // The context must be non-nil and will be used for request cancellation. If
  17305. // the context is nil a panic will occur. In the future the SDK may create
  17306. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17307. // for more information on using Contexts.
  17308. func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
  17309. p := request.Pagination{
  17310. NewRequest: func() (*request.Request, error) {
  17311. var inCpy *DescribePublicIpv4PoolsInput
  17312. if input != nil {
  17313. tmp := *input
  17314. inCpy = &tmp
  17315. }
  17316. req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
  17317. req.SetContext(ctx)
  17318. req.ApplyOptions(opts...)
  17319. return req, nil
  17320. },
  17321. }
  17322. for p.Next() {
  17323. if !fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) {
  17324. break
  17325. }
  17326. }
  17327. return p.Err()
  17328. }
  17329. const opDescribeRegions = "DescribeRegions"
  17330. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  17331. // client's request for the DescribeRegions operation. The "output" return
  17332. // value will be populated with the request's response once the request completes
  17333. // successfully.
  17334. //
  17335. // Use "Send" method on the returned Request to send the API call to the service.
  17336. // the "output" return value is not valid until after Send returns without error.
  17337. //
  17338. // See DescribeRegions for more information on using the DescribeRegions
  17339. // API call, and error handling.
  17340. //
  17341. // This method is useful when you want to inject custom logic or configuration
  17342. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17343. //
  17344. //
  17345. // // Example sending a request using the DescribeRegionsRequest method.
  17346. // req, resp := client.DescribeRegionsRequest(params)
  17347. //
  17348. // err := req.Send()
  17349. // if err == nil { // resp is now filled
  17350. // fmt.Println(resp)
  17351. // }
  17352. //
  17353. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  17354. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  17355. op := &request.Operation{
  17356. Name: opDescribeRegions,
  17357. HTTPMethod: "POST",
  17358. HTTPPath: "/",
  17359. }
  17360. if input == nil {
  17361. input = &DescribeRegionsInput{}
  17362. }
  17363. output = &DescribeRegionsOutput{}
  17364. req = c.newRequest(op, input, output)
  17365. return
  17366. }
  17367. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  17368. //
  17369. // Describes the Regions that are enabled for your account, or all Regions.
  17370. //
  17371. // For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
  17372. // (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  17373. //
  17374. // For information about enabling and disabling Regions for your account, see
  17375. // Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
  17376. // in the AWS General Reference.
  17377. //
  17378. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17379. // with awserr.Error's Code and Message methods to get detailed information about
  17380. // the error.
  17381. //
  17382. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17383. // API operation DescribeRegions for usage and error information.
  17384. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  17385. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  17386. req, out := c.DescribeRegionsRequest(input)
  17387. return out, req.Send()
  17388. }
  17389. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  17390. // the ability to pass a context and additional request options.
  17391. //
  17392. // See DescribeRegions for details on how to use this API operation.
  17393. //
  17394. // The context must be non-nil and will be used for request cancellation. If
  17395. // the context is nil a panic will occur. In the future the SDK may create
  17396. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17397. // for more information on using Contexts.
  17398. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  17399. req, out := c.DescribeRegionsRequest(input)
  17400. req.SetContext(ctx)
  17401. req.ApplyOptions(opts...)
  17402. return out, req.Send()
  17403. }
  17404. const opDescribeReservedInstances = "DescribeReservedInstances"
  17405. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  17406. // client's request for the DescribeReservedInstances operation. The "output" return
  17407. // value will be populated with the request's response once the request completes
  17408. // successfully.
  17409. //
  17410. // Use "Send" method on the returned Request to send the API call to the service.
  17411. // the "output" return value is not valid until after Send returns without error.
  17412. //
  17413. // See DescribeReservedInstances for more information on using the DescribeReservedInstances
  17414. // API call, and error handling.
  17415. //
  17416. // This method is useful when you want to inject custom logic or configuration
  17417. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17418. //
  17419. //
  17420. // // Example sending a request using the DescribeReservedInstancesRequest method.
  17421. // req, resp := client.DescribeReservedInstancesRequest(params)
  17422. //
  17423. // err := req.Send()
  17424. // if err == nil { // resp is now filled
  17425. // fmt.Println(resp)
  17426. // }
  17427. //
  17428. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  17429. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  17430. op := &request.Operation{
  17431. Name: opDescribeReservedInstances,
  17432. HTTPMethod: "POST",
  17433. HTTPPath: "/",
  17434. }
  17435. if input == nil {
  17436. input = &DescribeReservedInstancesInput{}
  17437. }
  17438. output = &DescribeReservedInstancesOutput{}
  17439. req = c.newRequest(op, input, output)
  17440. return
  17441. }
  17442. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  17443. //
  17444. // Describes one or more of the Reserved Instances that you purchased.
  17445. //
  17446. // For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  17447. // in the Amazon Elastic Compute Cloud User Guide.
  17448. //
  17449. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17450. // with awserr.Error's Code and Message methods to get detailed information about
  17451. // the error.
  17452. //
  17453. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17454. // API operation DescribeReservedInstances for usage and error information.
  17455. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  17456. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  17457. req, out := c.DescribeReservedInstancesRequest(input)
  17458. return out, req.Send()
  17459. }
  17460. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  17461. // the ability to pass a context and additional request options.
  17462. //
  17463. // See DescribeReservedInstances for details on how to use this API operation.
  17464. //
  17465. // The context must be non-nil and will be used for request cancellation. If
  17466. // the context is nil a panic will occur. In the future the SDK may create
  17467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17468. // for more information on using Contexts.
  17469. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  17470. req, out := c.DescribeReservedInstancesRequest(input)
  17471. req.SetContext(ctx)
  17472. req.ApplyOptions(opts...)
  17473. return out, req.Send()
  17474. }
  17475. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  17476. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  17477. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  17478. // value will be populated with the request's response once the request completes
  17479. // successfully.
  17480. //
  17481. // Use "Send" method on the returned Request to send the API call to the service.
  17482. // the "output" return value is not valid until after Send returns without error.
  17483. //
  17484. // See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
  17485. // API call, and error handling.
  17486. //
  17487. // This method is useful when you want to inject custom logic or configuration
  17488. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17489. //
  17490. //
  17491. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  17492. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  17493. //
  17494. // err := req.Send()
  17495. // if err == nil { // resp is now filled
  17496. // fmt.Println(resp)
  17497. // }
  17498. //
  17499. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  17500. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  17501. op := &request.Operation{
  17502. Name: opDescribeReservedInstancesListings,
  17503. HTTPMethod: "POST",
  17504. HTTPPath: "/",
  17505. }
  17506. if input == nil {
  17507. input = &DescribeReservedInstancesListingsInput{}
  17508. }
  17509. output = &DescribeReservedInstancesListingsOutput{}
  17510. req = c.newRequest(op, input, output)
  17511. return
  17512. }
  17513. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  17514. //
  17515. // Describes your account's Reserved Instance listings in the Reserved Instance
  17516. // Marketplace.
  17517. //
  17518. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  17519. // Instance capacity that they no longer need with buyers who want to purchase
  17520. // additional capacity. Reserved Instances bought and sold through the Reserved
  17521. // Instance Marketplace work like any other Reserved Instances.
  17522. //
  17523. // As a seller, you choose to list some or all of your Reserved Instances, and
  17524. // you specify the upfront price to receive for them. Your Reserved Instances
  17525. // are then listed in the Reserved Instance Marketplace and are available for
  17526. // purchase.
  17527. //
  17528. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  17529. // and the Marketplace matches what you're searching for with what's available.
  17530. // The Marketplace first sells the lowest priced Reserved Instances to you,
  17531. // and continues to sell available Reserved Instance listings to you until your
  17532. // demand is met. You are charged based on the total price of all of the listings
  17533. // that you purchase.
  17534. //
  17535. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  17536. // in the Amazon Elastic Compute Cloud User Guide.
  17537. //
  17538. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17539. // with awserr.Error's Code and Message methods to get detailed information about
  17540. // the error.
  17541. //
  17542. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17543. // API operation DescribeReservedInstancesListings for usage and error information.
  17544. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  17545. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  17546. req, out := c.DescribeReservedInstancesListingsRequest(input)
  17547. return out, req.Send()
  17548. }
  17549. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  17550. // the ability to pass a context and additional request options.
  17551. //
  17552. // See DescribeReservedInstancesListings for details on how to use this API operation.
  17553. //
  17554. // The context must be non-nil and will be used for request cancellation. If
  17555. // the context is nil a panic will occur. In the future the SDK may create
  17556. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17557. // for more information on using Contexts.
  17558. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  17559. req, out := c.DescribeReservedInstancesListingsRequest(input)
  17560. req.SetContext(ctx)
  17561. req.ApplyOptions(opts...)
  17562. return out, req.Send()
  17563. }
  17564. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  17565. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  17566. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  17567. // value will be populated with the request's response once the request completes
  17568. // successfully.
  17569. //
  17570. // Use "Send" method on the returned Request to send the API call to the service.
  17571. // the "output" return value is not valid until after Send returns without error.
  17572. //
  17573. // See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
  17574. // API call, and error handling.
  17575. //
  17576. // This method is useful when you want to inject custom logic or configuration
  17577. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17578. //
  17579. //
  17580. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  17581. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  17582. //
  17583. // err := req.Send()
  17584. // if err == nil { // resp is now filled
  17585. // fmt.Println(resp)
  17586. // }
  17587. //
  17588. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  17589. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  17590. op := &request.Operation{
  17591. Name: opDescribeReservedInstancesModifications,
  17592. HTTPMethod: "POST",
  17593. HTTPPath: "/",
  17594. Paginator: &request.Paginator{
  17595. InputTokens: []string{"NextToken"},
  17596. OutputTokens: []string{"NextToken"},
  17597. LimitToken: "",
  17598. TruncationToken: "",
  17599. },
  17600. }
  17601. if input == nil {
  17602. input = &DescribeReservedInstancesModificationsInput{}
  17603. }
  17604. output = &DescribeReservedInstancesModificationsOutput{}
  17605. req = c.newRequest(op, input, output)
  17606. return
  17607. }
  17608. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  17609. //
  17610. // Describes the modifications made to your Reserved Instances. If no parameter
  17611. // is specified, information about all your Reserved Instances modification
  17612. // requests is returned. If a modification ID is specified, only information
  17613. // about the specific modification is returned.
  17614. //
  17615. // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  17616. // in the Amazon Elastic Compute Cloud User Guide.
  17617. //
  17618. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17619. // with awserr.Error's Code and Message methods to get detailed information about
  17620. // the error.
  17621. //
  17622. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17623. // API operation DescribeReservedInstancesModifications for usage and error information.
  17624. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  17625. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  17626. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  17627. return out, req.Send()
  17628. }
  17629. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  17630. // the ability to pass a context and additional request options.
  17631. //
  17632. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  17633. //
  17634. // The context must be non-nil and will be used for request cancellation. If
  17635. // the context is nil a panic will occur. In the future the SDK may create
  17636. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17637. // for more information on using Contexts.
  17638. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  17639. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  17640. req.SetContext(ctx)
  17641. req.ApplyOptions(opts...)
  17642. return out, req.Send()
  17643. }
  17644. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  17645. // calling the "fn" function with the response data for each page. To stop
  17646. // iterating, return false from the fn function.
  17647. //
  17648. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  17649. //
  17650. // Note: This operation can generate multiple requests to a service.
  17651. //
  17652. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  17653. // pageNum := 0
  17654. // err := client.DescribeReservedInstancesModificationsPages(params,
  17655. // func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  17656. // pageNum++
  17657. // fmt.Println(page)
  17658. // return pageNum <= 3
  17659. // })
  17660. //
  17661. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  17662. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  17663. }
  17664. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  17665. // it takes a Context and allows setting request options on the pages.
  17666. //
  17667. // The context must be non-nil and will be used for request cancellation. If
  17668. // the context is nil a panic will occur. In the future the SDK may create
  17669. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17670. // for more information on using Contexts.
  17671. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  17672. p := request.Pagination{
  17673. NewRequest: func() (*request.Request, error) {
  17674. var inCpy *DescribeReservedInstancesModificationsInput
  17675. if input != nil {
  17676. tmp := *input
  17677. inCpy = &tmp
  17678. }
  17679. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  17680. req.SetContext(ctx)
  17681. req.ApplyOptions(opts...)
  17682. return req, nil
  17683. },
  17684. }
  17685. for p.Next() {
  17686. if !fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage()) {
  17687. break
  17688. }
  17689. }
  17690. return p.Err()
  17691. }
  17692. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  17693. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  17694. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  17695. // value will be populated with the request's response once the request completes
  17696. // successfully.
  17697. //
  17698. // Use "Send" method on the returned Request to send the API call to the service.
  17699. // the "output" return value is not valid until after Send returns without error.
  17700. //
  17701. // See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
  17702. // API call, and error handling.
  17703. //
  17704. // This method is useful when you want to inject custom logic or configuration
  17705. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17706. //
  17707. //
  17708. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  17709. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  17710. //
  17711. // err := req.Send()
  17712. // if err == nil { // resp is now filled
  17713. // fmt.Println(resp)
  17714. // }
  17715. //
  17716. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  17717. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  17718. op := &request.Operation{
  17719. Name: opDescribeReservedInstancesOfferings,
  17720. HTTPMethod: "POST",
  17721. HTTPPath: "/",
  17722. Paginator: &request.Paginator{
  17723. InputTokens: []string{"NextToken"},
  17724. OutputTokens: []string{"NextToken"},
  17725. LimitToken: "MaxResults",
  17726. TruncationToken: "",
  17727. },
  17728. }
  17729. if input == nil {
  17730. input = &DescribeReservedInstancesOfferingsInput{}
  17731. }
  17732. output = &DescribeReservedInstancesOfferingsOutput{}
  17733. req = c.newRequest(op, input, output)
  17734. return
  17735. }
  17736. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  17737. //
  17738. // Describes Reserved Instance offerings that are available for purchase. With
  17739. // Reserved Instances, you purchase the right to launch instances for a period
  17740. // of time. During that time period, you do not receive insufficient capacity
  17741. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  17742. // instances for the actual time used.
  17743. //
  17744. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  17745. // Marketplace, they will be excluded from these results. This is to ensure
  17746. // that you do not purchase your own Reserved Instances.
  17747. //
  17748. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  17749. // in the Amazon Elastic Compute Cloud User Guide.
  17750. //
  17751. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17752. // with awserr.Error's Code and Message methods to get detailed information about
  17753. // the error.
  17754. //
  17755. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17756. // API operation DescribeReservedInstancesOfferings for usage and error information.
  17757. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  17758. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  17759. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  17760. return out, req.Send()
  17761. }
  17762. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  17763. // the ability to pass a context and additional request options.
  17764. //
  17765. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  17766. //
  17767. // The context must be non-nil and will be used for request cancellation. If
  17768. // the context is nil a panic will occur. In the future the SDK may create
  17769. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17770. // for more information on using Contexts.
  17771. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  17772. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  17773. req.SetContext(ctx)
  17774. req.ApplyOptions(opts...)
  17775. return out, req.Send()
  17776. }
  17777. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  17778. // calling the "fn" function with the response data for each page. To stop
  17779. // iterating, return false from the fn function.
  17780. //
  17781. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  17782. //
  17783. // Note: This operation can generate multiple requests to a service.
  17784. //
  17785. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  17786. // pageNum := 0
  17787. // err := client.DescribeReservedInstancesOfferingsPages(params,
  17788. // func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  17789. // pageNum++
  17790. // fmt.Println(page)
  17791. // return pageNum <= 3
  17792. // })
  17793. //
  17794. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  17795. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  17796. }
  17797. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  17798. // it takes a Context and allows setting request options on the pages.
  17799. //
  17800. // The context must be non-nil and will be used for request cancellation. If
  17801. // the context is nil a panic will occur. In the future the SDK may create
  17802. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17803. // for more information on using Contexts.
  17804. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  17805. p := request.Pagination{
  17806. NewRequest: func() (*request.Request, error) {
  17807. var inCpy *DescribeReservedInstancesOfferingsInput
  17808. if input != nil {
  17809. tmp := *input
  17810. inCpy = &tmp
  17811. }
  17812. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  17813. req.SetContext(ctx)
  17814. req.ApplyOptions(opts...)
  17815. return req, nil
  17816. },
  17817. }
  17818. for p.Next() {
  17819. if !fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage()) {
  17820. break
  17821. }
  17822. }
  17823. return p.Err()
  17824. }
  17825. const opDescribeRouteTables = "DescribeRouteTables"
  17826. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  17827. // client's request for the DescribeRouteTables operation. The "output" return
  17828. // value will be populated with the request's response once the request completes
  17829. // successfully.
  17830. //
  17831. // Use "Send" method on the returned Request to send the API call to the service.
  17832. // the "output" return value is not valid until after Send returns without error.
  17833. //
  17834. // See DescribeRouteTables for more information on using the DescribeRouteTables
  17835. // API call, and error handling.
  17836. //
  17837. // This method is useful when you want to inject custom logic or configuration
  17838. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17839. //
  17840. //
  17841. // // Example sending a request using the DescribeRouteTablesRequest method.
  17842. // req, resp := client.DescribeRouteTablesRequest(params)
  17843. //
  17844. // err := req.Send()
  17845. // if err == nil { // resp is now filled
  17846. // fmt.Println(resp)
  17847. // }
  17848. //
  17849. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  17850. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  17851. op := &request.Operation{
  17852. Name: opDescribeRouteTables,
  17853. HTTPMethod: "POST",
  17854. HTTPPath: "/",
  17855. Paginator: &request.Paginator{
  17856. InputTokens: []string{"NextToken"},
  17857. OutputTokens: []string{"NextToken"},
  17858. LimitToken: "MaxResults",
  17859. TruncationToken: "",
  17860. },
  17861. }
  17862. if input == nil {
  17863. input = &DescribeRouteTablesInput{}
  17864. }
  17865. output = &DescribeRouteTablesOutput{}
  17866. req = c.newRequest(op, input, output)
  17867. return
  17868. }
  17869. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  17870. //
  17871. // Describes one or more of your route tables.
  17872. //
  17873. // Each subnet in your VPC must be associated with a route table. If a subnet
  17874. // is not explicitly associated with any route table, it is implicitly associated
  17875. // with the main route table. This command does not return the subnet ID for
  17876. // implicit associations.
  17877. //
  17878. // For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  17879. // in the Amazon Virtual Private Cloud User Guide.
  17880. //
  17881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17882. // with awserr.Error's Code and Message methods to get detailed information about
  17883. // the error.
  17884. //
  17885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17886. // API operation DescribeRouteTables for usage and error information.
  17887. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  17888. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  17889. req, out := c.DescribeRouteTablesRequest(input)
  17890. return out, req.Send()
  17891. }
  17892. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  17893. // the ability to pass a context and additional request options.
  17894. //
  17895. // See DescribeRouteTables for details on how to use this API operation.
  17896. //
  17897. // The context must be non-nil and will be used for request cancellation. If
  17898. // the context is nil a panic will occur. In the future the SDK may create
  17899. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17900. // for more information on using Contexts.
  17901. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  17902. req, out := c.DescribeRouteTablesRequest(input)
  17903. req.SetContext(ctx)
  17904. req.ApplyOptions(opts...)
  17905. return out, req.Send()
  17906. }
  17907. // DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
  17908. // calling the "fn" function with the response data for each page. To stop
  17909. // iterating, return false from the fn function.
  17910. //
  17911. // See DescribeRouteTables method for more information on how to use this operation.
  17912. //
  17913. // Note: This operation can generate multiple requests to a service.
  17914. //
  17915. // // Example iterating over at most 3 pages of a DescribeRouteTables operation.
  17916. // pageNum := 0
  17917. // err := client.DescribeRouteTablesPages(params,
  17918. // func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
  17919. // pageNum++
  17920. // fmt.Println(page)
  17921. // return pageNum <= 3
  17922. // })
  17923. //
  17924. func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
  17925. return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
  17926. }
  17927. // DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
  17928. // it takes a Context and allows setting request options on the pages.
  17929. //
  17930. // The context must be non-nil and will be used for request cancellation. If
  17931. // the context is nil a panic will occur. In the future the SDK may create
  17932. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17933. // for more information on using Contexts.
  17934. func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
  17935. p := request.Pagination{
  17936. NewRequest: func() (*request.Request, error) {
  17937. var inCpy *DescribeRouteTablesInput
  17938. if input != nil {
  17939. tmp := *input
  17940. inCpy = &tmp
  17941. }
  17942. req, _ := c.DescribeRouteTablesRequest(inCpy)
  17943. req.SetContext(ctx)
  17944. req.ApplyOptions(opts...)
  17945. return req, nil
  17946. },
  17947. }
  17948. for p.Next() {
  17949. if !fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage()) {
  17950. break
  17951. }
  17952. }
  17953. return p.Err()
  17954. }
  17955. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  17956. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  17957. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  17958. // value will be populated with the request's response once the request completes
  17959. // successfully.
  17960. //
  17961. // Use "Send" method on the returned Request to send the API call to the service.
  17962. // the "output" return value is not valid until after Send returns without error.
  17963. //
  17964. // See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
  17965. // API call, and error handling.
  17966. //
  17967. // This method is useful when you want to inject custom logic or configuration
  17968. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17969. //
  17970. //
  17971. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  17972. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  17973. //
  17974. // err := req.Send()
  17975. // if err == nil { // resp is now filled
  17976. // fmt.Println(resp)
  17977. // }
  17978. //
  17979. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  17980. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  17981. op := &request.Operation{
  17982. Name: opDescribeScheduledInstanceAvailability,
  17983. HTTPMethod: "POST",
  17984. HTTPPath: "/",
  17985. Paginator: &request.Paginator{
  17986. InputTokens: []string{"NextToken"},
  17987. OutputTokens: []string{"NextToken"},
  17988. LimitToken: "MaxResults",
  17989. TruncationToken: "",
  17990. },
  17991. }
  17992. if input == nil {
  17993. input = &DescribeScheduledInstanceAvailabilityInput{}
  17994. }
  17995. output = &DescribeScheduledInstanceAvailabilityOutput{}
  17996. req = c.newRequest(op, input, output)
  17997. return
  17998. }
  17999. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  18000. //
  18001. // Finds available schedules that meet the specified criteria.
  18002. //
  18003. // You can search for an available schedule no more than 3 months in advance.
  18004. // You must meet the minimum required duration of 1,200 hours per year. For
  18005. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  18006. // is 24 hours, and the minimum monthly schedule is 100 hours.
  18007. //
  18008. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  18009. // to purchase Scheduled Instances with that schedule.
  18010. //
  18011. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18012. // with awserr.Error's Code and Message methods to get detailed information about
  18013. // the error.
  18014. //
  18015. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18016. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  18017. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  18018. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  18019. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  18020. return out, req.Send()
  18021. }
  18022. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  18023. // the ability to pass a context and additional request options.
  18024. //
  18025. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  18026. //
  18027. // The context must be non-nil and will be used for request cancellation. If
  18028. // the context is nil a panic will occur. In the future the SDK may create
  18029. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18030. // for more information on using Contexts.
  18031. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  18032. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  18033. req.SetContext(ctx)
  18034. req.ApplyOptions(opts...)
  18035. return out, req.Send()
  18036. }
  18037. // DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
  18038. // calling the "fn" function with the response data for each page. To stop
  18039. // iterating, return false from the fn function.
  18040. //
  18041. // See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
  18042. //
  18043. // Note: This operation can generate multiple requests to a service.
  18044. //
  18045. // // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
  18046. // pageNum := 0
  18047. // err := client.DescribeScheduledInstanceAvailabilityPages(params,
  18048. // func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
  18049. // pageNum++
  18050. // fmt.Println(page)
  18051. // return pageNum <= 3
  18052. // })
  18053. //
  18054. func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
  18055. return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
  18056. }
  18057. // DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
  18058. // it takes a Context and allows setting request options on the pages.
  18059. //
  18060. // The context must be non-nil and will be used for request cancellation. If
  18061. // the context is nil a panic will occur. In the future the SDK may create
  18062. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18063. // for more information on using Contexts.
  18064. func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
  18065. p := request.Pagination{
  18066. NewRequest: func() (*request.Request, error) {
  18067. var inCpy *DescribeScheduledInstanceAvailabilityInput
  18068. if input != nil {
  18069. tmp := *input
  18070. inCpy = &tmp
  18071. }
  18072. req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
  18073. req.SetContext(ctx)
  18074. req.ApplyOptions(opts...)
  18075. return req, nil
  18076. },
  18077. }
  18078. for p.Next() {
  18079. if !fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) {
  18080. break
  18081. }
  18082. }
  18083. return p.Err()
  18084. }
  18085. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  18086. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  18087. // client's request for the DescribeScheduledInstances operation. The "output" return
  18088. // value will be populated with the request's response once the request completes
  18089. // successfully.
  18090. //
  18091. // Use "Send" method on the returned Request to send the API call to the service.
  18092. // the "output" return value is not valid until after Send returns without error.
  18093. //
  18094. // See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
  18095. // API call, and error handling.
  18096. //
  18097. // This method is useful when you want to inject custom logic or configuration
  18098. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18099. //
  18100. //
  18101. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  18102. // req, resp := client.DescribeScheduledInstancesRequest(params)
  18103. //
  18104. // err := req.Send()
  18105. // if err == nil { // resp is now filled
  18106. // fmt.Println(resp)
  18107. // }
  18108. //
  18109. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  18110. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  18111. op := &request.Operation{
  18112. Name: opDescribeScheduledInstances,
  18113. HTTPMethod: "POST",
  18114. HTTPPath: "/",
  18115. Paginator: &request.Paginator{
  18116. InputTokens: []string{"NextToken"},
  18117. OutputTokens: []string{"NextToken"},
  18118. LimitToken: "MaxResults",
  18119. TruncationToken: "",
  18120. },
  18121. }
  18122. if input == nil {
  18123. input = &DescribeScheduledInstancesInput{}
  18124. }
  18125. output = &DescribeScheduledInstancesOutput{}
  18126. req = c.newRequest(op, input, output)
  18127. return
  18128. }
  18129. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  18130. //
  18131. // Describes the specified Scheduled Instances or all your Scheduled Instances.
  18132. //
  18133. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18134. // with awserr.Error's Code and Message methods to get detailed information about
  18135. // the error.
  18136. //
  18137. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18138. // API operation DescribeScheduledInstances for usage and error information.
  18139. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  18140. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  18141. req, out := c.DescribeScheduledInstancesRequest(input)
  18142. return out, req.Send()
  18143. }
  18144. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  18145. // the ability to pass a context and additional request options.
  18146. //
  18147. // See DescribeScheduledInstances for details on how to use this API operation.
  18148. //
  18149. // The context must be non-nil and will be used for request cancellation. If
  18150. // the context is nil a panic will occur. In the future the SDK may create
  18151. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18152. // for more information on using Contexts.
  18153. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  18154. req, out := c.DescribeScheduledInstancesRequest(input)
  18155. req.SetContext(ctx)
  18156. req.ApplyOptions(opts...)
  18157. return out, req.Send()
  18158. }
  18159. // DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
  18160. // calling the "fn" function with the response data for each page. To stop
  18161. // iterating, return false from the fn function.
  18162. //
  18163. // See DescribeScheduledInstances method for more information on how to use this operation.
  18164. //
  18165. // Note: This operation can generate multiple requests to a service.
  18166. //
  18167. // // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
  18168. // pageNum := 0
  18169. // err := client.DescribeScheduledInstancesPages(params,
  18170. // func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
  18171. // pageNum++
  18172. // fmt.Println(page)
  18173. // return pageNum <= 3
  18174. // })
  18175. //
  18176. func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
  18177. return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  18178. }
  18179. // DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
  18180. // it takes a Context and allows setting request options on the pages.
  18181. //
  18182. // The context must be non-nil and will be used for request cancellation. If
  18183. // the context is nil a panic will occur. In the future the SDK may create
  18184. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18185. // for more information on using Contexts.
  18186. func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
  18187. p := request.Pagination{
  18188. NewRequest: func() (*request.Request, error) {
  18189. var inCpy *DescribeScheduledInstancesInput
  18190. if input != nil {
  18191. tmp := *input
  18192. inCpy = &tmp
  18193. }
  18194. req, _ := c.DescribeScheduledInstancesRequest(inCpy)
  18195. req.SetContext(ctx)
  18196. req.ApplyOptions(opts...)
  18197. return req, nil
  18198. },
  18199. }
  18200. for p.Next() {
  18201. if !fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) {
  18202. break
  18203. }
  18204. }
  18205. return p.Err()
  18206. }
  18207. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  18208. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  18209. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  18210. // value will be populated with the request's response once the request completes
  18211. // successfully.
  18212. //
  18213. // Use "Send" method on the returned Request to send the API call to the service.
  18214. // the "output" return value is not valid until after Send returns without error.
  18215. //
  18216. // See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
  18217. // API call, and error handling.
  18218. //
  18219. // This method is useful when you want to inject custom logic or configuration
  18220. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18221. //
  18222. //
  18223. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  18224. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  18225. //
  18226. // err := req.Send()
  18227. // if err == nil { // resp is now filled
  18228. // fmt.Println(resp)
  18229. // }
  18230. //
  18231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  18232. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  18233. op := &request.Operation{
  18234. Name: opDescribeSecurityGroupReferences,
  18235. HTTPMethod: "POST",
  18236. HTTPPath: "/",
  18237. }
  18238. if input == nil {
  18239. input = &DescribeSecurityGroupReferencesInput{}
  18240. }
  18241. output = &DescribeSecurityGroupReferencesOutput{}
  18242. req = c.newRequest(op, input, output)
  18243. return
  18244. }
  18245. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  18246. //
  18247. // [VPC only] Describes the VPCs on the other side of a VPC peering connection
  18248. // that are referencing the security groups you've specified in this request.
  18249. //
  18250. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18251. // with awserr.Error's Code and Message methods to get detailed information about
  18252. // the error.
  18253. //
  18254. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18255. // API operation DescribeSecurityGroupReferences for usage and error information.
  18256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  18257. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  18258. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  18259. return out, req.Send()
  18260. }
  18261. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  18262. // the ability to pass a context and additional request options.
  18263. //
  18264. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  18265. //
  18266. // The context must be non-nil and will be used for request cancellation. If
  18267. // the context is nil a panic will occur. In the future the SDK may create
  18268. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18269. // for more information on using Contexts.
  18270. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  18271. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  18272. req.SetContext(ctx)
  18273. req.ApplyOptions(opts...)
  18274. return out, req.Send()
  18275. }
  18276. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  18277. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  18278. // client's request for the DescribeSecurityGroups operation. The "output" return
  18279. // value will be populated with the request's response once the request completes
  18280. // successfully.
  18281. //
  18282. // Use "Send" method on the returned Request to send the API call to the service.
  18283. // the "output" return value is not valid until after Send returns without error.
  18284. //
  18285. // See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
  18286. // API call, and error handling.
  18287. //
  18288. // This method is useful when you want to inject custom logic or configuration
  18289. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18290. //
  18291. //
  18292. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  18293. // req, resp := client.DescribeSecurityGroupsRequest(params)
  18294. //
  18295. // err := req.Send()
  18296. // if err == nil { // resp is now filled
  18297. // fmt.Println(resp)
  18298. // }
  18299. //
  18300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  18301. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  18302. op := &request.Operation{
  18303. Name: opDescribeSecurityGroups,
  18304. HTTPMethod: "POST",
  18305. HTTPPath: "/",
  18306. Paginator: &request.Paginator{
  18307. InputTokens: []string{"NextToken"},
  18308. OutputTokens: []string{"NextToken"},
  18309. LimitToken: "MaxResults",
  18310. TruncationToken: "",
  18311. },
  18312. }
  18313. if input == nil {
  18314. input = &DescribeSecurityGroupsInput{}
  18315. }
  18316. output = &DescribeSecurityGroupsOutput{}
  18317. req = c.newRequest(op, input, output)
  18318. return
  18319. }
  18320. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  18321. //
  18322. // Describes the specified security groups or all of your security groups.
  18323. //
  18324. // A security group is for use with instances either in the EC2-Classic platform
  18325. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  18326. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  18327. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  18328. // VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  18329. // in the Amazon Virtual Private Cloud User Guide.
  18330. //
  18331. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18332. // with awserr.Error's Code and Message methods to get detailed information about
  18333. // the error.
  18334. //
  18335. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18336. // API operation DescribeSecurityGroups for usage and error information.
  18337. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  18338. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  18339. req, out := c.DescribeSecurityGroupsRequest(input)
  18340. return out, req.Send()
  18341. }
  18342. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  18343. // the ability to pass a context and additional request options.
  18344. //
  18345. // See DescribeSecurityGroups for details on how to use this API operation.
  18346. //
  18347. // The context must be non-nil and will be used for request cancellation. If
  18348. // the context is nil a panic will occur. In the future the SDK may create
  18349. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18350. // for more information on using Contexts.
  18351. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  18352. req, out := c.DescribeSecurityGroupsRequest(input)
  18353. req.SetContext(ctx)
  18354. req.ApplyOptions(opts...)
  18355. return out, req.Send()
  18356. }
  18357. // DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
  18358. // calling the "fn" function with the response data for each page. To stop
  18359. // iterating, return false from the fn function.
  18360. //
  18361. // See DescribeSecurityGroups method for more information on how to use this operation.
  18362. //
  18363. // Note: This operation can generate multiple requests to a service.
  18364. //
  18365. // // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
  18366. // pageNum := 0
  18367. // err := client.DescribeSecurityGroupsPages(params,
  18368. // func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
  18369. // pageNum++
  18370. // fmt.Println(page)
  18371. // return pageNum <= 3
  18372. // })
  18373. //
  18374. func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
  18375. return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  18376. }
  18377. // DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
  18378. // it takes a Context and allows setting request options on the pages.
  18379. //
  18380. // The context must be non-nil and will be used for request cancellation. If
  18381. // the context is nil a panic will occur. In the future the SDK may create
  18382. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18383. // for more information on using Contexts.
  18384. func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
  18385. p := request.Pagination{
  18386. NewRequest: func() (*request.Request, error) {
  18387. var inCpy *DescribeSecurityGroupsInput
  18388. if input != nil {
  18389. tmp := *input
  18390. inCpy = &tmp
  18391. }
  18392. req, _ := c.DescribeSecurityGroupsRequest(inCpy)
  18393. req.SetContext(ctx)
  18394. req.ApplyOptions(opts...)
  18395. return req, nil
  18396. },
  18397. }
  18398. for p.Next() {
  18399. if !fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage()) {
  18400. break
  18401. }
  18402. }
  18403. return p.Err()
  18404. }
  18405. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  18406. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  18407. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  18408. // value will be populated with the request's response once the request completes
  18409. // successfully.
  18410. //
  18411. // Use "Send" method on the returned Request to send the API call to the service.
  18412. // the "output" return value is not valid until after Send returns without error.
  18413. //
  18414. // See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
  18415. // API call, and error handling.
  18416. //
  18417. // This method is useful when you want to inject custom logic or configuration
  18418. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18419. //
  18420. //
  18421. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  18422. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  18423. //
  18424. // err := req.Send()
  18425. // if err == nil { // resp is now filled
  18426. // fmt.Println(resp)
  18427. // }
  18428. //
  18429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  18430. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  18431. op := &request.Operation{
  18432. Name: opDescribeSnapshotAttribute,
  18433. HTTPMethod: "POST",
  18434. HTTPPath: "/",
  18435. }
  18436. if input == nil {
  18437. input = &DescribeSnapshotAttributeInput{}
  18438. }
  18439. output = &DescribeSnapshotAttributeOutput{}
  18440. req = c.newRequest(op, input, output)
  18441. return
  18442. }
  18443. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  18444. //
  18445. // Describes the specified attribute of the specified snapshot. You can specify
  18446. // only one attribute at a time.
  18447. //
  18448. // For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  18449. // in the Amazon Elastic Compute Cloud User Guide.
  18450. //
  18451. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18452. // with awserr.Error's Code and Message methods to get detailed information about
  18453. // the error.
  18454. //
  18455. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18456. // API operation DescribeSnapshotAttribute for usage and error information.
  18457. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  18458. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  18459. req, out := c.DescribeSnapshotAttributeRequest(input)
  18460. return out, req.Send()
  18461. }
  18462. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  18463. // the ability to pass a context and additional request options.
  18464. //
  18465. // See DescribeSnapshotAttribute for details on how to use this API operation.
  18466. //
  18467. // The context must be non-nil and will be used for request cancellation. If
  18468. // the context is nil a panic will occur. In the future the SDK may create
  18469. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18470. // for more information on using Contexts.
  18471. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  18472. req, out := c.DescribeSnapshotAttributeRequest(input)
  18473. req.SetContext(ctx)
  18474. req.ApplyOptions(opts...)
  18475. return out, req.Send()
  18476. }
  18477. const opDescribeSnapshots = "DescribeSnapshots"
  18478. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  18479. // client's request for the DescribeSnapshots operation. The "output" return
  18480. // value will be populated with the request's response once the request completes
  18481. // successfully.
  18482. //
  18483. // Use "Send" method on the returned Request to send the API call to the service.
  18484. // the "output" return value is not valid until after Send returns without error.
  18485. //
  18486. // See DescribeSnapshots for more information on using the DescribeSnapshots
  18487. // API call, and error handling.
  18488. //
  18489. // This method is useful when you want to inject custom logic or configuration
  18490. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18491. //
  18492. //
  18493. // // Example sending a request using the DescribeSnapshotsRequest method.
  18494. // req, resp := client.DescribeSnapshotsRequest(params)
  18495. //
  18496. // err := req.Send()
  18497. // if err == nil { // resp is now filled
  18498. // fmt.Println(resp)
  18499. // }
  18500. //
  18501. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  18502. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  18503. op := &request.Operation{
  18504. Name: opDescribeSnapshots,
  18505. HTTPMethod: "POST",
  18506. HTTPPath: "/",
  18507. Paginator: &request.Paginator{
  18508. InputTokens: []string{"NextToken"},
  18509. OutputTokens: []string{"NextToken"},
  18510. LimitToken: "MaxResults",
  18511. TruncationToken: "",
  18512. },
  18513. }
  18514. if input == nil {
  18515. input = &DescribeSnapshotsInput{}
  18516. }
  18517. output = &DescribeSnapshotsOutput{}
  18518. req = c.newRequest(op, input, output)
  18519. return
  18520. }
  18521. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  18522. //
  18523. // Describes the specified EBS snapshots available to you or all of the EBS
  18524. // snapshots available to you.
  18525. //
  18526. // The snapshots available to you include public snapshots, private snapshots
  18527. // that you own, and private snapshots owned by other AWS accounts for which
  18528. // you have explicit create volume permissions.
  18529. //
  18530. // The create volume permissions fall into the following categories:
  18531. //
  18532. // * public: The owner of the snapshot granted create volume permissions
  18533. // for the snapshot to the all group. All AWS accounts have create volume
  18534. // permissions for these snapshots.
  18535. //
  18536. // * explicit: The owner of the snapshot granted create volume permissions
  18537. // to a specific AWS account.
  18538. //
  18539. // * implicit: An AWS account has implicit create volume permissions for
  18540. // all snapshots it owns.
  18541. //
  18542. // The list of snapshots returned can be modified by specifying snapshot IDs,
  18543. // snapshot owners, or AWS accounts with create volume permissions. If no options
  18544. // are specified, Amazon EC2 returns all snapshots for which you have create
  18545. // volume permissions.
  18546. //
  18547. // If you specify one or more snapshot IDs, only snapshots that have the specified
  18548. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  18549. // If you specify a snapshot ID for which you do not have access, it is not
  18550. // included in the returned results.
  18551. //
  18552. // If you specify one or more snapshot owners using the OwnerIds option, only
  18553. // snapshots from the specified owners and for which you have access are returned.
  18554. // The results can include the AWS account IDs of the specified owners, amazon
  18555. // for snapshots owned by Amazon, or self for snapshots that you own.
  18556. //
  18557. // If you specify a list of restorable users, only snapshots with create snapshot
  18558. // permissions for those users are returned. You can specify AWS account IDs
  18559. // (if you own the snapshots), self for snapshots for which you own or have
  18560. // explicit permissions, or all for public snapshots.
  18561. //
  18562. // If you are describing a long list of snapshots, you can paginate the output
  18563. // to make the list more manageable. The MaxResults parameter sets the maximum
  18564. // number of results returned in a single page. If the list of results exceeds
  18565. // your MaxResults value, then that number of results is returned along with
  18566. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  18567. // to retrieve the remaining results.
  18568. //
  18569. // For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  18570. // in the Amazon Elastic Compute Cloud User Guide.
  18571. //
  18572. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18573. // with awserr.Error's Code and Message methods to get detailed information about
  18574. // the error.
  18575. //
  18576. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18577. // API operation DescribeSnapshots for usage and error information.
  18578. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  18579. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  18580. req, out := c.DescribeSnapshotsRequest(input)
  18581. return out, req.Send()
  18582. }
  18583. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  18584. // the ability to pass a context and additional request options.
  18585. //
  18586. // See DescribeSnapshots for details on how to use this API operation.
  18587. //
  18588. // The context must be non-nil and will be used for request cancellation. If
  18589. // the context is nil a panic will occur. In the future the SDK may create
  18590. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18591. // for more information on using Contexts.
  18592. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  18593. req, out := c.DescribeSnapshotsRequest(input)
  18594. req.SetContext(ctx)
  18595. req.ApplyOptions(opts...)
  18596. return out, req.Send()
  18597. }
  18598. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  18599. // calling the "fn" function with the response data for each page. To stop
  18600. // iterating, return false from the fn function.
  18601. //
  18602. // See DescribeSnapshots method for more information on how to use this operation.
  18603. //
  18604. // Note: This operation can generate multiple requests to a service.
  18605. //
  18606. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  18607. // pageNum := 0
  18608. // err := client.DescribeSnapshotsPages(params,
  18609. // func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
  18610. // pageNum++
  18611. // fmt.Println(page)
  18612. // return pageNum <= 3
  18613. // })
  18614. //
  18615. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  18616. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  18617. }
  18618. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  18619. // it takes a Context and allows setting request options on the pages.
  18620. //
  18621. // The context must be non-nil and will be used for request cancellation. If
  18622. // the context is nil a panic will occur. In the future the SDK may create
  18623. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18624. // for more information on using Contexts.
  18625. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  18626. p := request.Pagination{
  18627. NewRequest: func() (*request.Request, error) {
  18628. var inCpy *DescribeSnapshotsInput
  18629. if input != nil {
  18630. tmp := *input
  18631. inCpy = &tmp
  18632. }
  18633. req, _ := c.DescribeSnapshotsRequest(inCpy)
  18634. req.SetContext(ctx)
  18635. req.ApplyOptions(opts...)
  18636. return req, nil
  18637. },
  18638. }
  18639. for p.Next() {
  18640. if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) {
  18641. break
  18642. }
  18643. }
  18644. return p.Err()
  18645. }
  18646. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  18647. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  18648. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  18649. // value will be populated with the request's response once the request completes
  18650. // successfully.
  18651. //
  18652. // Use "Send" method on the returned Request to send the API call to the service.
  18653. // the "output" return value is not valid until after Send returns without error.
  18654. //
  18655. // See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
  18656. // API call, and error handling.
  18657. //
  18658. // This method is useful when you want to inject custom logic or configuration
  18659. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18660. //
  18661. //
  18662. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  18663. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  18664. //
  18665. // err := req.Send()
  18666. // if err == nil { // resp is now filled
  18667. // fmt.Println(resp)
  18668. // }
  18669. //
  18670. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  18671. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  18672. op := &request.Operation{
  18673. Name: opDescribeSpotDatafeedSubscription,
  18674. HTTPMethod: "POST",
  18675. HTTPPath: "/",
  18676. }
  18677. if input == nil {
  18678. input = &DescribeSpotDatafeedSubscriptionInput{}
  18679. }
  18680. output = &DescribeSpotDatafeedSubscriptionOutput{}
  18681. req = c.newRequest(op, input, output)
  18682. return
  18683. }
  18684. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  18685. //
  18686. // Describes the data feed for Spot Instances. For more information, see Spot
  18687. // Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  18688. // in the Amazon EC2 User Guide for Linux Instances.
  18689. //
  18690. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18691. // with awserr.Error's Code and Message methods to get detailed information about
  18692. // the error.
  18693. //
  18694. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18695. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  18696. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  18697. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  18698. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  18699. return out, req.Send()
  18700. }
  18701. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  18702. // the ability to pass a context and additional request options.
  18703. //
  18704. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  18705. //
  18706. // The context must be non-nil and will be used for request cancellation. If
  18707. // the context is nil a panic will occur. In the future the SDK may create
  18708. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18709. // for more information on using Contexts.
  18710. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  18711. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  18712. req.SetContext(ctx)
  18713. req.ApplyOptions(opts...)
  18714. return out, req.Send()
  18715. }
  18716. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  18717. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  18718. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  18719. // value will be populated with the request's response once the request completes
  18720. // successfully.
  18721. //
  18722. // Use "Send" method on the returned Request to send the API call to the service.
  18723. // the "output" return value is not valid until after Send returns without error.
  18724. //
  18725. // See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
  18726. // API call, and error handling.
  18727. //
  18728. // This method is useful when you want to inject custom logic or configuration
  18729. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18730. //
  18731. //
  18732. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  18733. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  18734. //
  18735. // err := req.Send()
  18736. // if err == nil { // resp is now filled
  18737. // fmt.Println(resp)
  18738. // }
  18739. //
  18740. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  18741. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  18742. op := &request.Operation{
  18743. Name: opDescribeSpotFleetInstances,
  18744. HTTPMethod: "POST",
  18745. HTTPPath: "/",
  18746. }
  18747. if input == nil {
  18748. input = &DescribeSpotFleetInstancesInput{}
  18749. }
  18750. output = &DescribeSpotFleetInstancesOutput{}
  18751. req = c.newRequest(op, input, output)
  18752. return
  18753. }
  18754. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  18755. //
  18756. // Describes the running instances for the specified Spot Fleet.
  18757. //
  18758. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18759. // with awserr.Error's Code and Message methods to get detailed information about
  18760. // the error.
  18761. //
  18762. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18763. // API operation DescribeSpotFleetInstances for usage and error information.
  18764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  18765. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  18766. req, out := c.DescribeSpotFleetInstancesRequest(input)
  18767. return out, req.Send()
  18768. }
  18769. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  18770. // the ability to pass a context and additional request options.
  18771. //
  18772. // See DescribeSpotFleetInstances for details on how to use this API operation.
  18773. //
  18774. // The context must be non-nil and will be used for request cancellation. If
  18775. // the context is nil a panic will occur. In the future the SDK may create
  18776. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18777. // for more information on using Contexts.
  18778. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  18779. req, out := c.DescribeSpotFleetInstancesRequest(input)
  18780. req.SetContext(ctx)
  18781. req.ApplyOptions(opts...)
  18782. return out, req.Send()
  18783. }
  18784. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  18785. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  18786. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  18787. // value will be populated with the request's response once the request completes
  18788. // successfully.
  18789. //
  18790. // Use "Send" method on the returned Request to send the API call to the service.
  18791. // the "output" return value is not valid until after Send returns without error.
  18792. //
  18793. // See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
  18794. // API call, and error handling.
  18795. //
  18796. // This method is useful when you want to inject custom logic or configuration
  18797. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18798. //
  18799. //
  18800. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  18801. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  18802. //
  18803. // err := req.Send()
  18804. // if err == nil { // resp is now filled
  18805. // fmt.Println(resp)
  18806. // }
  18807. //
  18808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  18809. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  18810. op := &request.Operation{
  18811. Name: opDescribeSpotFleetRequestHistory,
  18812. HTTPMethod: "POST",
  18813. HTTPPath: "/",
  18814. }
  18815. if input == nil {
  18816. input = &DescribeSpotFleetRequestHistoryInput{}
  18817. }
  18818. output = &DescribeSpotFleetRequestHistoryOutput{}
  18819. req = c.newRequest(op, input, output)
  18820. return
  18821. }
  18822. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  18823. //
  18824. // Describes the events for the specified Spot Fleet request during the specified
  18825. // time.
  18826. //
  18827. // Spot Fleet events are delayed by up to 30 seconds before they can be described.
  18828. // This ensures that you can query by the last evaluated time and not miss a
  18829. // recorded event. Spot Fleet events are available for 48 hours.
  18830. //
  18831. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18832. // with awserr.Error's Code and Message methods to get detailed information about
  18833. // the error.
  18834. //
  18835. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18836. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  18837. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  18838. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  18839. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  18840. return out, req.Send()
  18841. }
  18842. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  18843. // the ability to pass a context and additional request options.
  18844. //
  18845. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  18846. //
  18847. // The context must be non-nil and will be used for request cancellation. If
  18848. // the context is nil a panic will occur. In the future the SDK may create
  18849. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18850. // for more information on using Contexts.
  18851. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  18852. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  18853. req.SetContext(ctx)
  18854. req.ApplyOptions(opts...)
  18855. return out, req.Send()
  18856. }
  18857. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  18858. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  18859. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  18860. // value will be populated with the request's response once the request completes
  18861. // successfully.
  18862. //
  18863. // Use "Send" method on the returned Request to send the API call to the service.
  18864. // the "output" return value is not valid until after Send returns without error.
  18865. //
  18866. // See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
  18867. // API call, and error handling.
  18868. //
  18869. // This method is useful when you want to inject custom logic or configuration
  18870. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18871. //
  18872. //
  18873. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  18874. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  18875. //
  18876. // err := req.Send()
  18877. // if err == nil { // resp is now filled
  18878. // fmt.Println(resp)
  18879. // }
  18880. //
  18881. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  18882. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  18883. op := &request.Operation{
  18884. Name: opDescribeSpotFleetRequests,
  18885. HTTPMethod: "POST",
  18886. HTTPPath: "/",
  18887. Paginator: &request.Paginator{
  18888. InputTokens: []string{"NextToken"},
  18889. OutputTokens: []string{"NextToken"},
  18890. LimitToken: "MaxResults",
  18891. TruncationToken: "",
  18892. },
  18893. }
  18894. if input == nil {
  18895. input = &DescribeSpotFleetRequestsInput{}
  18896. }
  18897. output = &DescribeSpotFleetRequestsOutput{}
  18898. req = c.newRequest(op, input, output)
  18899. return
  18900. }
  18901. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  18902. //
  18903. // Describes your Spot Fleet requests.
  18904. //
  18905. // Spot Fleet requests are deleted 48 hours after they are canceled and their
  18906. // instances are terminated.
  18907. //
  18908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18909. // with awserr.Error's Code and Message methods to get detailed information about
  18910. // the error.
  18911. //
  18912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18913. // API operation DescribeSpotFleetRequests for usage and error information.
  18914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  18915. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  18916. req, out := c.DescribeSpotFleetRequestsRequest(input)
  18917. return out, req.Send()
  18918. }
  18919. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  18920. // the ability to pass a context and additional request options.
  18921. //
  18922. // See DescribeSpotFleetRequests for details on how to use this API operation.
  18923. //
  18924. // The context must be non-nil and will be used for request cancellation. If
  18925. // the context is nil a panic will occur. In the future the SDK may create
  18926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18927. // for more information on using Contexts.
  18928. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  18929. req, out := c.DescribeSpotFleetRequestsRequest(input)
  18930. req.SetContext(ctx)
  18931. req.ApplyOptions(opts...)
  18932. return out, req.Send()
  18933. }
  18934. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  18935. // calling the "fn" function with the response data for each page. To stop
  18936. // iterating, return false from the fn function.
  18937. //
  18938. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  18939. //
  18940. // Note: This operation can generate multiple requests to a service.
  18941. //
  18942. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  18943. // pageNum := 0
  18944. // err := client.DescribeSpotFleetRequestsPages(params,
  18945. // func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  18946. // pageNum++
  18947. // fmt.Println(page)
  18948. // return pageNum <= 3
  18949. // })
  18950. //
  18951. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  18952. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  18953. }
  18954. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  18955. // it takes a Context and allows setting request options on the pages.
  18956. //
  18957. // The context must be non-nil and will be used for request cancellation. If
  18958. // the context is nil a panic will occur. In the future the SDK may create
  18959. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18960. // for more information on using Contexts.
  18961. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  18962. p := request.Pagination{
  18963. NewRequest: func() (*request.Request, error) {
  18964. var inCpy *DescribeSpotFleetRequestsInput
  18965. if input != nil {
  18966. tmp := *input
  18967. inCpy = &tmp
  18968. }
  18969. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  18970. req.SetContext(ctx)
  18971. req.ApplyOptions(opts...)
  18972. return req, nil
  18973. },
  18974. }
  18975. for p.Next() {
  18976. if !fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) {
  18977. break
  18978. }
  18979. }
  18980. return p.Err()
  18981. }
  18982. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  18983. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  18984. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  18985. // value will be populated with the request's response once the request completes
  18986. // successfully.
  18987. //
  18988. // Use "Send" method on the returned Request to send the API call to the service.
  18989. // the "output" return value is not valid until after Send returns without error.
  18990. //
  18991. // See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
  18992. // API call, and error handling.
  18993. //
  18994. // This method is useful when you want to inject custom logic or configuration
  18995. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18996. //
  18997. //
  18998. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  18999. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  19000. //
  19001. // err := req.Send()
  19002. // if err == nil { // resp is now filled
  19003. // fmt.Println(resp)
  19004. // }
  19005. //
  19006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  19007. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  19008. op := &request.Operation{
  19009. Name: opDescribeSpotInstanceRequests,
  19010. HTTPMethod: "POST",
  19011. HTTPPath: "/",
  19012. Paginator: &request.Paginator{
  19013. InputTokens: []string{"NextToken"},
  19014. OutputTokens: []string{"NextToken"},
  19015. LimitToken: "MaxResults",
  19016. TruncationToken: "",
  19017. },
  19018. }
  19019. if input == nil {
  19020. input = &DescribeSpotInstanceRequestsInput{}
  19021. }
  19022. output = &DescribeSpotInstanceRequestsOutput{}
  19023. req = c.newRequest(op, input, output)
  19024. return
  19025. }
  19026. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  19027. //
  19028. // Describes the specified Spot Instance requests.
  19029. //
  19030. // You can use DescribeSpotInstanceRequests to find a running Spot Instance
  19031. // by examining the response. If the status of the Spot Instance is fulfilled,
  19032. // the instance ID appears in the response and contains the identifier of the
  19033. // instance. Alternatively, you can use DescribeInstances with a filter to look
  19034. // for instances where the instance lifecycle is spot.
  19035. //
  19036. // We recommend that you set MaxResults to a value between 5 and 1000 to limit
  19037. // the number of results returned. This paginates the output, which makes the
  19038. // list more manageable and returns the results faster. If the list of results
  19039. // exceeds your MaxResults value, then that number of results is returned along
  19040. // with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
  19041. // request to retrieve the remaining results.
  19042. //
  19043. // Spot Instance requests are deleted four hours after they are canceled and
  19044. // their instances are terminated.
  19045. //
  19046. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19047. // with awserr.Error's Code and Message methods to get detailed information about
  19048. // the error.
  19049. //
  19050. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19051. // API operation DescribeSpotInstanceRequests for usage and error information.
  19052. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  19053. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  19054. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  19055. return out, req.Send()
  19056. }
  19057. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  19058. // the ability to pass a context and additional request options.
  19059. //
  19060. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  19061. //
  19062. // The context must be non-nil and will be used for request cancellation. If
  19063. // the context is nil a panic will occur. In the future the SDK may create
  19064. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19065. // for more information on using Contexts.
  19066. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  19067. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  19068. req.SetContext(ctx)
  19069. req.ApplyOptions(opts...)
  19070. return out, req.Send()
  19071. }
  19072. // DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
  19073. // calling the "fn" function with the response data for each page. To stop
  19074. // iterating, return false from the fn function.
  19075. //
  19076. // See DescribeSpotInstanceRequests method for more information on how to use this operation.
  19077. //
  19078. // Note: This operation can generate multiple requests to a service.
  19079. //
  19080. // // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
  19081. // pageNum := 0
  19082. // err := client.DescribeSpotInstanceRequestsPages(params,
  19083. // func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
  19084. // pageNum++
  19085. // fmt.Println(page)
  19086. // return pageNum <= 3
  19087. // })
  19088. //
  19089. func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
  19090. return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  19091. }
  19092. // DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
  19093. // it takes a Context and allows setting request options on the pages.
  19094. //
  19095. // The context must be non-nil and will be used for request cancellation. If
  19096. // the context is nil a panic will occur. In the future the SDK may create
  19097. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19098. // for more information on using Contexts.
  19099. func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
  19100. p := request.Pagination{
  19101. NewRequest: func() (*request.Request, error) {
  19102. var inCpy *DescribeSpotInstanceRequestsInput
  19103. if input != nil {
  19104. tmp := *input
  19105. inCpy = &tmp
  19106. }
  19107. req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
  19108. req.SetContext(ctx)
  19109. req.ApplyOptions(opts...)
  19110. return req, nil
  19111. },
  19112. }
  19113. for p.Next() {
  19114. if !fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) {
  19115. break
  19116. }
  19117. }
  19118. return p.Err()
  19119. }
  19120. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  19121. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  19122. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  19123. // value will be populated with the request's response once the request completes
  19124. // successfully.
  19125. //
  19126. // Use "Send" method on the returned Request to send the API call to the service.
  19127. // the "output" return value is not valid until after Send returns without error.
  19128. //
  19129. // See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
  19130. // API call, and error handling.
  19131. //
  19132. // This method is useful when you want to inject custom logic or configuration
  19133. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19134. //
  19135. //
  19136. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  19137. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  19138. //
  19139. // err := req.Send()
  19140. // if err == nil { // resp is now filled
  19141. // fmt.Println(resp)
  19142. // }
  19143. //
  19144. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  19145. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  19146. op := &request.Operation{
  19147. Name: opDescribeSpotPriceHistory,
  19148. HTTPMethod: "POST",
  19149. HTTPPath: "/",
  19150. Paginator: &request.Paginator{
  19151. InputTokens: []string{"NextToken"},
  19152. OutputTokens: []string{"NextToken"},
  19153. LimitToken: "MaxResults",
  19154. TruncationToken: "",
  19155. },
  19156. }
  19157. if input == nil {
  19158. input = &DescribeSpotPriceHistoryInput{}
  19159. }
  19160. output = &DescribeSpotPriceHistoryOutput{}
  19161. req = c.newRequest(op, input, output)
  19162. return
  19163. }
  19164. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  19165. //
  19166. // Describes the Spot price history. For more information, see Spot Instance
  19167. // Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  19168. // in the Amazon EC2 User Guide for Linux Instances.
  19169. //
  19170. // When you specify a start and end time, this operation returns the prices
  19171. // of the instance types within the time range that you specified and the time
  19172. // when the price changed. The price is valid within the time period that you
  19173. // specified; the response merely indicates the last time that the price changed.
  19174. //
  19175. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19176. // with awserr.Error's Code and Message methods to get detailed information about
  19177. // the error.
  19178. //
  19179. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19180. // API operation DescribeSpotPriceHistory for usage and error information.
  19181. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  19182. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  19183. req, out := c.DescribeSpotPriceHistoryRequest(input)
  19184. return out, req.Send()
  19185. }
  19186. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  19187. // the ability to pass a context and additional request options.
  19188. //
  19189. // See DescribeSpotPriceHistory for details on how to use this API operation.
  19190. //
  19191. // The context must be non-nil and will be used for request cancellation. If
  19192. // the context is nil a panic will occur. In the future the SDK may create
  19193. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19194. // for more information on using Contexts.
  19195. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  19196. req, out := c.DescribeSpotPriceHistoryRequest(input)
  19197. req.SetContext(ctx)
  19198. req.ApplyOptions(opts...)
  19199. return out, req.Send()
  19200. }
  19201. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  19202. // calling the "fn" function with the response data for each page. To stop
  19203. // iterating, return false from the fn function.
  19204. //
  19205. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  19206. //
  19207. // Note: This operation can generate multiple requests to a service.
  19208. //
  19209. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  19210. // pageNum := 0
  19211. // err := client.DescribeSpotPriceHistoryPages(params,
  19212. // func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  19213. // pageNum++
  19214. // fmt.Println(page)
  19215. // return pageNum <= 3
  19216. // })
  19217. //
  19218. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  19219. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  19220. }
  19221. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  19222. // it takes a Context and allows setting request options on the pages.
  19223. //
  19224. // The context must be non-nil and will be used for request cancellation. If
  19225. // the context is nil a panic will occur. In the future the SDK may create
  19226. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19227. // for more information on using Contexts.
  19228. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  19229. p := request.Pagination{
  19230. NewRequest: func() (*request.Request, error) {
  19231. var inCpy *DescribeSpotPriceHistoryInput
  19232. if input != nil {
  19233. tmp := *input
  19234. inCpy = &tmp
  19235. }
  19236. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  19237. req.SetContext(ctx)
  19238. req.ApplyOptions(opts...)
  19239. return req, nil
  19240. },
  19241. }
  19242. for p.Next() {
  19243. if !fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) {
  19244. break
  19245. }
  19246. }
  19247. return p.Err()
  19248. }
  19249. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  19250. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  19251. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  19252. // value will be populated with the request's response once the request completes
  19253. // successfully.
  19254. //
  19255. // Use "Send" method on the returned Request to send the API call to the service.
  19256. // the "output" return value is not valid until after Send returns without error.
  19257. //
  19258. // See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
  19259. // API call, and error handling.
  19260. //
  19261. // This method is useful when you want to inject custom logic or configuration
  19262. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19263. //
  19264. //
  19265. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  19266. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  19267. //
  19268. // err := req.Send()
  19269. // if err == nil { // resp is now filled
  19270. // fmt.Println(resp)
  19271. // }
  19272. //
  19273. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  19274. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  19275. op := &request.Operation{
  19276. Name: opDescribeStaleSecurityGroups,
  19277. HTTPMethod: "POST",
  19278. HTTPPath: "/",
  19279. Paginator: &request.Paginator{
  19280. InputTokens: []string{"NextToken"},
  19281. OutputTokens: []string{"NextToken"},
  19282. LimitToken: "MaxResults",
  19283. TruncationToken: "",
  19284. },
  19285. }
  19286. if input == nil {
  19287. input = &DescribeStaleSecurityGroupsInput{}
  19288. }
  19289. output = &DescribeStaleSecurityGroupsOutput{}
  19290. req = c.newRequest(op, input, output)
  19291. return
  19292. }
  19293. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  19294. //
  19295. // [VPC only] Describes the stale security group rules for security groups in
  19296. // a specified VPC. Rules are stale when they reference a deleted security group
  19297. // in a peer VPC, or a security group in a peer VPC for which the VPC peering
  19298. // connection has been deleted.
  19299. //
  19300. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19301. // with awserr.Error's Code and Message methods to get detailed information about
  19302. // the error.
  19303. //
  19304. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19305. // API operation DescribeStaleSecurityGroups for usage and error information.
  19306. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  19307. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  19308. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  19309. return out, req.Send()
  19310. }
  19311. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  19312. // the ability to pass a context and additional request options.
  19313. //
  19314. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  19315. //
  19316. // The context must be non-nil and will be used for request cancellation. If
  19317. // the context is nil a panic will occur. In the future the SDK may create
  19318. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19319. // for more information on using Contexts.
  19320. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  19321. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  19322. req.SetContext(ctx)
  19323. req.ApplyOptions(opts...)
  19324. return out, req.Send()
  19325. }
  19326. // DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
  19327. // calling the "fn" function with the response data for each page. To stop
  19328. // iterating, return false from the fn function.
  19329. //
  19330. // See DescribeStaleSecurityGroups method for more information on how to use this operation.
  19331. //
  19332. // Note: This operation can generate multiple requests to a service.
  19333. //
  19334. // // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
  19335. // pageNum := 0
  19336. // err := client.DescribeStaleSecurityGroupsPages(params,
  19337. // func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
  19338. // pageNum++
  19339. // fmt.Println(page)
  19340. // return pageNum <= 3
  19341. // })
  19342. //
  19343. func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
  19344. return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  19345. }
  19346. // DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
  19347. // it takes a Context and allows setting request options on the pages.
  19348. //
  19349. // The context must be non-nil and will be used for request cancellation. If
  19350. // the context is nil a panic will occur. In the future the SDK may create
  19351. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19352. // for more information on using Contexts.
  19353. func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
  19354. p := request.Pagination{
  19355. NewRequest: func() (*request.Request, error) {
  19356. var inCpy *DescribeStaleSecurityGroupsInput
  19357. if input != nil {
  19358. tmp := *input
  19359. inCpy = &tmp
  19360. }
  19361. req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
  19362. req.SetContext(ctx)
  19363. req.ApplyOptions(opts...)
  19364. return req, nil
  19365. },
  19366. }
  19367. for p.Next() {
  19368. if !fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) {
  19369. break
  19370. }
  19371. }
  19372. return p.Err()
  19373. }
  19374. const opDescribeSubnets = "DescribeSubnets"
  19375. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  19376. // client's request for the DescribeSubnets operation. The "output" return
  19377. // value will be populated with the request's response once the request completes
  19378. // successfully.
  19379. //
  19380. // Use "Send" method on the returned Request to send the API call to the service.
  19381. // the "output" return value is not valid until after Send returns without error.
  19382. //
  19383. // See DescribeSubnets for more information on using the DescribeSubnets
  19384. // API call, and error handling.
  19385. //
  19386. // This method is useful when you want to inject custom logic or configuration
  19387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19388. //
  19389. //
  19390. // // Example sending a request using the DescribeSubnetsRequest method.
  19391. // req, resp := client.DescribeSubnetsRequest(params)
  19392. //
  19393. // err := req.Send()
  19394. // if err == nil { // resp is now filled
  19395. // fmt.Println(resp)
  19396. // }
  19397. //
  19398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  19399. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  19400. op := &request.Operation{
  19401. Name: opDescribeSubnets,
  19402. HTTPMethod: "POST",
  19403. HTTPPath: "/",
  19404. Paginator: &request.Paginator{
  19405. InputTokens: []string{"NextToken"},
  19406. OutputTokens: []string{"NextToken"},
  19407. LimitToken: "MaxResults",
  19408. TruncationToken: "",
  19409. },
  19410. }
  19411. if input == nil {
  19412. input = &DescribeSubnetsInput{}
  19413. }
  19414. output = &DescribeSubnetsOutput{}
  19415. req = c.newRequest(op, input, output)
  19416. return
  19417. }
  19418. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  19419. //
  19420. // Describes one or more of your subnets.
  19421. //
  19422. // For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
  19423. // in the Amazon Virtual Private Cloud User Guide.
  19424. //
  19425. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19426. // with awserr.Error's Code and Message methods to get detailed information about
  19427. // the error.
  19428. //
  19429. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19430. // API operation DescribeSubnets for usage and error information.
  19431. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  19432. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  19433. req, out := c.DescribeSubnetsRequest(input)
  19434. return out, req.Send()
  19435. }
  19436. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  19437. // the ability to pass a context and additional request options.
  19438. //
  19439. // See DescribeSubnets for details on how to use this API operation.
  19440. //
  19441. // The context must be non-nil and will be used for request cancellation. If
  19442. // the context is nil a panic will occur. In the future the SDK may create
  19443. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19444. // for more information on using Contexts.
  19445. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  19446. req, out := c.DescribeSubnetsRequest(input)
  19447. req.SetContext(ctx)
  19448. req.ApplyOptions(opts...)
  19449. return out, req.Send()
  19450. }
  19451. // DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
  19452. // calling the "fn" function with the response data for each page. To stop
  19453. // iterating, return false from the fn function.
  19454. //
  19455. // See DescribeSubnets method for more information on how to use this operation.
  19456. //
  19457. // Note: This operation can generate multiple requests to a service.
  19458. //
  19459. // // Example iterating over at most 3 pages of a DescribeSubnets operation.
  19460. // pageNum := 0
  19461. // err := client.DescribeSubnetsPages(params,
  19462. // func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
  19463. // pageNum++
  19464. // fmt.Println(page)
  19465. // return pageNum <= 3
  19466. // })
  19467. //
  19468. func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
  19469. return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
  19470. }
  19471. // DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
  19472. // it takes a Context and allows setting request options on the pages.
  19473. //
  19474. // The context must be non-nil and will be used for request cancellation. If
  19475. // the context is nil a panic will occur. In the future the SDK may create
  19476. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19477. // for more information on using Contexts.
  19478. func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
  19479. p := request.Pagination{
  19480. NewRequest: func() (*request.Request, error) {
  19481. var inCpy *DescribeSubnetsInput
  19482. if input != nil {
  19483. tmp := *input
  19484. inCpy = &tmp
  19485. }
  19486. req, _ := c.DescribeSubnetsRequest(inCpy)
  19487. req.SetContext(ctx)
  19488. req.ApplyOptions(opts...)
  19489. return req, nil
  19490. },
  19491. }
  19492. for p.Next() {
  19493. if !fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) {
  19494. break
  19495. }
  19496. }
  19497. return p.Err()
  19498. }
  19499. const opDescribeTags = "DescribeTags"
  19500. // DescribeTagsRequest generates a "aws/request.Request" representing the
  19501. // client's request for the DescribeTags operation. The "output" return
  19502. // value will be populated with the request's response once the request completes
  19503. // successfully.
  19504. //
  19505. // Use "Send" method on the returned Request to send the API call to the service.
  19506. // the "output" return value is not valid until after Send returns without error.
  19507. //
  19508. // See DescribeTags for more information on using the DescribeTags
  19509. // API call, and error handling.
  19510. //
  19511. // This method is useful when you want to inject custom logic or configuration
  19512. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19513. //
  19514. //
  19515. // // Example sending a request using the DescribeTagsRequest method.
  19516. // req, resp := client.DescribeTagsRequest(params)
  19517. //
  19518. // err := req.Send()
  19519. // if err == nil { // resp is now filled
  19520. // fmt.Println(resp)
  19521. // }
  19522. //
  19523. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  19524. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  19525. op := &request.Operation{
  19526. Name: opDescribeTags,
  19527. HTTPMethod: "POST",
  19528. HTTPPath: "/",
  19529. Paginator: &request.Paginator{
  19530. InputTokens: []string{"NextToken"},
  19531. OutputTokens: []string{"NextToken"},
  19532. LimitToken: "MaxResults",
  19533. TruncationToken: "",
  19534. },
  19535. }
  19536. if input == nil {
  19537. input = &DescribeTagsInput{}
  19538. }
  19539. output = &DescribeTagsOutput{}
  19540. req = c.newRequest(op, input, output)
  19541. return
  19542. }
  19543. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  19544. //
  19545. // Describes the specified tags for your EC2 resources.
  19546. //
  19547. // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  19548. // in the Amazon Elastic Compute Cloud User Guide.
  19549. //
  19550. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19551. // with awserr.Error's Code and Message methods to get detailed information about
  19552. // the error.
  19553. //
  19554. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19555. // API operation DescribeTags for usage and error information.
  19556. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  19557. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  19558. req, out := c.DescribeTagsRequest(input)
  19559. return out, req.Send()
  19560. }
  19561. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  19562. // the ability to pass a context and additional request options.
  19563. //
  19564. // See DescribeTags for details on how to use this API operation.
  19565. //
  19566. // The context must be non-nil and will be used for request cancellation. If
  19567. // the context is nil a panic will occur. In the future the SDK may create
  19568. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19569. // for more information on using Contexts.
  19570. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  19571. req, out := c.DescribeTagsRequest(input)
  19572. req.SetContext(ctx)
  19573. req.ApplyOptions(opts...)
  19574. return out, req.Send()
  19575. }
  19576. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  19577. // calling the "fn" function with the response data for each page. To stop
  19578. // iterating, return false from the fn function.
  19579. //
  19580. // See DescribeTags method for more information on how to use this operation.
  19581. //
  19582. // Note: This operation can generate multiple requests to a service.
  19583. //
  19584. // // Example iterating over at most 3 pages of a DescribeTags operation.
  19585. // pageNum := 0
  19586. // err := client.DescribeTagsPages(params,
  19587. // func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
  19588. // pageNum++
  19589. // fmt.Println(page)
  19590. // return pageNum <= 3
  19591. // })
  19592. //
  19593. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  19594. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  19595. }
  19596. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  19597. // it takes a Context and allows setting request options on the pages.
  19598. //
  19599. // The context must be non-nil and will be used for request cancellation. If
  19600. // the context is nil a panic will occur. In the future the SDK may create
  19601. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19602. // for more information on using Contexts.
  19603. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  19604. p := request.Pagination{
  19605. NewRequest: func() (*request.Request, error) {
  19606. var inCpy *DescribeTagsInput
  19607. if input != nil {
  19608. tmp := *input
  19609. inCpy = &tmp
  19610. }
  19611. req, _ := c.DescribeTagsRequest(inCpy)
  19612. req.SetContext(ctx)
  19613. req.ApplyOptions(opts...)
  19614. return req, nil
  19615. },
  19616. }
  19617. for p.Next() {
  19618. if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
  19619. break
  19620. }
  19621. }
  19622. return p.Err()
  19623. }
  19624. const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters"
  19625. // DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the
  19626. // client's request for the DescribeTrafficMirrorFilters operation. The "output" return
  19627. // value will be populated with the request's response once the request completes
  19628. // successfully.
  19629. //
  19630. // Use "Send" method on the returned Request to send the API call to the service.
  19631. // the "output" return value is not valid until after Send returns without error.
  19632. //
  19633. // See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters
  19634. // API call, and error handling.
  19635. //
  19636. // This method is useful when you want to inject custom logic or configuration
  19637. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19638. //
  19639. //
  19640. // // Example sending a request using the DescribeTrafficMirrorFiltersRequest method.
  19641. // req, resp := client.DescribeTrafficMirrorFiltersRequest(params)
  19642. //
  19643. // err := req.Send()
  19644. // if err == nil { // resp is now filled
  19645. // fmt.Println(resp)
  19646. // }
  19647. //
  19648. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
  19649. func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) {
  19650. op := &request.Operation{
  19651. Name: opDescribeTrafficMirrorFilters,
  19652. HTTPMethod: "POST",
  19653. HTTPPath: "/",
  19654. Paginator: &request.Paginator{
  19655. InputTokens: []string{"NextToken"},
  19656. OutputTokens: []string{"NextToken"},
  19657. LimitToken: "MaxResults",
  19658. TruncationToken: "",
  19659. },
  19660. }
  19661. if input == nil {
  19662. input = &DescribeTrafficMirrorFiltersInput{}
  19663. }
  19664. output = &DescribeTrafficMirrorFiltersOutput{}
  19665. req = c.newRequest(op, input, output)
  19666. return
  19667. }
  19668. // DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud.
  19669. //
  19670. // Describes one or more Traffic Mirror filters.
  19671. //
  19672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19673. // with awserr.Error's Code and Message methods to get detailed information about
  19674. // the error.
  19675. //
  19676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19677. // API operation DescribeTrafficMirrorFilters for usage and error information.
  19678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
  19679. func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) {
  19680. req, out := c.DescribeTrafficMirrorFiltersRequest(input)
  19681. return out, req.Send()
  19682. }
  19683. // DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of
  19684. // the ability to pass a context and additional request options.
  19685. //
  19686. // See DescribeTrafficMirrorFilters for details on how to use this API operation.
  19687. //
  19688. // The context must be non-nil and will be used for request cancellation. If
  19689. // the context is nil a panic will occur. In the future the SDK may create
  19690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19691. // for more information on using Contexts.
  19692. func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) {
  19693. req, out := c.DescribeTrafficMirrorFiltersRequest(input)
  19694. req.SetContext(ctx)
  19695. req.ApplyOptions(opts...)
  19696. return out, req.Send()
  19697. }
  19698. // DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation,
  19699. // calling the "fn" function with the response data for each page. To stop
  19700. // iterating, return false from the fn function.
  19701. //
  19702. // See DescribeTrafficMirrorFilters method for more information on how to use this operation.
  19703. //
  19704. // Note: This operation can generate multiple requests to a service.
  19705. //
  19706. // // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation.
  19707. // pageNum := 0
  19708. // err := client.DescribeTrafficMirrorFiltersPages(params,
  19709. // func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool {
  19710. // pageNum++
  19711. // fmt.Println(page)
  19712. // return pageNum <= 3
  19713. // })
  19714. //
  19715. func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error {
  19716. return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
  19717. }
  19718. // DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except
  19719. // it takes a Context and allows setting request options on the pages.
  19720. //
  19721. // The context must be non-nil and will be used for request cancellation. If
  19722. // the context is nil a panic will occur. In the future the SDK may create
  19723. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19724. // for more information on using Contexts.
  19725. func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error {
  19726. p := request.Pagination{
  19727. NewRequest: func() (*request.Request, error) {
  19728. var inCpy *DescribeTrafficMirrorFiltersInput
  19729. if input != nil {
  19730. tmp := *input
  19731. inCpy = &tmp
  19732. }
  19733. req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy)
  19734. req.SetContext(ctx)
  19735. req.ApplyOptions(opts...)
  19736. return req, nil
  19737. },
  19738. }
  19739. for p.Next() {
  19740. if !fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) {
  19741. break
  19742. }
  19743. }
  19744. return p.Err()
  19745. }
  19746. const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions"
  19747. // DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the
  19748. // client's request for the DescribeTrafficMirrorSessions operation. The "output" return
  19749. // value will be populated with the request's response once the request completes
  19750. // successfully.
  19751. //
  19752. // Use "Send" method on the returned Request to send the API call to the service.
  19753. // the "output" return value is not valid until after Send returns without error.
  19754. //
  19755. // See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions
  19756. // API call, and error handling.
  19757. //
  19758. // This method is useful when you want to inject custom logic or configuration
  19759. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19760. //
  19761. //
  19762. // // Example sending a request using the DescribeTrafficMirrorSessionsRequest method.
  19763. // req, resp := client.DescribeTrafficMirrorSessionsRequest(params)
  19764. //
  19765. // err := req.Send()
  19766. // if err == nil { // resp is now filled
  19767. // fmt.Println(resp)
  19768. // }
  19769. //
  19770. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
  19771. func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) {
  19772. op := &request.Operation{
  19773. Name: opDescribeTrafficMirrorSessions,
  19774. HTTPMethod: "POST",
  19775. HTTPPath: "/",
  19776. Paginator: &request.Paginator{
  19777. InputTokens: []string{"NextToken"},
  19778. OutputTokens: []string{"NextToken"},
  19779. LimitToken: "MaxResults",
  19780. TruncationToken: "",
  19781. },
  19782. }
  19783. if input == nil {
  19784. input = &DescribeTrafficMirrorSessionsInput{}
  19785. }
  19786. output = &DescribeTrafficMirrorSessionsOutput{}
  19787. req = c.newRequest(op, input, output)
  19788. return
  19789. }
  19790. // DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud.
  19791. //
  19792. // Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
  19793. // sessions are described. Alternatively, you can filter the results.
  19794. //
  19795. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19796. // with awserr.Error's Code and Message methods to get detailed information about
  19797. // the error.
  19798. //
  19799. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19800. // API operation DescribeTrafficMirrorSessions for usage and error information.
  19801. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
  19802. func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) {
  19803. req, out := c.DescribeTrafficMirrorSessionsRequest(input)
  19804. return out, req.Send()
  19805. }
  19806. // DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of
  19807. // the ability to pass a context and additional request options.
  19808. //
  19809. // See DescribeTrafficMirrorSessions for details on how to use this API operation.
  19810. //
  19811. // The context must be non-nil and will be used for request cancellation. If
  19812. // the context is nil a panic will occur. In the future the SDK may create
  19813. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19814. // for more information on using Contexts.
  19815. func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) {
  19816. req, out := c.DescribeTrafficMirrorSessionsRequest(input)
  19817. req.SetContext(ctx)
  19818. req.ApplyOptions(opts...)
  19819. return out, req.Send()
  19820. }
  19821. // DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation,
  19822. // calling the "fn" function with the response data for each page. To stop
  19823. // iterating, return false from the fn function.
  19824. //
  19825. // See DescribeTrafficMirrorSessions method for more information on how to use this operation.
  19826. //
  19827. // Note: This operation can generate multiple requests to a service.
  19828. //
  19829. // // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation.
  19830. // pageNum := 0
  19831. // err := client.DescribeTrafficMirrorSessionsPages(params,
  19832. // func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool {
  19833. // pageNum++
  19834. // fmt.Println(page)
  19835. // return pageNum <= 3
  19836. // })
  19837. //
  19838. func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error {
  19839. return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
  19840. }
  19841. // DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except
  19842. // it takes a Context and allows setting request options on the pages.
  19843. //
  19844. // The context must be non-nil and will be used for request cancellation. If
  19845. // the context is nil a panic will occur. In the future the SDK may create
  19846. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19847. // for more information on using Contexts.
  19848. func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error {
  19849. p := request.Pagination{
  19850. NewRequest: func() (*request.Request, error) {
  19851. var inCpy *DescribeTrafficMirrorSessionsInput
  19852. if input != nil {
  19853. tmp := *input
  19854. inCpy = &tmp
  19855. }
  19856. req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy)
  19857. req.SetContext(ctx)
  19858. req.ApplyOptions(opts...)
  19859. return req, nil
  19860. },
  19861. }
  19862. for p.Next() {
  19863. if !fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) {
  19864. break
  19865. }
  19866. }
  19867. return p.Err()
  19868. }
  19869. const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets"
  19870. // DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the
  19871. // client's request for the DescribeTrafficMirrorTargets operation. The "output" return
  19872. // value will be populated with the request's response once the request completes
  19873. // successfully.
  19874. //
  19875. // Use "Send" method on the returned Request to send the API call to the service.
  19876. // the "output" return value is not valid until after Send returns without error.
  19877. //
  19878. // See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets
  19879. // API call, and error handling.
  19880. //
  19881. // This method is useful when you want to inject custom logic or configuration
  19882. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19883. //
  19884. //
  19885. // // Example sending a request using the DescribeTrafficMirrorTargetsRequest method.
  19886. // req, resp := client.DescribeTrafficMirrorTargetsRequest(params)
  19887. //
  19888. // err := req.Send()
  19889. // if err == nil { // resp is now filled
  19890. // fmt.Println(resp)
  19891. // }
  19892. //
  19893. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
  19894. func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) {
  19895. op := &request.Operation{
  19896. Name: opDescribeTrafficMirrorTargets,
  19897. HTTPMethod: "POST",
  19898. HTTPPath: "/",
  19899. Paginator: &request.Paginator{
  19900. InputTokens: []string{"NextToken"},
  19901. OutputTokens: []string{"NextToken"},
  19902. LimitToken: "MaxResults",
  19903. TruncationToken: "",
  19904. },
  19905. }
  19906. if input == nil {
  19907. input = &DescribeTrafficMirrorTargetsInput{}
  19908. }
  19909. output = &DescribeTrafficMirrorTargetsOutput{}
  19910. req = c.newRequest(op, input, output)
  19911. return
  19912. }
  19913. // DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud.
  19914. //
  19915. // Information about one or more Traffic Mirror targets.
  19916. //
  19917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19918. // with awserr.Error's Code and Message methods to get detailed information about
  19919. // the error.
  19920. //
  19921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19922. // API operation DescribeTrafficMirrorTargets for usage and error information.
  19923. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
  19924. func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) {
  19925. req, out := c.DescribeTrafficMirrorTargetsRequest(input)
  19926. return out, req.Send()
  19927. }
  19928. // DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of
  19929. // the ability to pass a context and additional request options.
  19930. //
  19931. // See DescribeTrafficMirrorTargets for details on how to use this API operation.
  19932. //
  19933. // The context must be non-nil and will be used for request cancellation. If
  19934. // the context is nil a panic will occur. In the future the SDK may create
  19935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19936. // for more information on using Contexts.
  19937. func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) {
  19938. req, out := c.DescribeTrafficMirrorTargetsRequest(input)
  19939. req.SetContext(ctx)
  19940. req.ApplyOptions(opts...)
  19941. return out, req.Send()
  19942. }
  19943. // DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation,
  19944. // calling the "fn" function with the response data for each page. To stop
  19945. // iterating, return false from the fn function.
  19946. //
  19947. // See DescribeTrafficMirrorTargets method for more information on how to use this operation.
  19948. //
  19949. // Note: This operation can generate multiple requests to a service.
  19950. //
  19951. // // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation.
  19952. // pageNum := 0
  19953. // err := client.DescribeTrafficMirrorTargetsPages(params,
  19954. // func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool {
  19955. // pageNum++
  19956. // fmt.Println(page)
  19957. // return pageNum <= 3
  19958. // })
  19959. //
  19960. func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error {
  19961. return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
  19962. }
  19963. // DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except
  19964. // it takes a Context and allows setting request options on the pages.
  19965. //
  19966. // The context must be non-nil and will be used for request cancellation. If
  19967. // the context is nil a panic will occur. In the future the SDK may create
  19968. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19969. // for more information on using Contexts.
  19970. func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error {
  19971. p := request.Pagination{
  19972. NewRequest: func() (*request.Request, error) {
  19973. var inCpy *DescribeTrafficMirrorTargetsInput
  19974. if input != nil {
  19975. tmp := *input
  19976. inCpy = &tmp
  19977. }
  19978. req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy)
  19979. req.SetContext(ctx)
  19980. req.ApplyOptions(opts...)
  19981. return req, nil
  19982. },
  19983. }
  19984. for p.Next() {
  19985. if !fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) {
  19986. break
  19987. }
  19988. }
  19989. return p.Err()
  19990. }
  19991. const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
  19992. // DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
  19993. // client's request for the DescribeTransitGatewayAttachments operation. The "output" return
  19994. // value will be populated with the request's response once the request completes
  19995. // successfully.
  19996. //
  19997. // Use "Send" method on the returned Request to send the API call to the service.
  19998. // the "output" return value is not valid until after Send returns without error.
  19999. //
  20000. // See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
  20001. // API call, and error handling.
  20002. //
  20003. // This method is useful when you want to inject custom logic or configuration
  20004. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20005. //
  20006. //
  20007. // // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
  20008. // req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
  20009. //
  20010. // err := req.Send()
  20011. // if err == nil { // resp is now filled
  20012. // fmt.Println(resp)
  20013. // }
  20014. //
  20015. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
  20016. func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
  20017. op := &request.Operation{
  20018. Name: opDescribeTransitGatewayAttachments,
  20019. HTTPMethod: "POST",
  20020. HTTPPath: "/",
  20021. Paginator: &request.Paginator{
  20022. InputTokens: []string{"NextToken"},
  20023. OutputTokens: []string{"NextToken"},
  20024. LimitToken: "MaxResults",
  20025. TruncationToken: "",
  20026. },
  20027. }
  20028. if input == nil {
  20029. input = &DescribeTransitGatewayAttachmentsInput{}
  20030. }
  20031. output = &DescribeTransitGatewayAttachmentsOutput{}
  20032. req = c.newRequest(op, input, output)
  20033. return
  20034. }
  20035. // DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
  20036. //
  20037. // Describes one or more attachments between resources and transit gateways.
  20038. // By default, all attachments are described. Alternatively, you can filter
  20039. // the results by attachment ID, attachment state, resource ID, or resource
  20040. // owner.
  20041. //
  20042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20043. // with awserr.Error's Code and Message methods to get detailed information about
  20044. // the error.
  20045. //
  20046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20047. // API operation DescribeTransitGatewayAttachments for usage and error information.
  20048. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
  20049. func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
  20050. req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
  20051. return out, req.Send()
  20052. }
  20053. // DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
  20054. // the ability to pass a context and additional request options.
  20055. //
  20056. // See DescribeTransitGatewayAttachments for details on how to use this API operation.
  20057. //
  20058. // The context must be non-nil and will be used for request cancellation. If
  20059. // the context is nil a panic will occur. In the future the SDK may create
  20060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20061. // for more information on using Contexts.
  20062. func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
  20063. req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
  20064. req.SetContext(ctx)
  20065. req.ApplyOptions(opts...)
  20066. return out, req.Send()
  20067. }
  20068. // DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
  20069. // calling the "fn" function with the response data for each page. To stop
  20070. // iterating, return false from the fn function.
  20071. //
  20072. // See DescribeTransitGatewayAttachments method for more information on how to use this operation.
  20073. //
  20074. // Note: This operation can generate multiple requests to a service.
  20075. //
  20076. // // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
  20077. // pageNum := 0
  20078. // err := client.DescribeTransitGatewayAttachmentsPages(params,
  20079. // func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
  20080. // pageNum++
  20081. // fmt.Println(page)
  20082. // return pageNum <= 3
  20083. // })
  20084. //
  20085. func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
  20086. return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
  20087. }
  20088. // DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
  20089. // it takes a Context and allows setting request options on the pages.
  20090. //
  20091. // The context must be non-nil and will be used for request cancellation. If
  20092. // the context is nil a panic will occur. In the future the SDK may create
  20093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20094. // for more information on using Contexts.
  20095. func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
  20096. p := request.Pagination{
  20097. NewRequest: func() (*request.Request, error) {
  20098. var inCpy *DescribeTransitGatewayAttachmentsInput
  20099. if input != nil {
  20100. tmp := *input
  20101. inCpy = &tmp
  20102. }
  20103. req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
  20104. req.SetContext(ctx)
  20105. req.ApplyOptions(opts...)
  20106. return req, nil
  20107. },
  20108. }
  20109. for p.Next() {
  20110. if !fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) {
  20111. break
  20112. }
  20113. }
  20114. return p.Err()
  20115. }
  20116. const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
  20117. // DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
  20118. // client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
  20119. // value will be populated with the request's response once the request completes
  20120. // successfully.
  20121. //
  20122. // Use "Send" method on the returned Request to send the API call to the service.
  20123. // the "output" return value is not valid until after Send returns without error.
  20124. //
  20125. // See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
  20126. // API call, and error handling.
  20127. //
  20128. // This method is useful when you want to inject custom logic or configuration
  20129. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20130. //
  20131. //
  20132. // // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
  20133. // req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
  20134. //
  20135. // err := req.Send()
  20136. // if err == nil { // resp is now filled
  20137. // fmt.Println(resp)
  20138. // }
  20139. //
  20140. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
  20141. func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
  20142. op := &request.Operation{
  20143. Name: opDescribeTransitGatewayMulticastDomains,
  20144. HTTPMethod: "POST",
  20145. HTTPPath: "/",
  20146. }
  20147. if input == nil {
  20148. input = &DescribeTransitGatewayMulticastDomainsInput{}
  20149. }
  20150. output = &DescribeTransitGatewayMulticastDomainsOutput{}
  20151. req = c.newRequest(op, input, output)
  20152. return
  20153. }
  20154. // DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
  20155. //
  20156. // Describes one or more transit gateway multicast domains.
  20157. //
  20158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20159. // with awserr.Error's Code and Message methods to get detailed information about
  20160. // the error.
  20161. //
  20162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20163. // API operation DescribeTransitGatewayMulticastDomains for usage and error information.
  20164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
  20165. func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
  20166. req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
  20167. return out, req.Send()
  20168. }
  20169. // DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
  20170. // the ability to pass a context and additional request options.
  20171. //
  20172. // See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
  20173. //
  20174. // The context must be non-nil and will be used for request cancellation. If
  20175. // the context is nil a panic will occur. In the future the SDK may create
  20176. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20177. // for more information on using Contexts.
  20178. func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
  20179. req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
  20180. req.SetContext(ctx)
  20181. req.ApplyOptions(opts...)
  20182. return out, req.Send()
  20183. }
  20184. const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
  20185. // DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
  20186. // client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
  20187. // value will be populated with the request's response once the request completes
  20188. // successfully.
  20189. //
  20190. // Use "Send" method on the returned Request to send the API call to the service.
  20191. // the "output" return value is not valid until after Send returns without error.
  20192. //
  20193. // See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
  20194. // API call, and error handling.
  20195. //
  20196. // This method is useful when you want to inject custom logic or configuration
  20197. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20198. //
  20199. //
  20200. // // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
  20201. // req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
  20202. //
  20203. // err := req.Send()
  20204. // if err == nil { // resp is now filled
  20205. // fmt.Println(resp)
  20206. // }
  20207. //
  20208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
  20209. func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
  20210. op := &request.Operation{
  20211. Name: opDescribeTransitGatewayPeeringAttachments,
  20212. HTTPMethod: "POST",
  20213. HTTPPath: "/",
  20214. }
  20215. if input == nil {
  20216. input = &DescribeTransitGatewayPeeringAttachmentsInput{}
  20217. }
  20218. output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
  20219. req = c.newRequest(op, input, output)
  20220. return
  20221. }
  20222. // DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
  20223. //
  20224. // Describes your transit gateway peering attachments.
  20225. //
  20226. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20227. // with awserr.Error's Code and Message methods to get detailed information about
  20228. // the error.
  20229. //
  20230. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20231. // API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
  20232. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
  20233. func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
  20234. req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
  20235. return out, req.Send()
  20236. }
  20237. // DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
  20238. // the ability to pass a context and additional request options.
  20239. //
  20240. // See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
  20241. //
  20242. // The context must be non-nil and will be used for request cancellation. If
  20243. // the context is nil a panic will occur. In the future the SDK may create
  20244. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20245. // for more information on using Contexts.
  20246. func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
  20247. req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
  20248. req.SetContext(ctx)
  20249. req.ApplyOptions(opts...)
  20250. return out, req.Send()
  20251. }
  20252. const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
  20253. // DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
  20254. // client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
  20255. // value will be populated with the request's response once the request completes
  20256. // successfully.
  20257. //
  20258. // Use "Send" method on the returned Request to send the API call to the service.
  20259. // the "output" return value is not valid until after Send returns without error.
  20260. //
  20261. // See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
  20262. // API call, and error handling.
  20263. //
  20264. // This method is useful when you want to inject custom logic or configuration
  20265. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20266. //
  20267. //
  20268. // // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
  20269. // req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
  20270. //
  20271. // err := req.Send()
  20272. // if err == nil { // resp is now filled
  20273. // fmt.Println(resp)
  20274. // }
  20275. //
  20276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
  20277. func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
  20278. op := &request.Operation{
  20279. Name: opDescribeTransitGatewayRouteTables,
  20280. HTTPMethod: "POST",
  20281. HTTPPath: "/",
  20282. Paginator: &request.Paginator{
  20283. InputTokens: []string{"NextToken"},
  20284. OutputTokens: []string{"NextToken"},
  20285. LimitToken: "MaxResults",
  20286. TruncationToken: "",
  20287. },
  20288. }
  20289. if input == nil {
  20290. input = &DescribeTransitGatewayRouteTablesInput{}
  20291. }
  20292. output = &DescribeTransitGatewayRouteTablesOutput{}
  20293. req = c.newRequest(op, input, output)
  20294. return
  20295. }
  20296. // DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
  20297. //
  20298. // Describes one or more transit gateway route tables. By default, all transit
  20299. // gateway route tables are described. Alternatively, you can filter the results.
  20300. //
  20301. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20302. // with awserr.Error's Code and Message methods to get detailed information about
  20303. // the error.
  20304. //
  20305. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20306. // API operation DescribeTransitGatewayRouteTables for usage and error information.
  20307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
  20308. func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
  20309. req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
  20310. return out, req.Send()
  20311. }
  20312. // DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
  20313. // the ability to pass a context and additional request options.
  20314. //
  20315. // See DescribeTransitGatewayRouteTables for details on how to use this API operation.
  20316. //
  20317. // The context must be non-nil and will be used for request cancellation. If
  20318. // the context is nil a panic will occur. In the future the SDK may create
  20319. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20320. // for more information on using Contexts.
  20321. func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
  20322. req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
  20323. req.SetContext(ctx)
  20324. req.ApplyOptions(opts...)
  20325. return out, req.Send()
  20326. }
  20327. // DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
  20328. // calling the "fn" function with the response data for each page. To stop
  20329. // iterating, return false from the fn function.
  20330. //
  20331. // See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
  20332. //
  20333. // Note: This operation can generate multiple requests to a service.
  20334. //
  20335. // // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
  20336. // pageNum := 0
  20337. // err := client.DescribeTransitGatewayRouteTablesPages(params,
  20338. // func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
  20339. // pageNum++
  20340. // fmt.Println(page)
  20341. // return pageNum <= 3
  20342. // })
  20343. //
  20344. func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
  20345. return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
  20346. }
  20347. // DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
  20348. // it takes a Context and allows setting request options on the pages.
  20349. //
  20350. // The context must be non-nil and will be used for request cancellation. If
  20351. // the context is nil a panic will occur. In the future the SDK may create
  20352. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20353. // for more information on using Contexts.
  20354. func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
  20355. p := request.Pagination{
  20356. NewRequest: func() (*request.Request, error) {
  20357. var inCpy *DescribeTransitGatewayRouteTablesInput
  20358. if input != nil {
  20359. tmp := *input
  20360. inCpy = &tmp
  20361. }
  20362. req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
  20363. req.SetContext(ctx)
  20364. req.ApplyOptions(opts...)
  20365. return req, nil
  20366. },
  20367. }
  20368. for p.Next() {
  20369. if !fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) {
  20370. break
  20371. }
  20372. }
  20373. return p.Err()
  20374. }
  20375. const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
  20376. // DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
  20377. // client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
  20378. // value will be populated with the request's response once the request completes
  20379. // successfully.
  20380. //
  20381. // Use "Send" method on the returned Request to send the API call to the service.
  20382. // the "output" return value is not valid until after Send returns without error.
  20383. //
  20384. // See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
  20385. // API call, and error handling.
  20386. //
  20387. // This method is useful when you want to inject custom logic or configuration
  20388. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20389. //
  20390. //
  20391. // // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
  20392. // req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
  20393. //
  20394. // err := req.Send()
  20395. // if err == nil { // resp is now filled
  20396. // fmt.Println(resp)
  20397. // }
  20398. //
  20399. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
  20400. func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
  20401. op := &request.Operation{
  20402. Name: opDescribeTransitGatewayVpcAttachments,
  20403. HTTPMethod: "POST",
  20404. HTTPPath: "/",
  20405. Paginator: &request.Paginator{
  20406. InputTokens: []string{"NextToken"},
  20407. OutputTokens: []string{"NextToken"},
  20408. LimitToken: "MaxResults",
  20409. TruncationToken: "",
  20410. },
  20411. }
  20412. if input == nil {
  20413. input = &DescribeTransitGatewayVpcAttachmentsInput{}
  20414. }
  20415. output = &DescribeTransitGatewayVpcAttachmentsOutput{}
  20416. req = c.newRequest(op, input, output)
  20417. return
  20418. }
  20419. // DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
  20420. //
  20421. // Describes one or more VPC attachments. By default, all VPC attachments are
  20422. // described. Alternatively, you can filter the results.
  20423. //
  20424. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20425. // with awserr.Error's Code and Message methods to get detailed information about
  20426. // the error.
  20427. //
  20428. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20429. // API operation DescribeTransitGatewayVpcAttachments for usage and error information.
  20430. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
  20431. func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
  20432. req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
  20433. return out, req.Send()
  20434. }
  20435. // DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
  20436. // the ability to pass a context and additional request options.
  20437. //
  20438. // See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
  20439. //
  20440. // The context must be non-nil and will be used for request cancellation. If
  20441. // the context is nil a panic will occur. In the future the SDK may create
  20442. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20443. // for more information on using Contexts.
  20444. func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
  20445. req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
  20446. req.SetContext(ctx)
  20447. req.ApplyOptions(opts...)
  20448. return out, req.Send()
  20449. }
  20450. // DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
  20451. // calling the "fn" function with the response data for each page. To stop
  20452. // iterating, return false from the fn function.
  20453. //
  20454. // See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
  20455. //
  20456. // Note: This operation can generate multiple requests to a service.
  20457. //
  20458. // // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
  20459. // pageNum := 0
  20460. // err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
  20461. // func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
  20462. // pageNum++
  20463. // fmt.Println(page)
  20464. // return pageNum <= 3
  20465. // })
  20466. //
  20467. func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
  20468. return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
  20469. }
  20470. // DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
  20471. // it takes a Context and allows setting request options on the pages.
  20472. //
  20473. // The context must be non-nil and will be used for request cancellation. If
  20474. // the context is nil a panic will occur. In the future the SDK may create
  20475. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20476. // for more information on using Contexts.
  20477. func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
  20478. p := request.Pagination{
  20479. NewRequest: func() (*request.Request, error) {
  20480. var inCpy *DescribeTransitGatewayVpcAttachmentsInput
  20481. if input != nil {
  20482. tmp := *input
  20483. inCpy = &tmp
  20484. }
  20485. req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
  20486. req.SetContext(ctx)
  20487. req.ApplyOptions(opts...)
  20488. return req, nil
  20489. },
  20490. }
  20491. for p.Next() {
  20492. if !fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) {
  20493. break
  20494. }
  20495. }
  20496. return p.Err()
  20497. }
  20498. const opDescribeTransitGateways = "DescribeTransitGateways"
  20499. // DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
  20500. // client's request for the DescribeTransitGateways operation. The "output" return
  20501. // value will be populated with the request's response once the request completes
  20502. // successfully.
  20503. //
  20504. // Use "Send" method on the returned Request to send the API call to the service.
  20505. // the "output" return value is not valid until after Send returns without error.
  20506. //
  20507. // See DescribeTransitGateways for more information on using the DescribeTransitGateways
  20508. // API call, and error handling.
  20509. //
  20510. // This method is useful when you want to inject custom logic or configuration
  20511. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20512. //
  20513. //
  20514. // // Example sending a request using the DescribeTransitGatewaysRequest method.
  20515. // req, resp := client.DescribeTransitGatewaysRequest(params)
  20516. //
  20517. // err := req.Send()
  20518. // if err == nil { // resp is now filled
  20519. // fmt.Println(resp)
  20520. // }
  20521. //
  20522. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
  20523. func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
  20524. op := &request.Operation{
  20525. Name: opDescribeTransitGateways,
  20526. HTTPMethod: "POST",
  20527. HTTPPath: "/",
  20528. Paginator: &request.Paginator{
  20529. InputTokens: []string{"NextToken"},
  20530. OutputTokens: []string{"NextToken"},
  20531. LimitToken: "MaxResults",
  20532. TruncationToken: "",
  20533. },
  20534. }
  20535. if input == nil {
  20536. input = &DescribeTransitGatewaysInput{}
  20537. }
  20538. output = &DescribeTransitGatewaysOutput{}
  20539. req = c.newRequest(op, input, output)
  20540. return
  20541. }
  20542. // DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
  20543. //
  20544. // Describes one or more transit gateways. By default, all transit gateways
  20545. // are described. Alternatively, you can filter the results.
  20546. //
  20547. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20548. // with awserr.Error's Code and Message methods to get detailed information about
  20549. // the error.
  20550. //
  20551. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20552. // API operation DescribeTransitGateways for usage and error information.
  20553. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
  20554. func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
  20555. req, out := c.DescribeTransitGatewaysRequest(input)
  20556. return out, req.Send()
  20557. }
  20558. // DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
  20559. // the ability to pass a context and additional request options.
  20560. //
  20561. // See DescribeTransitGateways for details on how to use this API operation.
  20562. //
  20563. // The context must be non-nil and will be used for request cancellation. If
  20564. // the context is nil a panic will occur. In the future the SDK may create
  20565. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20566. // for more information on using Contexts.
  20567. func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
  20568. req, out := c.DescribeTransitGatewaysRequest(input)
  20569. req.SetContext(ctx)
  20570. req.ApplyOptions(opts...)
  20571. return out, req.Send()
  20572. }
  20573. // DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
  20574. // calling the "fn" function with the response data for each page. To stop
  20575. // iterating, return false from the fn function.
  20576. //
  20577. // See DescribeTransitGateways method for more information on how to use this operation.
  20578. //
  20579. // Note: This operation can generate multiple requests to a service.
  20580. //
  20581. // // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
  20582. // pageNum := 0
  20583. // err := client.DescribeTransitGatewaysPages(params,
  20584. // func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
  20585. // pageNum++
  20586. // fmt.Println(page)
  20587. // return pageNum <= 3
  20588. // })
  20589. //
  20590. func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
  20591. return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  20592. }
  20593. // DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
  20594. // it takes a Context and allows setting request options on the pages.
  20595. //
  20596. // The context must be non-nil and will be used for request cancellation. If
  20597. // the context is nil a panic will occur. In the future the SDK may create
  20598. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20599. // for more information on using Contexts.
  20600. func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
  20601. p := request.Pagination{
  20602. NewRequest: func() (*request.Request, error) {
  20603. var inCpy *DescribeTransitGatewaysInput
  20604. if input != nil {
  20605. tmp := *input
  20606. inCpy = &tmp
  20607. }
  20608. req, _ := c.DescribeTransitGatewaysRequest(inCpy)
  20609. req.SetContext(ctx)
  20610. req.ApplyOptions(opts...)
  20611. return req, nil
  20612. },
  20613. }
  20614. for p.Next() {
  20615. if !fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) {
  20616. break
  20617. }
  20618. }
  20619. return p.Err()
  20620. }
  20621. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  20622. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  20623. // client's request for the DescribeVolumeAttribute operation. The "output" return
  20624. // value will be populated with the request's response once the request completes
  20625. // successfully.
  20626. //
  20627. // Use "Send" method on the returned Request to send the API call to the service.
  20628. // the "output" return value is not valid until after Send returns without error.
  20629. //
  20630. // See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
  20631. // API call, and error handling.
  20632. //
  20633. // This method is useful when you want to inject custom logic or configuration
  20634. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20635. //
  20636. //
  20637. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  20638. // req, resp := client.DescribeVolumeAttributeRequest(params)
  20639. //
  20640. // err := req.Send()
  20641. // if err == nil { // resp is now filled
  20642. // fmt.Println(resp)
  20643. // }
  20644. //
  20645. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  20646. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  20647. op := &request.Operation{
  20648. Name: opDescribeVolumeAttribute,
  20649. HTTPMethod: "POST",
  20650. HTTPPath: "/",
  20651. }
  20652. if input == nil {
  20653. input = &DescribeVolumeAttributeInput{}
  20654. }
  20655. output = &DescribeVolumeAttributeOutput{}
  20656. req = c.newRequest(op, input, output)
  20657. return
  20658. }
  20659. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  20660. //
  20661. // Describes the specified attribute of the specified volume. You can specify
  20662. // only one attribute at a time.
  20663. //
  20664. // For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  20665. // in the Amazon Elastic Compute Cloud User Guide.
  20666. //
  20667. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20668. // with awserr.Error's Code and Message methods to get detailed information about
  20669. // the error.
  20670. //
  20671. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20672. // API operation DescribeVolumeAttribute for usage and error information.
  20673. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  20674. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  20675. req, out := c.DescribeVolumeAttributeRequest(input)
  20676. return out, req.Send()
  20677. }
  20678. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  20679. // the ability to pass a context and additional request options.
  20680. //
  20681. // See DescribeVolumeAttribute for details on how to use this API operation.
  20682. //
  20683. // The context must be non-nil and will be used for request cancellation. If
  20684. // the context is nil a panic will occur. In the future the SDK may create
  20685. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20686. // for more information on using Contexts.
  20687. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  20688. req, out := c.DescribeVolumeAttributeRequest(input)
  20689. req.SetContext(ctx)
  20690. req.ApplyOptions(opts...)
  20691. return out, req.Send()
  20692. }
  20693. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  20694. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  20695. // client's request for the DescribeVolumeStatus operation. The "output" return
  20696. // value will be populated with the request's response once the request completes
  20697. // successfully.
  20698. //
  20699. // Use "Send" method on the returned Request to send the API call to the service.
  20700. // the "output" return value is not valid until after Send returns without error.
  20701. //
  20702. // See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
  20703. // API call, and error handling.
  20704. //
  20705. // This method is useful when you want to inject custom logic or configuration
  20706. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20707. //
  20708. //
  20709. // // Example sending a request using the DescribeVolumeStatusRequest method.
  20710. // req, resp := client.DescribeVolumeStatusRequest(params)
  20711. //
  20712. // err := req.Send()
  20713. // if err == nil { // resp is now filled
  20714. // fmt.Println(resp)
  20715. // }
  20716. //
  20717. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  20718. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  20719. op := &request.Operation{
  20720. Name: opDescribeVolumeStatus,
  20721. HTTPMethod: "POST",
  20722. HTTPPath: "/",
  20723. Paginator: &request.Paginator{
  20724. InputTokens: []string{"NextToken"},
  20725. OutputTokens: []string{"NextToken"},
  20726. LimitToken: "MaxResults",
  20727. TruncationToken: "",
  20728. },
  20729. }
  20730. if input == nil {
  20731. input = &DescribeVolumeStatusInput{}
  20732. }
  20733. output = &DescribeVolumeStatusOutput{}
  20734. req = c.newRequest(op, input, output)
  20735. return
  20736. }
  20737. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  20738. //
  20739. // Describes the status of the specified volumes. Volume status provides the
  20740. // result of the checks performed on your volumes to determine events that can
  20741. // impair the performance of your volumes. The performance of a volume can be
  20742. // affected if an issue occurs on the volume's underlying host. If the volume's
  20743. // underlying host experiences a power outage or system issue, after the system
  20744. // is restored, there could be data inconsistencies on the volume. Volume events
  20745. // notify you if this occurs. Volume actions notify you if any action needs
  20746. // to be taken in response to the event.
  20747. //
  20748. // The DescribeVolumeStatus operation provides the following information about
  20749. // the specified volumes:
  20750. //
  20751. // Status: Reflects the current status of the volume. The possible values are
  20752. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  20753. // status of the volume is ok. If the check fails, the overall status is impaired.
  20754. // If the status is insufficient-data, then the checks may still be taking place
  20755. // on your volume at the time. We recommend that you retry the request. For
  20756. // more information about volume status, see Monitoring the Status of Your Volumes
  20757. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
  20758. // in the Amazon Elastic Compute Cloud User Guide.
  20759. //
  20760. // Events: Reflect the cause of a volume status and may require you to take
  20761. // action. For example, if your volume returns an impaired status, then the
  20762. // volume event might be potential-data-inconsistency. This means that your
  20763. // volume has been affected by an issue with the underlying host, has all I/O
  20764. // operations disabled, and may have inconsistent data.
  20765. //
  20766. // Actions: Reflect the actions you may have to take in response to an event.
  20767. // For example, if the status of the volume is impaired and the volume event
  20768. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  20769. // This means that you may want to enable the I/O operations for the volume
  20770. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  20771. //
  20772. // Volume status is based on the volume status checks, and does not reflect
  20773. // the volume state. Therefore, volume status does not indicate volumes in the
  20774. // error state (for example, when a volume is incapable of accepting I/O.)
  20775. //
  20776. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20777. // with awserr.Error's Code and Message methods to get detailed information about
  20778. // the error.
  20779. //
  20780. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20781. // API operation DescribeVolumeStatus for usage and error information.
  20782. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  20783. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  20784. req, out := c.DescribeVolumeStatusRequest(input)
  20785. return out, req.Send()
  20786. }
  20787. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  20788. // the ability to pass a context and additional request options.
  20789. //
  20790. // See DescribeVolumeStatus for details on how to use this API operation.
  20791. //
  20792. // The context must be non-nil and will be used for request cancellation. If
  20793. // the context is nil a panic will occur. In the future the SDK may create
  20794. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20795. // for more information on using Contexts.
  20796. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  20797. req, out := c.DescribeVolumeStatusRequest(input)
  20798. req.SetContext(ctx)
  20799. req.ApplyOptions(opts...)
  20800. return out, req.Send()
  20801. }
  20802. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  20803. // calling the "fn" function with the response data for each page. To stop
  20804. // iterating, return false from the fn function.
  20805. //
  20806. // See DescribeVolumeStatus method for more information on how to use this operation.
  20807. //
  20808. // Note: This operation can generate multiple requests to a service.
  20809. //
  20810. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  20811. // pageNum := 0
  20812. // err := client.DescribeVolumeStatusPages(params,
  20813. // func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
  20814. // pageNum++
  20815. // fmt.Println(page)
  20816. // return pageNum <= 3
  20817. // })
  20818. //
  20819. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  20820. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  20821. }
  20822. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  20823. // it takes a Context and allows setting request options on the pages.
  20824. //
  20825. // The context must be non-nil and will be used for request cancellation. If
  20826. // the context is nil a panic will occur. In the future the SDK may create
  20827. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20828. // for more information on using Contexts.
  20829. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  20830. p := request.Pagination{
  20831. NewRequest: func() (*request.Request, error) {
  20832. var inCpy *DescribeVolumeStatusInput
  20833. if input != nil {
  20834. tmp := *input
  20835. inCpy = &tmp
  20836. }
  20837. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  20838. req.SetContext(ctx)
  20839. req.ApplyOptions(opts...)
  20840. return req, nil
  20841. },
  20842. }
  20843. for p.Next() {
  20844. if !fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage()) {
  20845. break
  20846. }
  20847. }
  20848. return p.Err()
  20849. }
  20850. const opDescribeVolumes = "DescribeVolumes"
  20851. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  20852. // client's request for the DescribeVolumes operation. The "output" return
  20853. // value will be populated with the request's response once the request completes
  20854. // successfully.
  20855. //
  20856. // Use "Send" method on the returned Request to send the API call to the service.
  20857. // the "output" return value is not valid until after Send returns without error.
  20858. //
  20859. // See DescribeVolumes for more information on using the DescribeVolumes
  20860. // API call, and error handling.
  20861. //
  20862. // This method is useful when you want to inject custom logic or configuration
  20863. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20864. //
  20865. //
  20866. // // Example sending a request using the DescribeVolumesRequest method.
  20867. // req, resp := client.DescribeVolumesRequest(params)
  20868. //
  20869. // err := req.Send()
  20870. // if err == nil { // resp is now filled
  20871. // fmt.Println(resp)
  20872. // }
  20873. //
  20874. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  20875. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  20876. op := &request.Operation{
  20877. Name: opDescribeVolumes,
  20878. HTTPMethod: "POST",
  20879. HTTPPath: "/",
  20880. Paginator: &request.Paginator{
  20881. InputTokens: []string{"NextToken"},
  20882. OutputTokens: []string{"NextToken"},
  20883. LimitToken: "MaxResults",
  20884. TruncationToken: "",
  20885. },
  20886. }
  20887. if input == nil {
  20888. input = &DescribeVolumesInput{}
  20889. }
  20890. output = &DescribeVolumesOutput{}
  20891. req = c.newRequest(op, input, output)
  20892. return
  20893. }
  20894. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  20895. //
  20896. // Describes the specified EBS volumes or all of your EBS volumes.
  20897. //
  20898. // If you are describing a long list of volumes, you can paginate the output
  20899. // to make the list more manageable. The MaxResults parameter sets the maximum
  20900. // number of results returned in a single page. If the list of results exceeds
  20901. // your MaxResults value, then that number of results is returned along with
  20902. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  20903. // to retrieve the remaining results.
  20904. //
  20905. // For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  20906. // in the Amazon Elastic Compute Cloud User Guide.
  20907. //
  20908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20909. // with awserr.Error's Code and Message methods to get detailed information about
  20910. // the error.
  20911. //
  20912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20913. // API operation DescribeVolumes for usage and error information.
  20914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  20915. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  20916. req, out := c.DescribeVolumesRequest(input)
  20917. return out, req.Send()
  20918. }
  20919. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  20920. // the ability to pass a context and additional request options.
  20921. //
  20922. // See DescribeVolumes for details on how to use this API operation.
  20923. //
  20924. // The context must be non-nil and will be used for request cancellation. If
  20925. // the context is nil a panic will occur. In the future the SDK may create
  20926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20927. // for more information on using Contexts.
  20928. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  20929. req, out := c.DescribeVolumesRequest(input)
  20930. req.SetContext(ctx)
  20931. req.ApplyOptions(opts...)
  20932. return out, req.Send()
  20933. }
  20934. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  20935. // calling the "fn" function with the response data for each page. To stop
  20936. // iterating, return false from the fn function.
  20937. //
  20938. // See DescribeVolumes method for more information on how to use this operation.
  20939. //
  20940. // Note: This operation can generate multiple requests to a service.
  20941. //
  20942. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  20943. // pageNum := 0
  20944. // err := client.DescribeVolumesPages(params,
  20945. // func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
  20946. // pageNum++
  20947. // fmt.Println(page)
  20948. // return pageNum <= 3
  20949. // })
  20950. //
  20951. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  20952. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  20953. }
  20954. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  20955. // it takes a Context and allows setting request options on the pages.
  20956. //
  20957. // The context must be non-nil and will be used for request cancellation. If
  20958. // the context is nil a panic will occur. In the future the SDK may create
  20959. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20960. // for more information on using Contexts.
  20961. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  20962. p := request.Pagination{
  20963. NewRequest: func() (*request.Request, error) {
  20964. var inCpy *DescribeVolumesInput
  20965. if input != nil {
  20966. tmp := *input
  20967. inCpy = &tmp
  20968. }
  20969. req, _ := c.DescribeVolumesRequest(inCpy)
  20970. req.SetContext(ctx)
  20971. req.ApplyOptions(opts...)
  20972. return req, nil
  20973. },
  20974. }
  20975. for p.Next() {
  20976. if !fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage()) {
  20977. break
  20978. }
  20979. }
  20980. return p.Err()
  20981. }
  20982. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  20983. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  20984. // client's request for the DescribeVolumesModifications operation. The "output" return
  20985. // value will be populated with the request's response once the request completes
  20986. // successfully.
  20987. //
  20988. // Use "Send" method on the returned Request to send the API call to the service.
  20989. // the "output" return value is not valid until after Send returns without error.
  20990. //
  20991. // See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
  20992. // API call, and error handling.
  20993. //
  20994. // This method is useful when you want to inject custom logic or configuration
  20995. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20996. //
  20997. //
  20998. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  20999. // req, resp := client.DescribeVolumesModificationsRequest(params)
  21000. //
  21001. // err := req.Send()
  21002. // if err == nil { // resp is now filled
  21003. // fmt.Println(resp)
  21004. // }
  21005. //
  21006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  21007. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  21008. op := &request.Operation{
  21009. Name: opDescribeVolumesModifications,
  21010. HTTPMethod: "POST",
  21011. HTTPPath: "/",
  21012. Paginator: &request.Paginator{
  21013. InputTokens: []string{"NextToken"},
  21014. OutputTokens: []string{"NextToken"},
  21015. LimitToken: "MaxResults",
  21016. TruncationToken: "",
  21017. },
  21018. }
  21019. if input == nil {
  21020. input = &DescribeVolumesModificationsInput{}
  21021. }
  21022. output = &DescribeVolumesModificationsOutput{}
  21023. req = c.newRequest(op, input, output)
  21024. return
  21025. }
  21026. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  21027. //
  21028. // Reports the current modification status of EBS volumes.
  21029. //
  21030. // Current-generation EBS volumes support modification of attributes including
  21031. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  21032. // to or detached from an instance. Following an action from the API or the
  21033. // console to modify a volume, the status of the modification may be modifying,
  21034. // optimizing, completed, or failed. If a volume has never been modified, then
  21035. // certain elements of the returned VolumeModification objects are null.
  21036. //
  21037. // You can also use CloudWatch Events to check the status of a modification
  21038. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  21039. // CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  21040. // For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
  21041. // in the Amazon Elastic Compute Cloud User Guide.
  21042. //
  21043. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21044. // with awserr.Error's Code and Message methods to get detailed information about
  21045. // the error.
  21046. //
  21047. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21048. // API operation DescribeVolumesModifications for usage and error information.
  21049. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  21050. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  21051. req, out := c.DescribeVolumesModificationsRequest(input)
  21052. return out, req.Send()
  21053. }
  21054. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  21055. // the ability to pass a context and additional request options.
  21056. //
  21057. // See DescribeVolumesModifications for details on how to use this API operation.
  21058. //
  21059. // The context must be non-nil and will be used for request cancellation. If
  21060. // the context is nil a panic will occur. In the future the SDK may create
  21061. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21062. // for more information on using Contexts.
  21063. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  21064. req, out := c.DescribeVolumesModificationsRequest(input)
  21065. req.SetContext(ctx)
  21066. req.ApplyOptions(opts...)
  21067. return out, req.Send()
  21068. }
  21069. // DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
  21070. // calling the "fn" function with the response data for each page. To stop
  21071. // iterating, return false from the fn function.
  21072. //
  21073. // See DescribeVolumesModifications method for more information on how to use this operation.
  21074. //
  21075. // Note: This operation can generate multiple requests to a service.
  21076. //
  21077. // // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
  21078. // pageNum := 0
  21079. // err := client.DescribeVolumesModificationsPages(params,
  21080. // func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
  21081. // pageNum++
  21082. // fmt.Println(page)
  21083. // return pageNum <= 3
  21084. // })
  21085. //
  21086. func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
  21087. return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  21088. }
  21089. // DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
  21090. // it takes a Context and allows setting request options on the pages.
  21091. //
  21092. // The context must be non-nil and will be used for request cancellation. If
  21093. // the context is nil a panic will occur. In the future the SDK may create
  21094. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21095. // for more information on using Contexts.
  21096. func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
  21097. p := request.Pagination{
  21098. NewRequest: func() (*request.Request, error) {
  21099. var inCpy *DescribeVolumesModificationsInput
  21100. if input != nil {
  21101. tmp := *input
  21102. inCpy = &tmp
  21103. }
  21104. req, _ := c.DescribeVolumesModificationsRequest(inCpy)
  21105. req.SetContext(ctx)
  21106. req.ApplyOptions(opts...)
  21107. return req, nil
  21108. },
  21109. }
  21110. for p.Next() {
  21111. if !fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) {
  21112. break
  21113. }
  21114. }
  21115. return p.Err()
  21116. }
  21117. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  21118. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  21119. // client's request for the DescribeVpcAttribute operation. The "output" return
  21120. // value will be populated with the request's response once the request completes
  21121. // successfully.
  21122. //
  21123. // Use "Send" method on the returned Request to send the API call to the service.
  21124. // the "output" return value is not valid until after Send returns without error.
  21125. //
  21126. // See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
  21127. // API call, and error handling.
  21128. //
  21129. // This method is useful when you want to inject custom logic or configuration
  21130. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21131. //
  21132. //
  21133. // // Example sending a request using the DescribeVpcAttributeRequest method.
  21134. // req, resp := client.DescribeVpcAttributeRequest(params)
  21135. //
  21136. // err := req.Send()
  21137. // if err == nil { // resp is now filled
  21138. // fmt.Println(resp)
  21139. // }
  21140. //
  21141. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  21142. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  21143. op := &request.Operation{
  21144. Name: opDescribeVpcAttribute,
  21145. HTTPMethod: "POST",
  21146. HTTPPath: "/",
  21147. }
  21148. if input == nil {
  21149. input = &DescribeVpcAttributeInput{}
  21150. }
  21151. output = &DescribeVpcAttributeOutput{}
  21152. req = c.newRequest(op, input, output)
  21153. return
  21154. }
  21155. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  21156. //
  21157. // Describes the specified attribute of the specified VPC. You can specify only
  21158. // one attribute at a time.
  21159. //
  21160. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21161. // with awserr.Error's Code and Message methods to get detailed information about
  21162. // the error.
  21163. //
  21164. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21165. // API operation DescribeVpcAttribute for usage and error information.
  21166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  21167. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  21168. req, out := c.DescribeVpcAttributeRequest(input)
  21169. return out, req.Send()
  21170. }
  21171. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  21172. // the ability to pass a context and additional request options.
  21173. //
  21174. // See DescribeVpcAttribute for details on how to use this API operation.
  21175. //
  21176. // The context must be non-nil and will be used for request cancellation. If
  21177. // the context is nil a panic will occur. In the future the SDK may create
  21178. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21179. // for more information on using Contexts.
  21180. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  21181. req, out := c.DescribeVpcAttributeRequest(input)
  21182. req.SetContext(ctx)
  21183. req.ApplyOptions(opts...)
  21184. return out, req.Send()
  21185. }
  21186. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  21187. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  21188. // client's request for the DescribeVpcClassicLink operation. The "output" return
  21189. // value will be populated with the request's response once the request completes
  21190. // successfully.
  21191. //
  21192. // Use "Send" method on the returned Request to send the API call to the service.
  21193. // the "output" return value is not valid until after Send returns without error.
  21194. //
  21195. // See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
  21196. // API call, and error handling.
  21197. //
  21198. // This method is useful when you want to inject custom logic or configuration
  21199. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21200. //
  21201. //
  21202. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  21203. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  21204. //
  21205. // err := req.Send()
  21206. // if err == nil { // resp is now filled
  21207. // fmt.Println(resp)
  21208. // }
  21209. //
  21210. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  21211. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  21212. op := &request.Operation{
  21213. Name: opDescribeVpcClassicLink,
  21214. HTTPMethod: "POST",
  21215. HTTPPath: "/",
  21216. }
  21217. if input == nil {
  21218. input = &DescribeVpcClassicLinkInput{}
  21219. }
  21220. output = &DescribeVpcClassicLinkOutput{}
  21221. req = c.newRequest(op, input, output)
  21222. return
  21223. }
  21224. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  21225. //
  21226. // Describes the ClassicLink status of one or more VPCs.
  21227. //
  21228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21229. // with awserr.Error's Code and Message methods to get detailed information about
  21230. // the error.
  21231. //
  21232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21233. // API operation DescribeVpcClassicLink for usage and error information.
  21234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  21235. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  21236. req, out := c.DescribeVpcClassicLinkRequest(input)
  21237. return out, req.Send()
  21238. }
  21239. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  21240. // the ability to pass a context and additional request options.
  21241. //
  21242. // See DescribeVpcClassicLink for details on how to use this API operation.
  21243. //
  21244. // The context must be non-nil and will be used for request cancellation. If
  21245. // the context is nil a panic will occur. In the future the SDK may create
  21246. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21247. // for more information on using Contexts.
  21248. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  21249. req, out := c.DescribeVpcClassicLinkRequest(input)
  21250. req.SetContext(ctx)
  21251. req.ApplyOptions(opts...)
  21252. return out, req.Send()
  21253. }
  21254. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  21255. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  21256. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  21257. // value will be populated with the request's response once the request completes
  21258. // successfully.
  21259. //
  21260. // Use "Send" method on the returned Request to send the API call to the service.
  21261. // the "output" return value is not valid until after Send returns without error.
  21262. //
  21263. // See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
  21264. // API call, and error handling.
  21265. //
  21266. // This method is useful when you want to inject custom logic or configuration
  21267. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21268. //
  21269. //
  21270. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  21271. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  21272. //
  21273. // err := req.Send()
  21274. // if err == nil { // resp is now filled
  21275. // fmt.Println(resp)
  21276. // }
  21277. //
  21278. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  21279. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  21280. op := &request.Operation{
  21281. Name: opDescribeVpcClassicLinkDnsSupport,
  21282. HTTPMethod: "POST",
  21283. HTTPPath: "/",
  21284. Paginator: &request.Paginator{
  21285. InputTokens: []string{"NextToken"},
  21286. OutputTokens: []string{"NextToken"},
  21287. LimitToken: "MaxResults",
  21288. TruncationToken: "",
  21289. },
  21290. }
  21291. if input == nil {
  21292. input = &DescribeVpcClassicLinkDnsSupportInput{}
  21293. }
  21294. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  21295. req = c.newRequest(op, input, output)
  21296. return
  21297. }
  21298. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  21299. //
  21300. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  21301. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  21302. // IP address when addressed from an instance in the VPC to which it's linked.
  21303. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  21304. // IP address when addressed from a linked EC2-Classic instance. For more information,
  21305. // see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  21306. // in the Amazon Elastic Compute Cloud User Guide.
  21307. //
  21308. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21309. // with awserr.Error's Code and Message methods to get detailed information about
  21310. // the error.
  21311. //
  21312. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21313. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  21314. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  21315. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  21316. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  21317. return out, req.Send()
  21318. }
  21319. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  21320. // the ability to pass a context and additional request options.
  21321. //
  21322. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  21323. //
  21324. // The context must be non-nil and will be used for request cancellation. If
  21325. // the context is nil a panic will occur. In the future the SDK may create
  21326. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21327. // for more information on using Contexts.
  21328. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  21329. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  21330. req.SetContext(ctx)
  21331. req.ApplyOptions(opts...)
  21332. return out, req.Send()
  21333. }
  21334. // DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
  21335. // calling the "fn" function with the response data for each page. To stop
  21336. // iterating, return false from the fn function.
  21337. //
  21338. // See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
  21339. //
  21340. // Note: This operation can generate multiple requests to a service.
  21341. //
  21342. // // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
  21343. // pageNum := 0
  21344. // err := client.DescribeVpcClassicLinkDnsSupportPages(params,
  21345. // func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
  21346. // pageNum++
  21347. // fmt.Println(page)
  21348. // return pageNum <= 3
  21349. // })
  21350. //
  21351. func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
  21352. return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
  21353. }
  21354. // DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
  21355. // it takes a Context and allows setting request options on the pages.
  21356. //
  21357. // The context must be non-nil and will be used for request cancellation. If
  21358. // the context is nil a panic will occur. In the future the SDK may create
  21359. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21360. // for more information on using Contexts.
  21361. func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
  21362. p := request.Pagination{
  21363. NewRequest: func() (*request.Request, error) {
  21364. var inCpy *DescribeVpcClassicLinkDnsSupportInput
  21365. if input != nil {
  21366. tmp := *input
  21367. inCpy = &tmp
  21368. }
  21369. req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
  21370. req.SetContext(ctx)
  21371. req.ApplyOptions(opts...)
  21372. return req, nil
  21373. },
  21374. }
  21375. for p.Next() {
  21376. if !fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) {
  21377. break
  21378. }
  21379. }
  21380. return p.Err()
  21381. }
  21382. const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
  21383. // DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  21384. // client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
  21385. // value will be populated with the request's response once the request completes
  21386. // successfully.
  21387. //
  21388. // Use "Send" method on the returned Request to send the API call to the service.
  21389. // the "output" return value is not valid until after Send returns without error.
  21390. //
  21391. // See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
  21392. // API call, and error handling.
  21393. //
  21394. // This method is useful when you want to inject custom logic or configuration
  21395. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21396. //
  21397. //
  21398. // // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
  21399. // req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
  21400. //
  21401. // err := req.Send()
  21402. // if err == nil { // resp is now filled
  21403. // fmt.Println(resp)
  21404. // }
  21405. //
  21406. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  21407. func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
  21408. op := &request.Operation{
  21409. Name: opDescribeVpcEndpointConnectionNotifications,
  21410. HTTPMethod: "POST",
  21411. HTTPPath: "/",
  21412. Paginator: &request.Paginator{
  21413. InputTokens: []string{"NextToken"},
  21414. OutputTokens: []string{"NextToken"},
  21415. LimitToken: "MaxResults",
  21416. TruncationToken: "",
  21417. },
  21418. }
  21419. if input == nil {
  21420. input = &DescribeVpcEndpointConnectionNotificationsInput{}
  21421. }
  21422. output = &DescribeVpcEndpointConnectionNotificationsOutput{}
  21423. req = c.newRequest(op, input, output)
  21424. return
  21425. }
  21426. // DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  21427. //
  21428. // Describes the connection notifications for VPC endpoints and VPC endpoint
  21429. // services.
  21430. //
  21431. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21432. // with awserr.Error's Code and Message methods to get detailed information about
  21433. // the error.
  21434. //
  21435. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21436. // API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
  21437. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  21438. func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  21439. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  21440. return out, req.Send()
  21441. }
  21442. // DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
  21443. // the ability to pass a context and additional request options.
  21444. //
  21445. // See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
  21446. //
  21447. // The context must be non-nil and will be used for request cancellation. If
  21448. // the context is nil a panic will occur. In the future the SDK may create
  21449. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21450. // for more information on using Contexts.
  21451. func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  21452. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  21453. req.SetContext(ctx)
  21454. req.ApplyOptions(opts...)
  21455. return out, req.Send()
  21456. }
  21457. // DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
  21458. // calling the "fn" function with the response data for each page. To stop
  21459. // iterating, return false from the fn function.
  21460. //
  21461. // See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
  21462. //
  21463. // Note: This operation can generate multiple requests to a service.
  21464. //
  21465. // // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
  21466. // pageNum := 0
  21467. // err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
  21468. // func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
  21469. // pageNum++
  21470. // fmt.Println(page)
  21471. // return pageNum <= 3
  21472. // })
  21473. //
  21474. func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
  21475. return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  21476. }
  21477. // DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
  21478. // it takes a Context and allows setting request options on the pages.
  21479. //
  21480. // The context must be non-nil and will be used for request cancellation. If
  21481. // the context is nil a panic will occur. In the future the SDK may create
  21482. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21483. // for more information on using Contexts.
  21484. func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
  21485. p := request.Pagination{
  21486. NewRequest: func() (*request.Request, error) {
  21487. var inCpy *DescribeVpcEndpointConnectionNotificationsInput
  21488. if input != nil {
  21489. tmp := *input
  21490. inCpy = &tmp
  21491. }
  21492. req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
  21493. req.SetContext(ctx)
  21494. req.ApplyOptions(opts...)
  21495. return req, nil
  21496. },
  21497. }
  21498. for p.Next() {
  21499. if !fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) {
  21500. break
  21501. }
  21502. }
  21503. return p.Err()
  21504. }
  21505. const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
  21506. // DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  21507. // client's request for the DescribeVpcEndpointConnections operation. The "output" return
  21508. // value will be populated with the request's response once the request completes
  21509. // successfully.
  21510. //
  21511. // Use "Send" method on the returned Request to send the API call to the service.
  21512. // the "output" return value is not valid until after Send returns without error.
  21513. //
  21514. // See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
  21515. // API call, and error handling.
  21516. //
  21517. // This method is useful when you want to inject custom logic or configuration
  21518. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21519. //
  21520. //
  21521. // // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
  21522. // req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
  21523. //
  21524. // err := req.Send()
  21525. // if err == nil { // resp is now filled
  21526. // fmt.Println(resp)
  21527. // }
  21528. //
  21529. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  21530. func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
  21531. op := &request.Operation{
  21532. Name: opDescribeVpcEndpointConnections,
  21533. HTTPMethod: "POST",
  21534. HTTPPath: "/",
  21535. Paginator: &request.Paginator{
  21536. InputTokens: []string{"NextToken"},
  21537. OutputTokens: []string{"NextToken"},
  21538. LimitToken: "MaxResults",
  21539. TruncationToken: "",
  21540. },
  21541. }
  21542. if input == nil {
  21543. input = &DescribeVpcEndpointConnectionsInput{}
  21544. }
  21545. output = &DescribeVpcEndpointConnectionsOutput{}
  21546. req = c.newRequest(op, input, output)
  21547. return
  21548. }
  21549. // DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  21550. //
  21551. // Describes the VPC endpoint connections to your VPC endpoint services, including
  21552. // any endpoints that are pending your acceptance.
  21553. //
  21554. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21555. // with awserr.Error's Code and Message methods to get detailed information about
  21556. // the error.
  21557. //
  21558. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21559. // API operation DescribeVpcEndpointConnections for usage and error information.
  21560. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  21561. func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
  21562. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  21563. return out, req.Send()
  21564. }
  21565. // DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
  21566. // the ability to pass a context and additional request options.
  21567. //
  21568. // See DescribeVpcEndpointConnections for details on how to use this API operation.
  21569. //
  21570. // The context must be non-nil and will be used for request cancellation. If
  21571. // the context is nil a panic will occur. In the future the SDK may create
  21572. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21573. // for more information on using Contexts.
  21574. func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
  21575. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  21576. req.SetContext(ctx)
  21577. req.ApplyOptions(opts...)
  21578. return out, req.Send()
  21579. }
  21580. // DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
  21581. // calling the "fn" function with the response data for each page. To stop
  21582. // iterating, return false from the fn function.
  21583. //
  21584. // See DescribeVpcEndpointConnections method for more information on how to use this operation.
  21585. //
  21586. // Note: This operation can generate multiple requests to a service.
  21587. //
  21588. // // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
  21589. // pageNum := 0
  21590. // err := client.DescribeVpcEndpointConnectionsPages(params,
  21591. // func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
  21592. // pageNum++
  21593. // fmt.Println(page)
  21594. // return pageNum <= 3
  21595. // })
  21596. //
  21597. func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
  21598. return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  21599. }
  21600. // DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
  21601. // it takes a Context and allows setting request options on the pages.
  21602. //
  21603. // The context must be non-nil and will be used for request cancellation. If
  21604. // the context is nil a panic will occur. In the future the SDK may create
  21605. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21606. // for more information on using Contexts.
  21607. func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
  21608. p := request.Pagination{
  21609. NewRequest: func() (*request.Request, error) {
  21610. var inCpy *DescribeVpcEndpointConnectionsInput
  21611. if input != nil {
  21612. tmp := *input
  21613. inCpy = &tmp
  21614. }
  21615. req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
  21616. req.SetContext(ctx)
  21617. req.ApplyOptions(opts...)
  21618. return req, nil
  21619. },
  21620. }
  21621. for p.Next() {
  21622. if !fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) {
  21623. break
  21624. }
  21625. }
  21626. return p.Err()
  21627. }
  21628. const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
  21629. // DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  21630. // client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
  21631. // value will be populated with the request's response once the request completes
  21632. // successfully.
  21633. //
  21634. // Use "Send" method on the returned Request to send the API call to the service.
  21635. // the "output" return value is not valid until after Send returns without error.
  21636. //
  21637. // See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
  21638. // API call, and error handling.
  21639. //
  21640. // This method is useful when you want to inject custom logic or configuration
  21641. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21642. //
  21643. //
  21644. // // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
  21645. // req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
  21646. //
  21647. // err := req.Send()
  21648. // if err == nil { // resp is now filled
  21649. // fmt.Println(resp)
  21650. // }
  21651. //
  21652. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  21653. func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
  21654. op := &request.Operation{
  21655. Name: opDescribeVpcEndpointServiceConfigurations,
  21656. HTTPMethod: "POST",
  21657. HTTPPath: "/",
  21658. Paginator: &request.Paginator{
  21659. InputTokens: []string{"NextToken"},
  21660. OutputTokens: []string{"NextToken"},
  21661. LimitToken: "MaxResults",
  21662. TruncationToken: "",
  21663. },
  21664. }
  21665. if input == nil {
  21666. input = &DescribeVpcEndpointServiceConfigurationsInput{}
  21667. }
  21668. output = &DescribeVpcEndpointServiceConfigurationsOutput{}
  21669. req = c.newRequest(op, input, output)
  21670. return
  21671. }
  21672. // DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  21673. //
  21674. // Describes the VPC endpoint service configurations in your account (your services).
  21675. //
  21676. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21677. // with awserr.Error's Code and Message methods to get detailed information about
  21678. // the error.
  21679. //
  21680. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21681. // API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
  21682. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  21683. func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  21684. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  21685. return out, req.Send()
  21686. }
  21687. // DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
  21688. // the ability to pass a context and additional request options.
  21689. //
  21690. // See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
  21691. //
  21692. // The context must be non-nil and will be used for request cancellation. If
  21693. // the context is nil a panic will occur. In the future the SDK may create
  21694. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21695. // for more information on using Contexts.
  21696. func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  21697. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  21698. req.SetContext(ctx)
  21699. req.ApplyOptions(opts...)
  21700. return out, req.Send()
  21701. }
  21702. // DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
  21703. // calling the "fn" function with the response data for each page. To stop
  21704. // iterating, return false from the fn function.
  21705. //
  21706. // See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
  21707. //
  21708. // Note: This operation can generate multiple requests to a service.
  21709. //
  21710. // // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
  21711. // pageNum := 0
  21712. // err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
  21713. // func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
  21714. // pageNum++
  21715. // fmt.Println(page)
  21716. // return pageNum <= 3
  21717. // })
  21718. //
  21719. func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
  21720. return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  21721. }
  21722. // DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
  21723. // it takes a Context and allows setting request options on the pages.
  21724. //
  21725. // The context must be non-nil and will be used for request cancellation. If
  21726. // the context is nil a panic will occur. In the future the SDK may create
  21727. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21728. // for more information on using Contexts.
  21729. func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
  21730. p := request.Pagination{
  21731. NewRequest: func() (*request.Request, error) {
  21732. var inCpy *DescribeVpcEndpointServiceConfigurationsInput
  21733. if input != nil {
  21734. tmp := *input
  21735. inCpy = &tmp
  21736. }
  21737. req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
  21738. req.SetContext(ctx)
  21739. req.ApplyOptions(opts...)
  21740. return req, nil
  21741. },
  21742. }
  21743. for p.Next() {
  21744. if !fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) {
  21745. break
  21746. }
  21747. }
  21748. return p.Err()
  21749. }
  21750. const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
  21751. // DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  21752. // client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
  21753. // value will be populated with the request's response once the request completes
  21754. // successfully.
  21755. //
  21756. // Use "Send" method on the returned Request to send the API call to the service.
  21757. // the "output" return value is not valid until after Send returns without error.
  21758. //
  21759. // See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
  21760. // API call, and error handling.
  21761. //
  21762. // This method is useful when you want to inject custom logic or configuration
  21763. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21764. //
  21765. //
  21766. // // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
  21767. // req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
  21768. //
  21769. // err := req.Send()
  21770. // if err == nil { // resp is now filled
  21771. // fmt.Println(resp)
  21772. // }
  21773. //
  21774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  21775. func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
  21776. op := &request.Operation{
  21777. Name: opDescribeVpcEndpointServicePermissions,
  21778. HTTPMethod: "POST",
  21779. HTTPPath: "/",
  21780. Paginator: &request.Paginator{
  21781. InputTokens: []string{"NextToken"},
  21782. OutputTokens: []string{"NextToken"},
  21783. LimitToken: "MaxResults",
  21784. TruncationToken: "",
  21785. },
  21786. }
  21787. if input == nil {
  21788. input = &DescribeVpcEndpointServicePermissionsInput{}
  21789. }
  21790. output = &DescribeVpcEndpointServicePermissionsOutput{}
  21791. req = c.newRequest(op, input, output)
  21792. return
  21793. }
  21794. // DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  21795. //
  21796. // Describes the principals (service consumers) that are permitted to discover
  21797. // your VPC endpoint service.
  21798. //
  21799. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21800. // with awserr.Error's Code and Message methods to get detailed information about
  21801. // the error.
  21802. //
  21803. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21804. // API operation DescribeVpcEndpointServicePermissions for usage and error information.
  21805. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  21806. func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  21807. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  21808. return out, req.Send()
  21809. }
  21810. // DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
  21811. // the ability to pass a context and additional request options.
  21812. //
  21813. // See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
  21814. //
  21815. // The context must be non-nil and will be used for request cancellation. If
  21816. // the context is nil a panic will occur. In the future the SDK may create
  21817. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21818. // for more information on using Contexts.
  21819. func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  21820. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  21821. req.SetContext(ctx)
  21822. req.ApplyOptions(opts...)
  21823. return out, req.Send()
  21824. }
  21825. // DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
  21826. // calling the "fn" function with the response data for each page. To stop
  21827. // iterating, return false from the fn function.
  21828. //
  21829. // See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
  21830. //
  21831. // Note: This operation can generate multiple requests to a service.
  21832. //
  21833. // // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
  21834. // pageNum := 0
  21835. // err := client.DescribeVpcEndpointServicePermissionsPages(params,
  21836. // func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
  21837. // pageNum++
  21838. // fmt.Println(page)
  21839. // return pageNum <= 3
  21840. // })
  21841. //
  21842. func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
  21843. return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
  21844. }
  21845. // DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
  21846. // it takes a Context and allows setting request options on the pages.
  21847. //
  21848. // The context must be non-nil and will be used for request cancellation. If
  21849. // the context is nil a panic will occur. In the future the SDK may create
  21850. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21851. // for more information on using Contexts.
  21852. func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
  21853. p := request.Pagination{
  21854. NewRequest: func() (*request.Request, error) {
  21855. var inCpy *DescribeVpcEndpointServicePermissionsInput
  21856. if input != nil {
  21857. tmp := *input
  21858. inCpy = &tmp
  21859. }
  21860. req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
  21861. req.SetContext(ctx)
  21862. req.ApplyOptions(opts...)
  21863. return req, nil
  21864. },
  21865. }
  21866. for p.Next() {
  21867. if !fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) {
  21868. break
  21869. }
  21870. }
  21871. return p.Err()
  21872. }
  21873. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  21874. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  21875. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  21876. // value will be populated with the request's response once the request completes
  21877. // successfully.
  21878. //
  21879. // Use "Send" method on the returned Request to send the API call to the service.
  21880. // the "output" return value is not valid until after Send returns without error.
  21881. //
  21882. // See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
  21883. // API call, and error handling.
  21884. //
  21885. // This method is useful when you want to inject custom logic or configuration
  21886. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21887. //
  21888. //
  21889. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  21890. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  21891. //
  21892. // err := req.Send()
  21893. // if err == nil { // resp is now filled
  21894. // fmt.Println(resp)
  21895. // }
  21896. //
  21897. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  21898. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  21899. op := &request.Operation{
  21900. Name: opDescribeVpcEndpointServices,
  21901. HTTPMethod: "POST",
  21902. HTTPPath: "/",
  21903. }
  21904. if input == nil {
  21905. input = &DescribeVpcEndpointServicesInput{}
  21906. }
  21907. output = &DescribeVpcEndpointServicesOutput{}
  21908. req = c.newRequest(op, input, output)
  21909. return
  21910. }
  21911. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  21912. //
  21913. // Describes available services to which you can create a VPC endpoint.
  21914. //
  21915. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21916. // with awserr.Error's Code and Message methods to get detailed information about
  21917. // the error.
  21918. //
  21919. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21920. // API operation DescribeVpcEndpointServices for usage and error information.
  21921. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  21922. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  21923. req, out := c.DescribeVpcEndpointServicesRequest(input)
  21924. return out, req.Send()
  21925. }
  21926. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  21927. // the ability to pass a context and additional request options.
  21928. //
  21929. // See DescribeVpcEndpointServices for details on how to use this API operation.
  21930. //
  21931. // The context must be non-nil and will be used for request cancellation. If
  21932. // the context is nil a panic will occur. In the future the SDK may create
  21933. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21934. // for more information on using Contexts.
  21935. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  21936. req, out := c.DescribeVpcEndpointServicesRequest(input)
  21937. req.SetContext(ctx)
  21938. req.ApplyOptions(opts...)
  21939. return out, req.Send()
  21940. }
  21941. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  21942. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  21943. // client's request for the DescribeVpcEndpoints operation. The "output" return
  21944. // value will be populated with the request's response once the request completes
  21945. // successfully.
  21946. //
  21947. // Use "Send" method on the returned Request to send the API call to the service.
  21948. // the "output" return value is not valid until after Send returns without error.
  21949. //
  21950. // See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
  21951. // API call, and error handling.
  21952. //
  21953. // This method is useful when you want to inject custom logic or configuration
  21954. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21955. //
  21956. //
  21957. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  21958. // req, resp := client.DescribeVpcEndpointsRequest(params)
  21959. //
  21960. // err := req.Send()
  21961. // if err == nil { // resp is now filled
  21962. // fmt.Println(resp)
  21963. // }
  21964. //
  21965. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  21966. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  21967. op := &request.Operation{
  21968. Name: opDescribeVpcEndpoints,
  21969. HTTPMethod: "POST",
  21970. HTTPPath: "/",
  21971. Paginator: &request.Paginator{
  21972. InputTokens: []string{"NextToken"},
  21973. OutputTokens: []string{"NextToken"},
  21974. LimitToken: "MaxResults",
  21975. TruncationToken: "",
  21976. },
  21977. }
  21978. if input == nil {
  21979. input = &DescribeVpcEndpointsInput{}
  21980. }
  21981. output = &DescribeVpcEndpointsOutput{}
  21982. req = c.newRequest(op, input, output)
  21983. return
  21984. }
  21985. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  21986. //
  21987. // Describes one or more of your VPC endpoints.
  21988. //
  21989. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21990. // with awserr.Error's Code and Message methods to get detailed information about
  21991. // the error.
  21992. //
  21993. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21994. // API operation DescribeVpcEndpoints for usage and error information.
  21995. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  21996. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  21997. req, out := c.DescribeVpcEndpointsRequest(input)
  21998. return out, req.Send()
  21999. }
  22000. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  22001. // the ability to pass a context and additional request options.
  22002. //
  22003. // See DescribeVpcEndpoints for details on how to use this API operation.
  22004. //
  22005. // The context must be non-nil and will be used for request cancellation. If
  22006. // the context is nil a panic will occur. In the future the SDK may create
  22007. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22008. // for more information on using Contexts.
  22009. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  22010. req, out := c.DescribeVpcEndpointsRequest(input)
  22011. req.SetContext(ctx)
  22012. req.ApplyOptions(opts...)
  22013. return out, req.Send()
  22014. }
  22015. // DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
  22016. // calling the "fn" function with the response data for each page. To stop
  22017. // iterating, return false from the fn function.
  22018. //
  22019. // See DescribeVpcEndpoints method for more information on how to use this operation.
  22020. //
  22021. // Note: This operation can generate multiple requests to a service.
  22022. //
  22023. // // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
  22024. // pageNum := 0
  22025. // err := client.DescribeVpcEndpointsPages(params,
  22026. // func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
  22027. // pageNum++
  22028. // fmt.Println(page)
  22029. // return pageNum <= 3
  22030. // })
  22031. //
  22032. func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
  22033. return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  22034. }
  22035. // DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
  22036. // it takes a Context and allows setting request options on the pages.
  22037. //
  22038. // The context must be non-nil and will be used for request cancellation. If
  22039. // the context is nil a panic will occur. In the future the SDK may create
  22040. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22041. // for more information on using Contexts.
  22042. func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
  22043. p := request.Pagination{
  22044. NewRequest: func() (*request.Request, error) {
  22045. var inCpy *DescribeVpcEndpointsInput
  22046. if input != nil {
  22047. tmp := *input
  22048. inCpy = &tmp
  22049. }
  22050. req, _ := c.DescribeVpcEndpointsRequest(inCpy)
  22051. req.SetContext(ctx)
  22052. req.ApplyOptions(opts...)
  22053. return req, nil
  22054. },
  22055. }
  22056. for p.Next() {
  22057. if !fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) {
  22058. break
  22059. }
  22060. }
  22061. return p.Err()
  22062. }
  22063. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  22064. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  22065. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  22066. // value will be populated with the request's response once the request completes
  22067. // successfully.
  22068. //
  22069. // Use "Send" method on the returned Request to send the API call to the service.
  22070. // the "output" return value is not valid until after Send returns without error.
  22071. //
  22072. // See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
  22073. // API call, and error handling.
  22074. //
  22075. // This method is useful when you want to inject custom logic or configuration
  22076. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22077. //
  22078. //
  22079. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  22080. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  22081. //
  22082. // err := req.Send()
  22083. // if err == nil { // resp is now filled
  22084. // fmt.Println(resp)
  22085. // }
  22086. //
  22087. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  22088. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  22089. op := &request.Operation{
  22090. Name: opDescribeVpcPeeringConnections,
  22091. HTTPMethod: "POST",
  22092. HTTPPath: "/",
  22093. Paginator: &request.Paginator{
  22094. InputTokens: []string{"NextToken"},
  22095. OutputTokens: []string{"NextToken"},
  22096. LimitToken: "MaxResults",
  22097. TruncationToken: "",
  22098. },
  22099. }
  22100. if input == nil {
  22101. input = &DescribeVpcPeeringConnectionsInput{}
  22102. }
  22103. output = &DescribeVpcPeeringConnectionsOutput{}
  22104. req = c.newRequest(op, input, output)
  22105. return
  22106. }
  22107. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  22108. //
  22109. // Describes one or more of your VPC peering connections.
  22110. //
  22111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22112. // with awserr.Error's Code and Message methods to get detailed information about
  22113. // the error.
  22114. //
  22115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22116. // API operation DescribeVpcPeeringConnections for usage and error information.
  22117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  22118. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  22119. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  22120. return out, req.Send()
  22121. }
  22122. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  22123. // the ability to pass a context and additional request options.
  22124. //
  22125. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  22126. //
  22127. // The context must be non-nil and will be used for request cancellation. If
  22128. // the context is nil a panic will occur. In the future the SDK may create
  22129. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22130. // for more information on using Contexts.
  22131. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  22132. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  22133. req.SetContext(ctx)
  22134. req.ApplyOptions(opts...)
  22135. return out, req.Send()
  22136. }
  22137. // DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
  22138. // calling the "fn" function with the response data for each page. To stop
  22139. // iterating, return false from the fn function.
  22140. //
  22141. // See DescribeVpcPeeringConnections method for more information on how to use this operation.
  22142. //
  22143. // Note: This operation can generate multiple requests to a service.
  22144. //
  22145. // // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
  22146. // pageNum := 0
  22147. // err := client.DescribeVpcPeeringConnectionsPages(params,
  22148. // func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
  22149. // pageNum++
  22150. // fmt.Println(page)
  22151. // return pageNum <= 3
  22152. // })
  22153. //
  22154. func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
  22155. return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  22156. }
  22157. // DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
  22158. // it takes a Context and allows setting request options on the pages.
  22159. //
  22160. // The context must be non-nil and will be used for request cancellation. If
  22161. // the context is nil a panic will occur. In the future the SDK may create
  22162. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22163. // for more information on using Contexts.
  22164. func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
  22165. p := request.Pagination{
  22166. NewRequest: func() (*request.Request, error) {
  22167. var inCpy *DescribeVpcPeeringConnectionsInput
  22168. if input != nil {
  22169. tmp := *input
  22170. inCpy = &tmp
  22171. }
  22172. req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
  22173. req.SetContext(ctx)
  22174. req.ApplyOptions(opts...)
  22175. return req, nil
  22176. },
  22177. }
  22178. for p.Next() {
  22179. if !fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) {
  22180. break
  22181. }
  22182. }
  22183. return p.Err()
  22184. }
  22185. const opDescribeVpcs = "DescribeVpcs"
  22186. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  22187. // client's request for the DescribeVpcs operation. The "output" return
  22188. // value will be populated with the request's response once the request completes
  22189. // successfully.
  22190. //
  22191. // Use "Send" method on the returned Request to send the API call to the service.
  22192. // the "output" return value is not valid until after Send returns without error.
  22193. //
  22194. // See DescribeVpcs for more information on using the DescribeVpcs
  22195. // API call, and error handling.
  22196. //
  22197. // This method is useful when you want to inject custom logic or configuration
  22198. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22199. //
  22200. //
  22201. // // Example sending a request using the DescribeVpcsRequest method.
  22202. // req, resp := client.DescribeVpcsRequest(params)
  22203. //
  22204. // err := req.Send()
  22205. // if err == nil { // resp is now filled
  22206. // fmt.Println(resp)
  22207. // }
  22208. //
  22209. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  22210. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  22211. op := &request.Operation{
  22212. Name: opDescribeVpcs,
  22213. HTTPMethod: "POST",
  22214. HTTPPath: "/",
  22215. Paginator: &request.Paginator{
  22216. InputTokens: []string{"NextToken"},
  22217. OutputTokens: []string{"NextToken"},
  22218. LimitToken: "MaxResults",
  22219. TruncationToken: "",
  22220. },
  22221. }
  22222. if input == nil {
  22223. input = &DescribeVpcsInput{}
  22224. }
  22225. output = &DescribeVpcsOutput{}
  22226. req = c.newRequest(op, input, output)
  22227. return
  22228. }
  22229. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  22230. //
  22231. // Describes one or more of your VPCs.
  22232. //
  22233. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22234. // with awserr.Error's Code and Message methods to get detailed information about
  22235. // the error.
  22236. //
  22237. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22238. // API operation DescribeVpcs for usage and error information.
  22239. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  22240. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  22241. req, out := c.DescribeVpcsRequest(input)
  22242. return out, req.Send()
  22243. }
  22244. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  22245. // the ability to pass a context and additional request options.
  22246. //
  22247. // See DescribeVpcs for details on how to use this API operation.
  22248. //
  22249. // The context must be non-nil and will be used for request cancellation. If
  22250. // the context is nil a panic will occur. In the future the SDK may create
  22251. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22252. // for more information on using Contexts.
  22253. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  22254. req, out := c.DescribeVpcsRequest(input)
  22255. req.SetContext(ctx)
  22256. req.ApplyOptions(opts...)
  22257. return out, req.Send()
  22258. }
  22259. // DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
  22260. // calling the "fn" function with the response data for each page. To stop
  22261. // iterating, return false from the fn function.
  22262. //
  22263. // See DescribeVpcs method for more information on how to use this operation.
  22264. //
  22265. // Note: This operation can generate multiple requests to a service.
  22266. //
  22267. // // Example iterating over at most 3 pages of a DescribeVpcs operation.
  22268. // pageNum := 0
  22269. // err := client.DescribeVpcsPages(params,
  22270. // func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
  22271. // pageNum++
  22272. // fmt.Println(page)
  22273. // return pageNum <= 3
  22274. // })
  22275. //
  22276. func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
  22277. return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
  22278. }
  22279. // DescribeVpcsPagesWithContext same as DescribeVpcsPages except
  22280. // it takes a Context and allows setting request options on the pages.
  22281. //
  22282. // The context must be non-nil and will be used for request cancellation. If
  22283. // the context is nil a panic will occur. In the future the SDK may create
  22284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22285. // for more information on using Contexts.
  22286. func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
  22287. p := request.Pagination{
  22288. NewRequest: func() (*request.Request, error) {
  22289. var inCpy *DescribeVpcsInput
  22290. if input != nil {
  22291. tmp := *input
  22292. inCpy = &tmp
  22293. }
  22294. req, _ := c.DescribeVpcsRequest(inCpy)
  22295. req.SetContext(ctx)
  22296. req.ApplyOptions(opts...)
  22297. return req, nil
  22298. },
  22299. }
  22300. for p.Next() {
  22301. if !fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) {
  22302. break
  22303. }
  22304. }
  22305. return p.Err()
  22306. }
  22307. const opDescribeVpnConnections = "DescribeVpnConnections"
  22308. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  22309. // client's request for the DescribeVpnConnections operation. The "output" return
  22310. // value will be populated with the request's response once the request completes
  22311. // successfully.
  22312. //
  22313. // Use "Send" method on the returned Request to send the API call to the service.
  22314. // the "output" return value is not valid until after Send returns without error.
  22315. //
  22316. // See DescribeVpnConnections for more information on using the DescribeVpnConnections
  22317. // API call, and error handling.
  22318. //
  22319. // This method is useful when you want to inject custom logic or configuration
  22320. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22321. //
  22322. //
  22323. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  22324. // req, resp := client.DescribeVpnConnectionsRequest(params)
  22325. //
  22326. // err := req.Send()
  22327. // if err == nil { // resp is now filled
  22328. // fmt.Println(resp)
  22329. // }
  22330. //
  22331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  22332. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  22333. op := &request.Operation{
  22334. Name: opDescribeVpnConnections,
  22335. HTTPMethod: "POST",
  22336. HTTPPath: "/",
  22337. }
  22338. if input == nil {
  22339. input = &DescribeVpnConnectionsInput{}
  22340. }
  22341. output = &DescribeVpnConnectionsOutput{}
  22342. req = c.newRequest(op, input, output)
  22343. return
  22344. }
  22345. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  22346. //
  22347. // Describes one or more of your VPN connections.
  22348. //
  22349. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  22350. // in the AWS Site-to-Site VPN User Guide.
  22351. //
  22352. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22353. // with awserr.Error's Code and Message methods to get detailed information about
  22354. // the error.
  22355. //
  22356. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22357. // API operation DescribeVpnConnections for usage and error information.
  22358. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  22359. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  22360. req, out := c.DescribeVpnConnectionsRequest(input)
  22361. return out, req.Send()
  22362. }
  22363. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  22364. // the ability to pass a context and additional request options.
  22365. //
  22366. // See DescribeVpnConnections for details on how to use this API operation.
  22367. //
  22368. // The context must be non-nil and will be used for request cancellation. If
  22369. // the context is nil a panic will occur. In the future the SDK may create
  22370. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22371. // for more information on using Contexts.
  22372. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  22373. req, out := c.DescribeVpnConnectionsRequest(input)
  22374. req.SetContext(ctx)
  22375. req.ApplyOptions(opts...)
  22376. return out, req.Send()
  22377. }
  22378. const opDescribeVpnGateways = "DescribeVpnGateways"
  22379. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  22380. // client's request for the DescribeVpnGateways operation. The "output" return
  22381. // value will be populated with the request's response once the request completes
  22382. // successfully.
  22383. //
  22384. // Use "Send" method on the returned Request to send the API call to the service.
  22385. // the "output" return value is not valid until after Send returns without error.
  22386. //
  22387. // See DescribeVpnGateways for more information on using the DescribeVpnGateways
  22388. // API call, and error handling.
  22389. //
  22390. // This method is useful when you want to inject custom logic or configuration
  22391. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22392. //
  22393. //
  22394. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  22395. // req, resp := client.DescribeVpnGatewaysRequest(params)
  22396. //
  22397. // err := req.Send()
  22398. // if err == nil { // resp is now filled
  22399. // fmt.Println(resp)
  22400. // }
  22401. //
  22402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  22403. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  22404. op := &request.Operation{
  22405. Name: opDescribeVpnGateways,
  22406. HTTPMethod: "POST",
  22407. HTTPPath: "/",
  22408. }
  22409. if input == nil {
  22410. input = &DescribeVpnGatewaysInput{}
  22411. }
  22412. output = &DescribeVpnGatewaysOutput{}
  22413. req = c.newRequest(op, input, output)
  22414. return
  22415. }
  22416. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  22417. //
  22418. // Describes one or more of your virtual private gateways.
  22419. //
  22420. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  22421. // in the AWS Site-to-Site VPN User Guide.
  22422. //
  22423. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22424. // with awserr.Error's Code and Message methods to get detailed information about
  22425. // the error.
  22426. //
  22427. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22428. // API operation DescribeVpnGateways for usage and error information.
  22429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  22430. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  22431. req, out := c.DescribeVpnGatewaysRequest(input)
  22432. return out, req.Send()
  22433. }
  22434. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  22435. // the ability to pass a context and additional request options.
  22436. //
  22437. // See DescribeVpnGateways for details on how to use this API operation.
  22438. //
  22439. // The context must be non-nil and will be used for request cancellation. If
  22440. // the context is nil a panic will occur. In the future the SDK may create
  22441. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22442. // for more information on using Contexts.
  22443. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  22444. req, out := c.DescribeVpnGatewaysRequest(input)
  22445. req.SetContext(ctx)
  22446. req.ApplyOptions(opts...)
  22447. return out, req.Send()
  22448. }
  22449. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  22450. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  22451. // client's request for the DetachClassicLinkVpc operation. The "output" return
  22452. // value will be populated with the request's response once the request completes
  22453. // successfully.
  22454. //
  22455. // Use "Send" method on the returned Request to send the API call to the service.
  22456. // the "output" return value is not valid until after Send returns without error.
  22457. //
  22458. // See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
  22459. // API call, and error handling.
  22460. //
  22461. // This method is useful when you want to inject custom logic or configuration
  22462. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22463. //
  22464. //
  22465. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  22466. // req, resp := client.DetachClassicLinkVpcRequest(params)
  22467. //
  22468. // err := req.Send()
  22469. // if err == nil { // resp is now filled
  22470. // fmt.Println(resp)
  22471. // }
  22472. //
  22473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  22474. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  22475. op := &request.Operation{
  22476. Name: opDetachClassicLinkVpc,
  22477. HTTPMethod: "POST",
  22478. HTTPPath: "/",
  22479. }
  22480. if input == nil {
  22481. input = &DetachClassicLinkVpcInput{}
  22482. }
  22483. output = &DetachClassicLinkVpcOutput{}
  22484. req = c.newRequest(op, input, output)
  22485. return
  22486. }
  22487. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  22488. //
  22489. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  22490. // has been unlinked, the VPC security groups are no longer associated with
  22491. // it. An instance is automatically unlinked from a VPC when it's stopped.
  22492. //
  22493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22494. // with awserr.Error's Code and Message methods to get detailed information about
  22495. // the error.
  22496. //
  22497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22498. // API operation DetachClassicLinkVpc for usage and error information.
  22499. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  22500. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  22501. req, out := c.DetachClassicLinkVpcRequest(input)
  22502. return out, req.Send()
  22503. }
  22504. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  22505. // the ability to pass a context and additional request options.
  22506. //
  22507. // See DetachClassicLinkVpc for details on how to use this API operation.
  22508. //
  22509. // The context must be non-nil and will be used for request cancellation. If
  22510. // the context is nil a panic will occur. In the future the SDK may create
  22511. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22512. // for more information on using Contexts.
  22513. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  22514. req, out := c.DetachClassicLinkVpcRequest(input)
  22515. req.SetContext(ctx)
  22516. req.ApplyOptions(opts...)
  22517. return out, req.Send()
  22518. }
  22519. const opDetachInternetGateway = "DetachInternetGateway"
  22520. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  22521. // client's request for the DetachInternetGateway operation. The "output" return
  22522. // value will be populated with the request's response once the request completes
  22523. // successfully.
  22524. //
  22525. // Use "Send" method on the returned Request to send the API call to the service.
  22526. // the "output" return value is not valid until after Send returns without error.
  22527. //
  22528. // See DetachInternetGateway for more information on using the DetachInternetGateway
  22529. // API call, and error handling.
  22530. //
  22531. // This method is useful when you want to inject custom logic or configuration
  22532. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22533. //
  22534. //
  22535. // // Example sending a request using the DetachInternetGatewayRequest method.
  22536. // req, resp := client.DetachInternetGatewayRequest(params)
  22537. //
  22538. // err := req.Send()
  22539. // if err == nil { // resp is now filled
  22540. // fmt.Println(resp)
  22541. // }
  22542. //
  22543. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  22544. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  22545. op := &request.Operation{
  22546. Name: opDetachInternetGateway,
  22547. HTTPMethod: "POST",
  22548. HTTPPath: "/",
  22549. }
  22550. if input == nil {
  22551. input = &DetachInternetGatewayInput{}
  22552. }
  22553. output = &DetachInternetGatewayOutput{}
  22554. req = c.newRequest(op, input, output)
  22555. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  22556. return
  22557. }
  22558. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  22559. //
  22560. // Detaches an internet gateway from a VPC, disabling connectivity between the
  22561. // internet and the VPC. The VPC must not contain any running instances with
  22562. // Elastic IP addresses or public IPv4 addresses.
  22563. //
  22564. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22565. // with awserr.Error's Code and Message methods to get detailed information about
  22566. // the error.
  22567. //
  22568. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22569. // API operation DetachInternetGateway for usage and error information.
  22570. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  22571. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  22572. req, out := c.DetachInternetGatewayRequest(input)
  22573. return out, req.Send()
  22574. }
  22575. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  22576. // the ability to pass a context and additional request options.
  22577. //
  22578. // See DetachInternetGateway for details on how to use this API operation.
  22579. //
  22580. // The context must be non-nil and will be used for request cancellation. If
  22581. // the context is nil a panic will occur. In the future the SDK may create
  22582. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22583. // for more information on using Contexts.
  22584. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  22585. req, out := c.DetachInternetGatewayRequest(input)
  22586. req.SetContext(ctx)
  22587. req.ApplyOptions(opts...)
  22588. return out, req.Send()
  22589. }
  22590. const opDetachNetworkInterface = "DetachNetworkInterface"
  22591. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  22592. // client's request for the DetachNetworkInterface operation. The "output" return
  22593. // value will be populated with the request's response once the request completes
  22594. // successfully.
  22595. //
  22596. // Use "Send" method on the returned Request to send the API call to the service.
  22597. // the "output" return value is not valid until after Send returns without error.
  22598. //
  22599. // See DetachNetworkInterface for more information on using the DetachNetworkInterface
  22600. // API call, and error handling.
  22601. //
  22602. // This method is useful when you want to inject custom logic or configuration
  22603. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22604. //
  22605. //
  22606. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  22607. // req, resp := client.DetachNetworkInterfaceRequest(params)
  22608. //
  22609. // err := req.Send()
  22610. // if err == nil { // resp is now filled
  22611. // fmt.Println(resp)
  22612. // }
  22613. //
  22614. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  22615. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  22616. op := &request.Operation{
  22617. Name: opDetachNetworkInterface,
  22618. HTTPMethod: "POST",
  22619. HTTPPath: "/",
  22620. }
  22621. if input == nil {
  22622. input = &DetachNetworkInterfaceInput{}
  22623. }
  22624. output = &DetachNetworkInterfaceOutput{}
  22625. req = c.newRequest(op, input, output)
  22626. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  22627. return
  22628. }
  22629. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  22630. //
  22631. // Detaches a network interface from an instance.
  22632. //
  22633. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22634. // with awserr.Error's Code and Message methods to get detailed information about
  22635. // the error.
  22636. //
  22637. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22638. // API operation DetachNetworkInterface for usage and error information.
  22639. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  22640. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  22641. req, out := c.DetachNetworkInterfaceRequest(input)
  22642. return out, req.Send()
  22643. }
  22644. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  22645. // the ability to pass a context and additional request options.
  22646. //
  22647. // See DetachNetworkInterface for details on how to use this API operation.
  22648. //
  22649. // The context must be non-nil and will be used for request cancellation. If
  22650. // the context is nil a panic will occur. In the future the SDK may create
  22651. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22652. // for more information on using Contexts.
  22653. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  22654. req, out := c.DetachNetworkInterfaceRequest(input)
  22655. req.SetContext(ctx)
  22656. req.ApplyOptions(opts...)
  22657. return out, req.Send()
  22658. }
  22659. const opDetachVolume = "DetachVolume"
  22660. // DetachVolumeRequest generates a "aws/request.Request" representing the
  22661. // client's request for the DetachVolume operation. The "output" return
  22662. // value will be populated with the request's response once the request completes
  22663. // successfully.
  22664. //
  22665. // Use "Send" method on the returned Request to send the API call to the service.
  22666. // the "output" return value is not valid until after Send returns without error.
  22667. //
  22668. // See DetachVolume for more information on using the DetachVolume
  22669. // API call, and error handling.
  22670. //
  22671. // This method is useful when you want to inject custom logic or configuration
  22672. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22673. //
  22674. //
  22675. // // Example sending a request using the DetachVolumeRequest method.
  22676. // req, resp := client.DetachVolumeRequest(params)
  22677. //
  22678. // err := req.Send()
  22679. // if err == nil { // resp is now filled
  22680. // fmt.Println(resp)
  22681. // }
  22682. //
  22683. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  22684. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  22685. op := &request.Operation{
  22686. Name: opDetachVolume,
  22687. HTTPMethod: "POST",
  22688. HTTPPath: "/",
  22689. }
  22690. if input == nil {
  22691. input = &DetachVolumeInput{}
  22692. }
  22693. output = &VolumeAttachment{}
  22694. req = c.newRequest(op, input, output)
  22695. return
  22696. }
  22697. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  22698. //
  22699. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  22700. // on the device within your operating system before detaching the volume. Failure
  22701. // to do so can result in the volume becoming stuck in the busy state while
  22702. // detaching. If this happens, detachment can be delayed indefinitely until
  22703. // you unmount the volume, force detachment, reboot the instance, or all three.
  22704. // If an EBS volume is the root device of an instance, it can't be detached
  22705. // while the instance is running. To detach the root volume, stop the instance
  22706. // first.
  22707. //
  22708. // When a volume with an AWS Marketplace product code is detached from an instance,
  22709. // the product code is no longer associated with the instance.
  22710. //
  22711. // For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  22712. // in the Amazon Elastic Compute Cloud User Guide.
  22713. //
  22714. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22715. // with awserr.Error's Code and Message methods to get detailed information about
  22716. // the error.
  22717. //
  22718. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22719. // API operation DetachVolume for usage and error information.
  22720. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  22721. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  22722. req, out := c.DetachVolumeRequest(input)
  22723. return out, req.Send()
  22724. }
  22725. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  22726. // the ability to pass a context and additional request options.
  22727. //
  22728. // See DetachVolume for details on how to use this API operation.
  22729. //
  22730. // The context must be non-nil and will be used for request cancellation. If
  22731. // the context is nil a panic will occur. In the future the SDK may create
  22732. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22733. // for more information on using Contexts.
  22734. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  22735. req, out := c.DetachVolumeRequest(input)
  22736. req.SetContext(ctx)
  22737. req.ApplyOptions(opts...)
  22738. return out, req.Send()
  22739. }
  22740. const opDetachVpnGateway = "DetachVpnGateway"
  22741. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  22742. // client's request for the DetachVpnGateway operation. The "output" return
  22743. // value will be populated with the request's response once the request completes
  22744. // successfully.
  22745. //
  22746. // Use "Send" method on the returned Request to send the API call to the service.
  22747. // the "output" return value is not valid until after Send returns without error.
  22748. //
  22749. // See DetachVpnGateway for more information on using the DetachVpnGateway
  22750. // API call, and error handling.
  22751. //
  22752. // This method is useful when you want to inject custom logic or configuration
  22753. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22754. //
  22755. //
  22756. // // Example sending a request using the DetachVpnGatewayRequest method.
  22757. // req, resp := client.DetachVpnGatewayRequest(params)
  22758. //
  22759. // err := req.Send()
  22760. // if err == nil { // resp is now filled
  22761. // fmt.Println(resp)
  22762. // }
  22763. //
  22764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  22765. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  22766. op := &request.Operation{
  22767. Name: opDetachVpnGateway,
  22768. HTTPMethod: "POST",
  22769. HTTPPath: "/",
  22770. }
  22771. if input == nil {
  22772. input = &DetachVpnGatewayInput{}
  22773. }
  22774. output = &DetachVpnGatewayOutput{}
  22775. req = c.newRequest(op, input, output)
  22776. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  22777. return
  22778. }
  22779. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  22780. //
  22781. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  22782. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  22783. // gateway has been completely detached from a VPC by describing the virtual
  22784. // private gateway (any attachments to the virtual private gateway are also
  22785. // described).
  22786. //
  22787. // You must wait for the attachment's state to switch to detached before you
  22788. // can delete the VPC or attach a different VPC to the virtual private gateway.
  22789. //
  22790. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22791. // with awserr.Error's Code and Message methods to get detailed information about
  22792. // the error.
  22793. //
  22794. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22795. // API operation DetachVpnGateway for usage and error information.
  22796. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  22797. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  22798. req, out := c.DetachVpnGatewayRequest(input)
  22799. return out, req.Send()
  22800. }
  22801. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  22802. // the ability to pass a context and additional request options.
  22803. //
  22804. // See DetachVpnGateway for details on how to use this API operation.
  22805. //
  22806. // The context must be non-nil and will be used for request cancellation. If
  22807. // the context is nil a panic will occur. In the future the SDK may create
  22808. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22809. // for more information on using Contexts.
  22810. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  22811. req, out := c.DetachVpnGatewayRequest(input)
  22812. req.SetContext(ctx)
  22813. req.ApplyOptions(opts...)
  22814. return out, req.Send()
  22815. }
  22816. const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
  22817. // DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
  22818. // client's request for the DisableEbsEncryptionByDefault operation. The "output" return
  22819. // value will be populated with the request's response once the request completes
  22820. // successfully.
  22821. //
  22822. // Use "Send" method on the returned Request to send the API call to the service.
  22823. // the "output" return value is not valid until after Send returns without error.
  22824. //
  22825. // See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
  22826. // API call, and error handling.
  22827. //
  22828. // This method is useful when you want to inject custom logic or configuration
  22829. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22830. //
  22831. //
  22832. // // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
  22833. // req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
  22834. //
  22835. // err := req.Send()
  22836. // if err == nil { // resp is now filled
  22837. // fmt.Println(resp)
  22838. // }
  22839. //
  22840. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
  22841. func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
  22842. op := &request.Operation{
  22843. Name: opDisableEbsEncryptionByDefault,
  22844. HTTPMethod: "POST",
  22845. HTTPPath: "/",
  22846. }
  22847. if input == nil {
  22848. input = &DisableEbsEncryptionByDefaultInput{}
  22849. }
  22850. output = &DisableEbsEncryptionByDefaultOutput{}
  22851. req = c.newRequest(op, input, output)
  22852. return
  22853. }
  22854. // DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
  22855. //
  22856. // Disables EBS encryption by default for your account in the current Region.
  22857. //
  22858. // After you disable encryption by default, you can still create encrypted volumes
  22859. // by enabling encryption when you create each volume.
  22860. //
  22861. // Disabling encryption by default does not change the encryption status of
  22862. // your existing volumes.
  22863. //
  22864. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  22865. // in the Amazon Elastic Compute Cloud User Guide.
  22866. //
  22867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22868. // with awserr.Error's Code and Message methods to get detailed information about
  22869. // the error.
  22870. //
  22871. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22872. // API operation DisableEbsEncryptionByDefault for usage and error information.
  22873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
  22874. func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
  22875. req, out := c.DisableEbsEncryptionByDefaultRequest(input)
  22876. return out, req.Send()
  22877. }
  22878. // DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
  22879. // the ability to pass a context and additional request options.
  22880. //
  22881. // See DisableEbsEncryptionByDefault for details on how to use this API operation.
  22882. //
  22883. // The context must be non-nil and will be used for request cancellation. If
  22884. // the context is nil a panic will occur. In the future the SDK may create
  22885. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22886. // for more information on using Contexts.
  22887. func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
  22888. req, out := c.DisableEbsEncryptionByDefaultRequest(input)
  22889. req.SetContext(ctx)
  22890. req.ApplyOptions(opts...)
  22891. return out, req.Send()
  22892. }
  22893. const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores"
  22894. // DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
  22895. // client's request for the DisableFastSnapshotRestores operation. The "output" return
  22896. // value will be populated with the request's response once the request completes
  22897. // successfully.
  22898. //
  22899. // Use "Send" method on the returned Request to send the API call to the service.
  22900. // the "output" return value is not valid until after Send returns without error.
  22901. //
  22902. // See DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores
  22903. // API call, and error handling.
  22904. //
  22905. // This method is useful when you want to inject custom logic or configuration
  22906. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22907. //
  22908. //
  22909. // // Example sending a request using the DisableFastSnapshotRestoresRequest method.
  22910. // req, resp := client.DisableFastSnapshotRestoresRequest(params)
  22911. //
  22912. // err := req.Send()
  22913. // if err == nil { // resp is now filled
  22914. // fmt.Println(resp)
  22915. // }
  22916. //
  22917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
  22918. func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) {
  22919. op := &request.Operation{
  22920. Name: opDisableFastSnapshotRestores,
  22921. HTTPMethod: "POST",
  22922. HTTPPath: "/",
  22923. }
  22924. if input == nil {
  22925. input = &DisableFastSnapshotRestoresInput{}
  22926. }
  22927. output = &DisableFastSnapshotRestoresOutput{}
  22928. req = c.newRequest(op, input, output)
  22929. return
  22930. }
  22931. // DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
  22932. //
  22933. // Disables fast snapshot restores for the specified snapshots in the specified
  22934. // Availability Zones.
  22935. //
  22936. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22937. // with awserr.Error's Code and Message methods to get detailed information about
  22938. // the error.
  22939. //
  22940. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22941. // API operation DisableFastSnapshotRestores for usage and error information.
  22942. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
  22943. func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) {
  22944. req, out := c.DisableFastSnapshotRestoresRequest(input)
  22945. return out, req.Send()
  22946. }
  22947. // DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of
  22948. // the ability to pass a context and additional request options.
  22949. //
  22950. // See DisableFastSnapshotRestores for details on how to use this API operation.
  22951. //
  22952. // The context must be non-nil and will be used for request cancellation. If
  22953. // the context is nil a panic will occur. In the future the SDK may create
  22954. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22955. // for more information on using Contexts.
  22956. func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) {
  22957. req, out := c.DisableFastSnapshotRestoresRequest(input)
  22958. req.SetContext(ctx)
  22959. req.ApplyOptions(opts...)
  22960. return out, req.Send()
  22961. }
  22962. const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
  22963. // DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
  22964. // client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
  22965. // value will be populated with the request's response once the request completes
  22966. // successfully.
  22967. //
  22968. // Use "Send" method on the returned Request to send the API call to the service.
  22969. // the "output" return value is not valid until after Send returns without error.
  22970. //
  22971. // See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
  22972. // API call, and error handling.
  22973. //
  22974. // This method is useful when you want to inject custom logic or configuration
  22975. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22976. //
  22977. //
  22978. // // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
  22979. // req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
  22980. //
  22981. // err := req.Send()
  22982. // if err == nil { // resp is now filled
  22983. // fmt.Println(resp)
  22984. // }
  22985. //
  22986. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
  22987. func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
  22988. op := &request.Operation{
  22989. Name: opDisableTransitGatewayRouteTablePropagation,
  22990. HTTPMethod: "POST",
  22991. HTTPPath: "/",
  22992. }
  22993. if input == nil {
  22994. input = &DisableTransitGatewayRouteTablePropagationInput{}
  22995. }
  22996. output = &DisableTransitGatewayRouteTablePropagationOutput{}
  22997. req = c.newRequest(op, input, output)
  22998. return
  22999. }
  23000. // DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
  23001. //
  23002. // Disables the specified resource attachment from propagating routes to the
  23003. // specified propagation route table.
  23004. //
  23005. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23006. // with awserr.Error's Code and Message methods to get detailed information about
  23007. // the error.
  23008. //
  23009. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23010. // API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
  23011. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
  23012. func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
  23013. req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
  23014. return out, req.Send()
  23015. }
  23016. // DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
  23017. // the ability to pass a context and additional request options.
  23018. //
  23019. // See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
  23020. //
  23021. // The context must be non-nil and will be used for request cancellation. If
  23022. // the context is nil a panic will occur. In the future the SDK may create
  23023. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23024. // for more information on using Contexts.
  23025. func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
  23026. req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
  23027. req.SetContext(ctx)
  23028. req.ApplyOptions(opts...)
  23029. return out, req.Send()
  23030. }
  23031. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  23032. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  23033. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  23034. // value will be populated with the request's response once the request completes
  23035. // successfully.
  23036. //
  23037. // Use "Send" method on the returned Request to send the API call to the service.
  23038. // the "output" return value is not valid until after Send returns without error.
  23039. //
  23040. // See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
  23041. // API call, and error handling.
  23042. //
  23043. // This method is useful when you want to inject custom logic or configuration
  23044. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23045. //
  23046. //
  23047. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  23048. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  23049. //
  23050. // err := req.Send()
  23051. // if err == nil { // resp is now filled
  23052. // fmt.Println(resp)
  23053. // }
  23054. //
  23055. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  23056. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  23057. op := &request.Operation{
  23058. Name: opDisableVgwRoutePropagation,
  23059. HTTPMethod: "POST",
  23060. HTTPPath: "/",
  23061. }
  23062. if input == nil {
  23063. input = &DisableVgwRoutePropagationInput{}
  23064. }
  23065. output = &DisableVgwRoutePropagationOutput{}
  23066. req = c.newRequest(op, input, output)
  23067. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23068. return
  23069. }
  23070. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  23071. //
  23072. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  23073. // route table of a VPC.
  23074. //
  23075. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23076. // with awserr.Error's Code and Message methods to get detailed information about
  23077. // the error.
  23078. //
  23079. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23080. // API operation DisableVgwRoutePropagation for usage and error information.
  23081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  23082. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  23083. req, out := c.DisableVgwRoutePropagationRequest(input)
  23084. return out, req.Send()
  23085. }
  23086. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  23087. // the ability to pass a context and additional request options.
  23088. //
  23089. // See DisableVgwRoutePropagation for details on how to use this API operation.
  23090. //
  23091. // The context must be non-nil and will be used for request cancellation. If
  23092. // the context is nil a panic will occur. In the future the SDK may create
  23093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23094. // for more information on using Contexts.
  23095. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  23096. req, out := c.DisableVgwRoutePropagationRequest(input)
  23097. req.SetContext(ctx)
  23098. req.ApplyOptions(opts...)
  23099. return out, req.Send()
  23100. }
  23101. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  23102. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  23103. // client's request for the DisableVpcClassicLink operation. The "output" return
  23104. // value will be populated with the request's response once the request completes
  23105. // successfully.
  23106. //
  23107. // Use "Send" method on the returned Request to send the API call to the service.
  23108. // the "output" return value is not valid until after Send returns without error.
  23109. //
  23110. // See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
  23111. // API call, and error handling.
  23112. //
  23113. // This method is useful when you want to inject custom logic or configuration
  23114. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23115. //
  23116. //
  23117. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  23118. // req, resp := client.DisableVpcClassicLinkRequest(params)
  23119. //
  23120. // err := req.Send()
  23121. // if err == nil { // resp is now filled
  23122. // fmt.Println(resp)
  23123. // }
  23124. //
  23125. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  23126. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  23127. op := &request.Operation{
  23128. Name: opDisableVpcClassicLink,
  23129. HTTPMethod: "POST",
  23130. HTTPPath: "/",
  23131. }
  23132. if input == nil {
  23133. input = &DisableVpcClassicLinkInput{}
  23134. }
  23135. output = &DisableVpcClassicLinkOutput{}
  23136. req = c.newRequest(op, input, output)
  23137. return
  23138. }
  23139. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  23140. //
  23141. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  23142. // that has EC2-Classic instances linked to it.
  23143. //
  23144. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23145. // with awserr.Error's Code and Message methods to get detailed information about
  23146. // the error.
  23147. //
  23148. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23149. // API operation DisableVpcClassicLink for usage and error information.
  23150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  23151. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  23152. req, out := c.DisableVpcClassicLinkRequest(input)
  23153. return out, req.Send()
  23154. }
  23155. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  23156. // the ability to pass a context and additional request options.
  23157. //
  23158. // See DisableVpcClassicLink for details on how to use this API operation.
  23159. //
  23160. // The context must be non-nil and will be used for request cancellation. If
  23161. // the context is nil a panic will occur. In the future the SDK may create
  23162. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23163. // for more information on using Contexts.
  23164. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  23165. req, out := c.DisableVpcClassicLinkRequest(input)
  23166. req.SetContext(ctx)
  23167. req.ApplyOptions(opts...)
  23168. return out, req.Send()
  23169. }
  23170. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  23171. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  23172. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  23173. // value will be populated with the request's response once the request completes
  23174. // successfully.
  23175. //
  23176. // Use "Send" method on the returned Request to send the API call to the service.
  23177. // the "output" return value is not valid until after Send returns without error.
  23178. //
  23179. // See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
  23180. // API call, and error handling.
  23181. //
  23182. // This method is useful when you want to inject custom logic or configuration
  23183. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23184. //
  23185. //
  23186. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  23187. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  23188. //
  23189. // err := req.Send()
  23190. // if err == nil { // resp is now filled
  23191. // fmt.Println(resp)
  23192. // }
  23193. //
  23194. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  23195. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  23196. op := &request.Operation{
  23197. Name: opDisableVpcClassicLinkDnsSupport,
  23198. HTTPMethod: "POST",
  23199. HTTPPath: "/",
  23200. }
  23201. if input == nil {
  23202. input = &DisableVpcClassicLinkDnsSupportInput{}
  23203. }
  23204. output = &DisableVpcClassicLinkDnsSupportOutput{}
  23205. req = c.newRequest(op, input, output)
  23206. return
  23207. }
  23208. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  23209. //
  23210. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  23211. // to public IP addresses when addressed between a linked EC2-Classic instance
  23212. // and instances in the VPC to which it's linked. For more information, see
  23213. // ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  23214. // in the Amazon Elastic Compute Cloud User Guide.
  23215. //
  23216. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23217. // with awserr.Error's Code and Message methods to get detailed information about
  23218. // the error.
  23219. //
  23220. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23221. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  23222. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  23223. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  23224. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  23225. return out, req.Send()
  23226. }
  23227. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  23228. // the ability to pass a context and additional request options.
  23229. //
  23230. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  23231. //
  23232. // The context must be non-nil and will be used for request cancellation. If
  23233. // the context is nil a panic will occur. In the future the SDK may create
  23234. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23235. // for more information on using Contexts.
  23236. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  23237. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  23238. req.SetContext(ctx)
  23239. req.ApplyOptions(opts...)
  23240. return out, req.Send()
  23241. }
  23242. const opDisassociateAddress = "DisassociateAddress"
  23243. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  23244. // client's request for the DisassociateAddress operation. The "output" return
  23245. // value will be populated with the request's response once the request completes
  23246. // successfully.
  23247. //
  23248. // Use "Send" method on the returned Request to send the API call to the service.
  23249. // the "output" return value is not valid until after Send returns without error.
  23250. //
  23251. // See DisassociateAddress for more information on using the DisassociateAddress
  23252. // API call, and error handling.
  23253. //
  23254. // This method is useful when you want to inject custom logic or configuration
  23255. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23256. //
  23257. //
  23258. // // Example sending a request using the DisassociateAddressRequest method.
  23259. // req, resp := client.DisassociateAddressRequest(params)
  23260. //
  23261. // err := req.Send()
  23262. // if err == nil { // resp is now filled
  23263. // fmt.Println(resp)
  23264. // }
  23265. //
  23266. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  23267. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  23268. op := &request.Operation{
  23269. Name: opDisassociateAddress,
  23270. HTTPMethod: "POST",
  23271. HTTPPath: "/",
  23272. }
  23273. if input == nil {
  23274. input = &DisassociateAddressInput{}
  23275. }
  23276. output = &DisassociateAddressOutput{}
  23277. req = c.newRequest(op, input, output)
  23278. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23279. return
  23280. }
  23281. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  23282. //
  23283. // Disassociates an Elastic IP address from the instance or network interface
  23284. // it's associated with.
  23285. //
  23286. // An Elastic IP address is for use in either the EC2-Classic platform or in
  23287. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  23288. // in the Amazon Elastic Compute Cloud User Guide.
  23289. //
  23290. // This is an idempotent operation. If you perform the operation more than once,
  23291. // Amazon EC2 doesn't return an error.
  23292. //
  23293. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23294. // with awserr.Error's Code and Message methods to get detailed information about
  23295. // the error.
  23296. //
  23297. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23298. // API operation DisassociateAddress for usage and error information.
  23299. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  23300. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  23301. req, out := c.DisassociateAddressRequest(input)
  23302. return out, req.Send()
  23303. }
  23304. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  23305. // the ability to pass a context and additional request options.
  23306. //
  23307. // See DisassociateAddress for details on how to use this API operation.
  23308. //
  23309. // The context must be non-nil and will be used for request cancellation. If
  23310. // the context is nil a panic will occur. In the future the SDK may create
  23311. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23312. // for more information on using Contexts.
  23313. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  23314. req, out := c.DisassociateAddressRequest(input)
  23315. req.SetContext(ctx)
  23316. req.ApplyOptions(opts...)
  23317. return out, req.Send()
  23318. }
  23319. const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
  23320. // DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  23321. // client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
  23322. // value will be populated with the request's response once the request completes
  23323. // successfully.
  23324. //
  23325. // Use "Send" method on the returned Request to send the API call to the service.
  23326. // the "output" return value is not valid until after Send returns without error.
  23327. //
  23328. // See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
  23329. // API call, and error handling.
  23330. //
  23331. // This method is useful when you want to inject custom logic or configuration
  23332. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23333. //
  23334. //
  23335. // // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
  23336. // req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
  23337. //
  23338. // err := req.Send()
  23339. // if err == nil { // resp is now filled
  23340. // fmt.Println(resp)
  23341. // }
  23342. //
  23343. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
  23344. func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
  23345. op := &request.Operation{
  23346. Name: opDisassociateClientVpnTargetNetwork,
  23347. HTTPMethod: "POST",
  23348. HTTPPath: "/",
  23349. }
  23350. if input == nil {
  23351. input = &DisassociateClientVpnTargetNetworkInput{}
  23352. }
  23353. output = &DisassociateClientVpnTargetNetworkOutput{}
  23354. req = c.newRequest(op, input, output)
  23355. return
  23356. }
  23357. // DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  23358. //
  23359. // Disassociates a target network from the specified Client VPN endpoint. When
  23360. // you disassociate the last target network from a Client VPN, the following
  23361. // happens:
  23362. //
  23363. // * The route that was automatically added for the VPC is deleted
  23364. //
  23365. // * All active client connections are terminated
  23366. //
  23367. // * New client connections are disallowed
  23368. //
  23369. // * The Client VPN endpoint's status changes to pending-associate
  23370. //
  23371. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23372. // with awserr.Error's Code and Message methods to get detailed information about
  23373. // the error.
  23374. //
  23375. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23376. // API operation DisassociateClientVpnTargetNetwork for usage and error information.
  23377. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
  23378. func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
  23379. req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
  23380. return out, req.Send()
  23381. }
  23382. // DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
  23383. // the ability to pass a context and additional request options.
  23384. //
  23385. // See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
  23386. //
  23387. // The context must be non-nil and will be used for request cancellation. If
  23388. // the context is nil a panic will occur. In the future the SDK may create
  23389. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23390. // for more information on using Contexts.
  23391. func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
  23392. req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
  23393. req.SetContext(ctx)
  23394. req.ApplyOptions(opts...)
  23395. return out, req.Send()
  23396. }
  23397. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  23398. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  23399. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  23400. // value will be populated with the request's response once the request completes
  23401. // successfully.
  23402. //
  23403. // Use "Send" method on the returned Request to send the API call to the service.
  23404. // the "output" return value is not valid until after Send returns without error.
  23405. //
  23406. // See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
  23407. // API call, and error handling.
  23408. //
  23409. // This method is useful when you want to inject custom logic or configuration
  23410. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23411. //
  23412. //
  23413. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  23414. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  23415. //
  23416. // err := req.Send()
  23417. // if err == nil { // resp is now filled
  23418. // fmt.Println(resp)
  23419. // }
  23420. //
  23421. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  23422. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  23423. op := &request.Operation{
  23424. Name: opDisassociateIamInstanceProfile,
  23425. HTTPMethod: "POST",
  23426. HTTPPath: "/",
  23427. }
  23428. if input == nil {
  23429. input = &DisassociateIamInstanceProfileInput{}
  23430. }
  23431. output = &DisassociateIamInstanceProfileOutput{}
  23432. req = c.newRequest(op, input, output)
  23433. return
  23434. }
  23435. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  23436. //
  23437. // Disassociates an IAM instance profile from a running or stopped instance.
  23438. //
  23439. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  23440. //
  23441. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23442. // with awserr.Error's Code and Message methods to get detailed information about
  23443. // the error.
  23444. //
  23445. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23446. // API operation DisassociateIamInstanceProfile for usage and error information.
  23447. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  23448. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  23449. req, out := c.DisassociateIamInstanceProfileRequest(input)
  23450. return out, req.Send()
  23451. }
  23452. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  23453. // the ability to pass a context and additional request options.
  23454. //
  23455. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  23456. //
  23457. // The context must be non-nil and will be used for request cancellation. If
  23458. // the context is nil a panic will occur. In the future the SDK may create
  23459. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23460. // for more information on using Contexts.
  23461. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  23462. req, out := c.DisassociateIamInstanceProfileRequest(input)
  23463. req.SetContext(ctx)
  23464. req.ApplyOptions(opts...)
  23465. return out, req.Send()
  23466. }
  23467. const opDisassociateRouteTable = "DisassociateRouteTable"
  23468. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  23469. // client's request for the DisassociateRouteTable operation. The "output" return
  23470. // value will be populated with the request's response once the request completes
  23471. // successfully.
  23472. //
  23473. // Use "Send" method on the returned Request to send the API call to the service.
  23474. // the "output" return value is not valid until after Send returns without error.
  23475. //
  23476. // See DisassociateRouteTable for more information on using the DisassociateRouteTable
  23477. // API call, and error handling.
  23478. //
  23479. // This method is useful when you want to inject custom logic or configuration
  23480. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23481. //
  23482. //
  23483. // // Example sending a request using the DisassociateRouteTableRequest method.
  23484. // req, resp := client.DisassociateRouteTableRequest(params)
  23485. //
  23486. // err := req.Send()
  23487. // if err == nil { // resp is now filled
  23488. // fmt.Println(resp)
  23489. // }
  23490. //
  23491. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  23492. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  23493. op := &request.Operation{
  23494. Name: opDisassociateRouteTable,
  23495. HTTPMethod: "POST",
  23496. HTTPPath: "/",
  23497. }
  23498. if input == nil {
  23499. input = &DisassociateRouteTableInput{}
  23500. }
  23501. output = &DisassociateRouteTableOutput{}
  23502. req = c.newRequest(op, input, output)
  23503. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23504. return
  23505. }
  23506. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  23507. //
  23508. // Disassociates a subnet from a route table.
  23509. //
  23510. // After you perform this action, the subnet no longer uses the routes in the
  23511. // route table. Instead, it uses the routes in the VPC's main route table. For
  23512. // more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  23513. // in the Amazon Virtual Private Cloud User Guide.
  23514. //
  23515. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23516. // with awserr.Error's Code and Message methods to get detailed information about
  23517. // the error.
  23518. //
  23519. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23520. // API operation DisassociateRouteTable for usage and error information.
  23521. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  23522. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  23523. req, out := c.DisassociateRouteTableRequest(input)
  23524. return out, req.Send()
  23525. }
  23526. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  23527. // the ability to pass a context and additional request options.
  23528. //
  23529. // See DisassociateRouteTable for details on how to use this API operation.
  23530. //
  23531. // The context must be non-nil and will be used for request cancellation. If
  23532. // the context is nil a panic will occur. In the future the SDK may create
  23533. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23534. // for more information on using Contexts.
  23535. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  23536. req, out := c.DisassociateRouteTableRequest(input)
  23537. req.SetContext(ctx)
  23538. req.ApplyOptions(opts...)
  23539. return out, req.Send()
  23540. }
  23541. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  23542. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  23543. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  23544. // value will be populated with the request's response once the request completes
  23545. // successfully.
  23546. //
  23547. // Use "Send" method on the returned Request to send the API call to the service.
  23548. // the "output" return value is not valid until after Send returns without error.
  23549. //
  23550. // See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
  23551. // API call, and error handling.
  23552. //
  23553. // This method is useful when you want to inject custom logic or configuration
  23554. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23555. //
  23556. //
  23557. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  23558. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  23559. //
  23560. // err := req.Send()
  23561. // if err == nil { // resp is now filled
  23562. // fmt.Println(resp)
  23563. // }
  23564. //
  23565. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  23566. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  23567. op := &request.Operation{
  23568. Name: opDisassociateSubnetCidrBlock,
  23569. HTTPMethod: "POST",
  23570. HTTPPath: "/",
  23571. }
  23572. if input == nil {
  23573. input = &DisassociateSubnetCidrBlockInput{}
  23574. }
  23575. output = &DisassociateSubnetCidrBlockOutput{}
  23576. req = c.newRequest(op, input, output)
  23577. return
  23578. }
  23579. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  23580. //
  23581. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  23582. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  23583. // that are associated with the CIDR block before you can disassociate it.
  23584. //
  23585. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23586. // with awserr.Error's Code and Message methods to get detailed information about
  23587. // the error.
  23588. //
  23589. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23590. // API operation DisassociateSubnetCidrBlock for usage and error information.
  23591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  23592. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  23593. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  23594. return out, req.Send()
  23595. }
  23596. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  23597. // the ability to pass a context and additional request options.
  23598. //
  23599. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  23600. //
  23601. // The context must be non-nil and will be used for request cancellation. If
  23602. // the context is nil a panic will occur. In the future the SDK may create
  23603. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23604. // for more information on using Contexts.
  23605. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  23606. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  23607. req.SetContext(ctx)
  23608. req.ApplyOptions(opts...)
  23609. return out, req.Send()
  23610. }
  23611. const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
  23612. // DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
  23613. // client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
  23614. // value will be populated with the request's response once the request completes
  23615. // successfully.
  23616. //
  23617. // Use "Send" method on the returned Request to send the API call to the service.
  23618. // the "output" return value is not valid until after Send returns without error.
  23619. //
  23620. // See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
  23621. // API call, and error handling.
  23622. //
  23623. // This method is useful when you want to inject custom logic or configuration
  23624. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23625. //
  23626. //
  23627. // // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
  23628. // req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
  23629. //
  23630. // err := req.Send()
  23631. // if err == nil { // resp is now filled
  23632. // fmt.Println(resp)
  23633. // }
  23634. //
  23635. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
  23636. func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
  23637. op := &request.Operation{
  23638. Name: opDisassociateTransitGatewayMulticastDomain,
  23639. HTTPMethod: "POST",
  23640. HTTPPath: "/",
  23641. }
  23642. if input == nil {
  23643. input = &DisassociateTransitGatewayMulticastDomainInput{}
  23644. }
  23645. output = &DisassociateTransitGatewayMulticastDomainOutput{}
  23646. req = c.newRequest(op, input, output)
  23647. return
  23648. }
  23649. // DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
  23650. //
  23651. // Disassociates the specified subnets from the transit gateway multicast domain.
  23652. //
  23653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23654. // with awserr.Error's Code and Message methods to get detailed information about
  23655. // the error.
  23656. //
  23657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23658. // API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
  23659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
  23660. func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
  23661. req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
  23662. return out, req.Send()
  23663. }
  23664. // DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
  23665. // the ability to pass a context and additional request options.
  23666. //
  23667. // See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
  23668. //
  23669. // The context must be non-nil and will be used for request cancellation. If
  23670. // the context is nil a panic will occur. In the future the SDK may create
  23671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23672. // for more information on using Contexts.
  23673. func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
  23674. req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
  23675. req.SetContext(ctx)
  23676. req.ApplyOptions(opts...)
  23677. return out, req.Send()
  23678. }
  23679. const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
  23680. // DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  23681. // client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
  23682. // value will be populated with the request's response once the request completes
  23683. // successfully.
  23684. //
  23685. // Use "Send" method on the returned Request to send the API call to the service.
  23686. // the "output" return value is not valid until after Send returns without error.
  23687. //
  23688. // See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
  23689. // API call, and error handling.
  23690. //
  23691. // This method is useful when you want to inject custom logic or configuration
  23692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23693. //
  23694. //
  23695. // // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
  23696. // req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
  23697. //
  23698. // err := req.Send()
  23699. // if err == nil { // resp is now filled
  23700. // fmt.Println(resp)
  23701. // }
  23702. //
  23703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
  23704. func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
  23705. op := &request.Operation{
  23706. Name: opDisassociateTransitGatewayRouteTable,
  23707. HTTPMethod: "POST",
  23708. HTTPPath: "/",
  23709. }
  23710. if input == nil {
  23711. input = &DisassociateTransitGatewayRouteTableInput{}
  23712. }
  23713. output = &DisassociateTransitGatewayRouteTableOutput{}
  23714. req = c.newRequest(op, input, output)
  23715. return
  23716. }
  23717. // DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  23718. //
  23719. // Disassociates a resource attachment from a transit gateway route table.
  23720. //
  23721. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23722. // with awserr.Error's Code and Message methods to get detailed information about
  23723. // the error.
  23724. //
  23725. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23726. // API operation DisassociateTransitGatewayRouteTable for usage and error information.
  23727. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
  23728. func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
  23729. req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
  23730. return out, req.Send()
  23731. }
  23732. // DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
  23733. // the ability to pass a context and additional request options.
  23734. //
  23735. // See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
  23736. //
  23737. // The context must be non-nil and will be used for request cancellation. If
  23738. // the context is nil a panic will occur. In the future the SDK may create
  23739. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23740. // for more information on using Contexts.
  23741. func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
  23742. req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
  23743. req.SetContext(ctx)
  23744. req.ApplyOptions(opts...)
  23745. return out, req.Send()
  23746. }
  23747. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  23748. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  23749. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  23750. // value will be populated with the request's response once the request completes
  23751. // successfully.
  23752. //
  23753. // Use "Send" method on the returned Request to send the API call to the service.
  23754. // the "output" return value is not valid until after Send returns without error.
  23755. //
  23756. // See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
  23757. // API call, and error handling.
  23758. //
  23759. // This method is useful when you want to inject custom logic or configuration
  23760. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23761. //
  23762. //
  23763. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  23764. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  23765. //
  23766. // err := req.Send()
  23767. // if err == nil { // resp is now filled
  23768. // fmt.Println(resp)
  23769. // }
  23770. //
  23771. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  23772. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  23773. op := &request.Operation{
  23774. Name: opDisassociateVpcCidrBlock,
  23775. HTTPMethod: "POST",
  23776. HTTPPath: "/",
  23777. }
  23778. if input == nil {
  23779. input = &DisassociateVpcCidrBlockInput{}
  23780. }
  23781. output = &DisassociateVpcCidrBlockOutput{}
  23782. req = c.newRequest(op, input, output)
  23783. return
  23784. }
  23785. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  23786. //
  23787. // Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
  23788. // must specify its association ID. You can get the association ID by using
  23789. // DescribeVpcs. You must detach or delete all gateways and resources that are
  23790. // associated with the CIDR block before you can disassociate it.
  23791. //
  23792. // You cannot disassociate the CIDR block with which you originally created
  23793. // the VPC (the primary CIDR block).
  23794. //
  23795. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23796. // with awserr.Error's Code and Message methods to get detailed information about
  23797. // the error.
  23798. //
  23799. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23800. // API operation DisassociateVpcCidrBlock for usage and error information.
  23801. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  23802. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  23803. req, out := c.DisassociateVpcCidrBlockRequest(input)
  23804. return out, req.Send()
  23805. }
  23806. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  23807. // the ability to pass a context and additional request options.
  23808. //
  23809. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  23810. //
  23811. // The context must be non-nil and will be used for request cancellation. If
  23812. // the context is nil a panic will occur. In the future the SDK may create
  23813. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23814. // for more information on using Contexts.
  23815. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  23816. req, out := c.DisassociateVpcCidrBlockRequest(input)
  23817. req.SetContext(ctx)
  23818. req.ApplyOptions(opts...)
  23819. return out, req.Send()
  23820. }
  23821. const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
  23822. // EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
  23823. // client's request for the EnableEbsEncryptionByDefault operation. The "output" return
  23824. // value will be populated with the request's response once the request completes
  23825. // successfully.
  23826. //
  23827. // Use "Send" method on the returned Request to send the API call to the service.
  23828. // the "output" return value is not valid until after Send returns without error.
  23829. //
  23830. // See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
  23831. // API call, and error handling.
  23832. //
  23833. // This method is useful when you want to inject custom logic or configuration
  23834. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23835. //
  23836. //
  23837. // // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
  23838. // req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
  23839. //
  23840. // err := req.Send()
  23841. // if err == nil { // resp is now filled
  23842. // fmt.Println(resp)
  23843. // }
  23844. //
  23845. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
  23846. func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
  23847. op := &request.Operation{
  23848. Name: opEnableEbsEncryptionByDefault,
  23849. HTTPMethod: "POST",
  23850. HTTPPath: "/",
  23851. }
  23852. if input == nil {
  23853. input = &EnableEbsEncryptionByDefaultInput{}
  23854. }
  23855. output = &EnableEbsEncryptionByDefaultOutput{}
  23856. req = c.newRequest(op, input, output)
  23857. return
  23858. }
  23859. // EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
  23860. //
  23861. // Enables EBS encryption by default for your account in the current Region.
  23862. //
  23863. // After you enable encryption by default, the EBS volumes that you create are
  23864. // are always encrypted, either using the default CMK or the CMK that you specified
  23865. // when you created each volume. For more information, see Amazon EBS Encryption
  23866. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  23867. // in the Amazon Elastic Compute Cloud User Guide.
  23868. //
  23869. // You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId
  23870. // or ResetEbsDefaultKmsKeyId.
  23871. //
  23872. // Enabling encryption by default has no effect on the encryption status of
  23873. // your existing volumes.
  23874. //
  23875. // After you enable encryption by default, you can no longer launch instances
  23876. // using instance types that do not support encryption. For more information,
  23877. // see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
  23878. //
  23879. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23880. // with awserr.Error's Code and Message methods to get detailed information about
  23881. // the error.
  23882. //
  23883. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23884. // API operation EnableEbsEncryptionByDefault for usage and error information.
  23885. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
  23886. func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
  23887. req, out := c.EnableEbsEncryptionByDefaultRequest(input)
  23888. return out, req.Send()
  23889. }
  23890. // EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
  23891. // the ability to pass a context and additional request options.
  23892. //
  23893. // See EnableEbsEncryptionByDefault for details on how to use this API operation.
  23894. //
  23895. // The context must be non-nil and will be used for request cancellation. If
  23896. // the context is nil a panic will occur. In the future the SDK may create
  23897. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23898. // for more information on using Contexts.
  23899. func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
  23900. req, out := c.EnableEbsEncryptionByDefaultRequest(input)
  23901. req.SetContext(ctx)
  23902. req.ApplyOptions(opts...)
  23903. return out, req.Send()
  23904. }
  23905. const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores"
  23906. // EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
  23907. // client's request for the EnableFastSnapshotRestores operation. The "output" return
  23908. // value will be populated with the request's response once the request completes
  23909. // successfully.
  23910. //
  23911. // Use "Send" method on the returned Request to send the API call to the service.
  23912. // the "output" return value is not valid until after Send returns without error.
  23913. //
  23914. // See EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores
  23915. // API call, and error handling.
  23916. //
  23917. // This method is useful when you want to inject custom logic or configuration
  23918. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23919. //
  23920. //
  23921. // // Example sending a request using the EnableFastSnapshotRestoresRequest method.
  23922. // req, resp := client.EnableFastSnapshotRestoresRequest(params)
  23923. //
  23924. // err := req.Send()
  23925. // if err == nil { // resp is now filled
  23926. // fmt.Println(resp)
  23927. // }
  23928. //
  23929. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
  23930. func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) {
  23931. op := &request.Operation{
  23932. Name: opEnableFastSnapshotRestores,
  23933. HTTPMethod: "POST",
  23934. HTTPPath: "/",
  23935. }
  23936. if input == nil {
  23937. input = &EnableFastSnapshotRestoresInput{}
  23938. }
  23939. output = &EnableFastSnapshotRestoresOutput{}
  23940. req = c.newRequest(op, input, output)
  23941. return
  23942. }
  23943. // EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
  23944. //
  23945. // Enables fast snapshot restores for the specified snapshots in the specified
  23946. // Availability Zones.
  23947. //
  23948. // You get the full benefit of fast snapshot restores after they enter the enabled
  23949. // state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.
  23950. // To disable fast snapshot restores, use DisableFastSnapshotRestores.
  23951. //
  23952. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23953. // with awserr.Error's Code and Message methods to get detailed information about
  23954. // the error.
  23955. //
  23956. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23957. // API operation EnableFastSnapshotRestores for usage and error information.
  23958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
  23959. func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) {
  23960. req, out := c.EnableFastSnapshotRestoresRequest(input)
  23961. return out, req.Send()
  23962. }
  23963. // EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of
  23964. // the ability to pass a context and additional request options.
  23965. //
  23966. // See EnableFastSnapshotRestores for details on how to use this API operation.
  23967. //
  23968. // The context must be non-nil and will be used for request cancellation. If
  23969. // the context is nil a panic will occur. In the future the SDK may create
  23970. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23971. // for more information on using Contexts.
  23972. func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) {
  23973. req, out := c.EnableFastSnapshotRestoresRequest(input)
  23974. req.SetContext(ctx)
  23975. req.ApplyOptions(opts...)
  23976. return out, req.Send()
  23977. }
  23978. const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
  23979. // EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
  23980. // client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
  23981. // value will be populated with the request's response once the request completes
  23982. // successfully.
  23983. //
  23984. // Use "Send" method on the returned Request to send the API call to the service.
  23985. // the "output" return value is not valid until after Send returns without error.
  23986. //
  23987. // See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
  23988. // API call, and error handling.
  23989. //
  23990. // This method is useful when you want to inject custom logic or configuration
  23991. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23992. //
  23993. //
  23994. // // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
  23995. // req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
  23996. //
  23997. // err := req.Send()
  23998. // if err == nil { // resp is now filled
  23999. // fmt.Println(resp)
  24000. // }
  24001. //
  24002. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
  24003. func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
  24004. op := &request.Operation{
  24005. Name: opEnableTransitGatewayRouteTablePropagation,
  24006. HTTPMethod: "POST",
  24007. HTTPPath: "/",
  24008. }
  24009. if input == nil {
  24010. input = &EnableTransitGatewayRouteTablePropagationInput{}
  24011. }
  24012. output = &EnableTransitGatewayRouteTablePropagationOutput{}
  24013. req = c.newRequest(op, input, output)
  24014. return
  24015. }
  24016. // EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
  24017. //
  24018. // Enables the specified attachment to propagate routes to the specified propagation
  24019. // route table.
  24020. //
  24021. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24022. // with awserr.Error's Code and Message methods to get detailed information about
  24023. // the error.
  24024. //
  24025. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24026. // API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
  24027. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
  24028. func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
  24029. req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
  24030. return out, req.Send()
  24031. }
  24032. // EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
  24033. // the ability to pass a context and additional request options.
  24034. //
  24035. // See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
  24036. //
  24037. // The context must be non-nil and will be used for request cancellation. If
  24038. // the context is nil a panic will occur. In the future the SDK may create
  24039. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24040. // for more information on using Contexts.
  24041. func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
  24042. req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
  24043. req.SetContext(ctx)
  24044. req.ApplyOptions(opts...)
  24045. return out, req.Send()
  24046. }
  24047. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  24048. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  24049. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  24050. // value will be populated with the request's response once the request completes
  24051. // successfully.
  24052. //
  24053. // Use "Send" method on the returned Request to send the API call to the service.
  24054. // the "output" return value is not valid until after Send returns without error.
  24055. //
  24056. // See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
  24057. // API call, and error handling.
  24058. //
  24059. // This method is useful when you want to inject custom logic or configuration
  24060. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24061. //
  24062. //
  24063. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  24064. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  24065. //
  24066. // err := req.Send()
  24067. // if err == nil { // resp is now filled
  24068. // fmt.Println(resp)
  24069. // }
  24070. //
  24071. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  24072. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  24073. op := &request.Operation{
  24074. Name: opEnableVgwRoutePropagation,
  24075. HTTPMethod: "POST",
  24076. HTTPPath: "/",
  24077. }
  24078. if input == nil {
  24079. input = &EnableVgwRoutePropagationInput{}
  24080. }
  24081. output = &EnableVgwRoutePropagationOutput{}
  24082. req = c.newRequest(op, input, output)
  24083. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24084. return
  24085. }
  24086. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  24087. //
  24088. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  24089. // route table of a VPC.
  24090. //
  24091. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24092. // with awserr.Error's Code and Message methods to get detailed information about
  24093. // the error.
  24094. //
  24095. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24096. // API operation EnableVgwRoutePropagation for usage and error information.
  24097. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  24098. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  24099. req, out := c.EnableVgwRoutePropagationRequest(input)
  24100. return out, req.Send()
  24101. }
  24102. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  24103. // the ability to pass a context and additional request options.
  24104. //
  24105. // See EnableVgwRoutePropagation for details on how to use this API operation.
  24106. //
  24107. // The context must be non-nil and will be used for request cancellation. If
  24108. // the context is nil a panic will occur. In the future the SDK may create
  24109. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24110. // for more information on using Contexts.
  24111. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  24112. req, out := c.EnableVgwRoutePropagationRequest(input)
  24113. req.SetContext(ctx)
  24114. req.ApplyOptions(opts...)
  24115. return out, req.Send()
  24116. }
  24117. const opEnableVolumeIO = "EnableVolumeIO"
  24118. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  24119. // client's request for the EnableVolumeIO operation. The "output" return
  24120. // value will be populated with the request's response once the request completes
  24121. // successfully.
  24122. //
  24123. // Use "Send" method on the returned Request to send the API call to the service.
  24124. // the "output" return value is not valid until after Send returns without error.
  24125. //
  24126. // See EnableVolumeIO for more information on using the EnableVolumeIO
  24127. // API call, and error handling.
  24128. //
  24129. // This method is useful when you want to inject custom logic or configuration
  24130. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24131. //
  24132. //
  24133. // // Example sending a request using the EnableVolumeIORequest method.
  24134. // req, resp := client.EnableVolumeIORequest(params)
  24135. //
  24136. // err := req.Send()
  24137. // if err == nil { // resp is now filled
  24138. // fmt.Println(resp)
  24139. // }
  24140. //
  24141. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  24142. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  24143. op := &request.Operation{
  24144. Name: opEnableVolumeIO,
  24145. HTTPMethod: "POST",
  24146. HTTPPath: "/",
  24147. }
  24148. if input == nil {
  24149. input = &EnableVolumeIOInput{}
  24150. }
  24151. output = &EnableVolumeIOOutput{}
  24152. req = c.newRequest(op, input, output)
  24153. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24154. return
  24155. }
  24156. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  24157. //
  24158. // Enables I/O operations for a volume that had I/O operations disabled because
  24159. // the data on the volume was potentially inconsistent.
  24160. //
  24161. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24162. // with awserr.Error's Code and Message methods to get detailed information about
  24163. // the error.
  24164. //
  24165. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24166. // API operation EnableVolumeIO for usage and error information.
  24167. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  24168. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  24169. req, out := c.EnableVolumeIORequest(input)
  24170. return out, req.Send()
  24171. }
  24172. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  24173. // the ability to pass a context and additional request options.
  24174. //
  24175. // See EnableVolumeIO for details on how to use this API operation.
  24176. //
  24177. // The context must be non-nil and will be used for request cancellation. If
  24178. // the context is nil a panic will occur. In the future the SDK may create
  24179. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24180. // for more information on using Contexts.
  24181. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  24182. req, out := c.EnableVolumeIORequest(input)
  24183. req.SetContext(ctx)
  24184. req.ApplyOptions(opts...)
  24185. return out, req.Send()
  24186. }
  24187. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  24188. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  24189. // client's request for the EnableVpcClassicLink operation. The "output" return
  24190. // value will be populated with the request's response once the request completes
  24191. // successfully.
  24192. //
  24193. // Use "Send" method on the returned Request to send the API call to the service.
  24194. // the "output" return value is not valid until after Send returns without error.
  24195. //
  24196. // See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
  24197. // API call, and error handling.
  24198. //
  24199. // This method is useful when you want to inject custom logic or configuration
  24200. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24201. //
  24202. //
  24203. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  24204. // req, resp := client.EnableVpcClassicLinkRequest(params)
  24205. //
  24206. // err := req.Send()
  24207. // if err == nil { // resp is now filled
  24208. // fmt.Println(resp)
  24209. // }
  24210. //
  24211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  24212. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  24213. op := &request.Operation{
  24214. Name: opEnableVpcClassicLink,
  24215. HTTPMethod: "POST",
  24216. HTTPPath: "/",
  24217. }
  24218. if input == nil {
  24219. input = &EnableVpcClassicLinkInput{}
  24220. }
  24221. output = &EnableVpcClassicLinkOutput{}
  24222. req = c.newRequest(op, input, output)
  24223. return
  24224. }
  24225. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  24226. //
  24227. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  24228. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  24229. // You cannot enable your VPC for ClassicLink if any of your VPC route tables
  24230. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  24231. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  24232. // IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  24233. // in the Amazon Elastic Compute Cloud User Guide.
  24234. //
  24235. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24236. // with awserr.Error's Code and Message methods to get detailed information about
  24237. // the error.
  24238. //
  24239. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24240. // API operation EnableVpcClassicLink for usage and error information.
  24241. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  24242. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  24243. req, out := c.EnableVpcClassicLinkRequest(input)
  24244. return out, req.Send()
  24245. }
  24246. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  24247. // the ability to pass a context and additional request options.
  24248. //
  24249. // See EnableVpcClassicLink for details on how to use this API operation.
  24250. //
  24251. // The context must be non-nil and will be used for request cancellation. If
  24252. // the context is nil a panic will occur. In the future the SDK may create
  24253. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24254. // for more information on using Contexts.
  24255. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  24256. req, out := c.EnableVpcClassicLinkRequest(input)
  24257. req.SetContext(ctx)
  24258. req.ApplyOptions(opts...)
  24259. return out, req.Send()
  24260. }
  24261. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  24262. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  24263. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  24264. // value will be populated with the request's response once the request completes
  24265. // successfully.
  24266. //
  24267. // Use "Send" method on the returned Request to send the API call to the service.
  24268. // the "output" return value is not valid until after Send returns without error.
  24269. //
  24270. // See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
  24271. // API call, and error handling.
  24272. //
  24273. // This method is useful when you want to inject custom logic or configuration
  24274. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24275. //
  24276. //
  24277. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  24278. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  24279. //
  24280. // err := req.Send()
  24281. // if err == nil { // resp is now filled
  24282. // fmt.Println(resp)
  24283. // }
  24284. //
  24285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  24286. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  24287. op := &request.Operation{
  24288. Name: opEnableVpcClassicLinkDnsSupport,
  24289. HTTPMethod: "POST",
  24290. HTTPPath: "/",
  24291. }
  24292. if input == nil {
  24293. input = &EnableVpcClassicLinkDnsSupportInput{}
  24294. }
  24295. output = &EnableVpcClassicLinkDnsSupportOutput{}
  24296. req = c.newRequest(op, input, output)
  24297. return
  24298. }
  24299. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  24300. //
  24301. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  24302. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  24303. // IP address when addressed from an instance in the VPC to which it's linked.
  24304. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  24305. // IP address when addressed from a linked EC2-Classic instance. For more information,
  24306. // see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  24307. // in the Amazon Elastic Compute Cloud User Guide.
  24308. //
  24309. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24310. // with awserr.Error's Code and Message methods to get detailed information about
  24311. // the error.
  24312. //
  24313. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24314. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  24315. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  24316. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  24317. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  24318. return out, req.Send()
  24319. }
  24320. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  24321. // the ability to pass a context and additional request options.
  24322. //
  24323. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  24324. //
  24325. // The context must be non-nil and will be used for request cancellation. If
  24326. // the context is nil a panic will occur. In the future the SDK may create
  24327. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24328. // for more information on using Contexts.
  24329. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  24330. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  24331. req.SetContext(ctx)
  24332. req.ApplyOptions(opts...)
  24333. return out, req.Send()
  24334. }
  24335. const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
  24336. // ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
  24337. // client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
  24338. // value will be populated with the request's response once the request completes
  24339. // successfully.
  24340. //
  24341. // Use "Send" method on the returned Request to send the API call to the service.
  24342. // the "output" return value is not valid until after Send returns without error.
  24343. //
  24344. // See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
  24345. // API call, and error handling.
  24346. //
  24347. // This method is useful when you want to inject custom logic or configuration
  24348. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24349. //
  24350. //
  24351. // // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
  24352. // req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
  24353. //
  24354. // err := req.Send()
  24355. // if err == nil { // resp is now filled
  24356. // fmt.Println(resp)
  24357. // }
  24358. //
  24359. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
  24360. func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
  24361. op := &request.Operation{
  24362. Name: opExportClientVpnClientCertificateRevocationList,
  24363. HTTPMethod: "POST",
  24364. HTTPPath: "/",
  24365. }
  24366. if input == nil {
  24367. input = &ExportClientVpnClientCertificateRevocationListInput{}
  24368. }
  24369. output = &ExportClientVpnClientCertificateRevocationListOutput{}
  24370. req = c.newRequest(op, input, output)
  24371. return
  24372. }
  24373. // ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
  24374. //
  24375. // Downloads the client certificate revocation list for the specified Client
  24376. // VPN endpoint.
  24377. //
  24378. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24379. // with awserr.Error's Code and Message methods to get detailed information about
  24380. // the error.
  24381. //
  24382. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24383. // API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
  24384. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
  24385. func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
  24386. req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
  24387. return out, req.Send()
  24388. }
  24389. // ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
  24390. // the ability to pass a context and additional request options.
  24391. //
  24392. // See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
  24393. //
  24394. // The context must be non-nil and will be used for request cancellation. If
  24395. // the context is nil a panic will occur. In the future the SDK may create
  24396. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24397. // for more information on using Contexts.
  24398. func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
  24399. req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
  24400. req.SetContext(ctx)
  24401. req.ApplyOptions(opts...)
  24402. return out, req.Send()
  24403. }
  24404. const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
  24405. // ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
  24406. // client's request for the ExportClientVpnClientConfiguration operation. The "output" return
  24407. // value will be populated with the request's response once the request completes
  24408. // successfully.
  24409. //
  24410. // Use "Send" method on the returned Request to send the API call to the service.
  24411. // the "output" return value is not valid until after Send returns without error.
  24412. //
  24413. // See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
  24414. // API call, and error handling.
  24415. //
  24416. // This method is useful when you want to inject custom logic or configuration
  24417. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24418. //
  24419. //
  24420. // // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
  24421. // req, resp := client.ExportClientVpnClientConfigurationRequest(params)
  24422. //
  24423. // err := req.Send()
  24424. // if err == nil { // resp is now filled
  24425. // fmt.Println(resp)
  24426. // }
  24427. //
  24428. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
  24429. func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
  24430. op := &request.Operation{
  24431. Name: opExportClientVpnClientConfiguration,
  24432. HTTPMethod: "POST",
  24433. HTTPPath: "/",
  24434. }
  24435. if input == nil {
  24436. input = &ExportClientVpnClientConfigurationInput{}
  24437. }
  24438. output = &ExportClientVpnClientConfigurationOutput{}
  24439. req = c.newRequest(op, input, output)
  24440. return
  24441. }
  24442. // ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
  24443. //
  24444. // Downloads the contents of the Client VPN endpoint configuration file for
  24445. // the specified Client VPN endpoint. The Client VPN endpoint configuration
  24446. // file includes the Client VPN endpoint and certificate information clients
  24447. // need to establish a connection with the Client VPN endpoint.
  24448. //
  24449. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24450. // with awserr.Error's Code and Message methods to get detailed information about
  24451. // the error.
  24452. //
  24453. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24454. // API operation ExportClientVpnClientConfiguration for usage and error information.
  24455. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
  24456. func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
  24457. req, out := c.ExportClientVpnClientConfigurationRequest(input)
  24458. return out, req.Send()
  24459. }
  24460. // ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
  24461. // the ability to pass a context and additional request options.
  24462. //
  24463. // See ExportClientVpnClientConfiguration for details on how to use this API operation.
  24464. //
  24465. // The context must be non-nil and will be used for request cancellation. If
  24466. // the context is nil a panic will occur. In the future the SDK may create
  24467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24468. // for more information on using Contexts.
  24469. func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
  24470. req, out := c.ExportClientVpnClientConfigurationRequest(input)
  24471. req.SetContext(ctx)
  24472. req.ApplyOptions(opts...)
  24473. return out, req.Send()
  24474. }
  24475. const opExportImage = "ExportImage"
  24476. // ExportImageRequest generates a "aws/request.Request" representing the
  24477. // client's request for the ExportImage operation. The "output" return
  24478. // value will be populated with the request's response once the request completes
  24479. // successfully.
  24480. //
  24481. // Use "Send" method on the returned Request to send the API call to the service.
  24482. // the "output" return value is not valid until after Send returns without error.
  24483. //
  24484. // See ExportImage for more information on using the ExportImage
  24485. // API call, and error handling.
  24486. //
  24487. // This method is useful when you want to inject custom logic or configuration
  24488. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24489. //
  24490. //
  24491. // // Example sending a request using the ExportImageRequest method.
  24492. // req, resp := client.ExportImageRequest(params)
  24493. //
  24494. // err := req.Send()
  24495. // if err == nil { // resp is now filled
  24496. // fmt.Println(resp)
  24497. // }
  24498. //
  24499. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
  24500. func (c *EC2) ExportImageRequest(input *ExportImageInput) (req *request.Request, output *ExportImageOutput) {
  24501. op := &request.Operation{
  24502. Name: opExportImage,
  24503. HTTPMethod: "POST",
  24504. HTTPPath: "/",
  24505. }
  24506. if input == nil {
  24507. input = &ExportImageInput{}
  24508. }
  24509. output = &ExportImageOutput{}
  24510. req = c.newRequest(op, input, output)
  24511. return
  24512. }
  24513. // ExportImage API operation for Amazon Elastic Compute Cloud.
  24514. //
  24515. // Exports an Amazon Machine Image (AMI) to a VM file. For more information,
  24516. // see Exporting a VM Directory from an Amazon Machine Image (AMI) (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)
  24517. // in the VM Import/Export User Guide.
  24518. //
  24519. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24520. // with awserr.Error's Code and Message methods to get detailed information about
  24521. // the error.
  24522. //
  24523. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24524. // API operation ExportImage for usage and error information.
  24525. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
  24526. func (c *EC2) ExportImage(input *ExportImageInput) (*ExportImageOutput, error) {
  24527. req, out := c.ExportImageRequest(input)
  24528. return out, req.Send()
  24529. }
  24530. // ExportImageWithContext is the same as ExportImage with the addition of
  24531. // the ability to pass a context and additional request options.
  24532. //
  24533. // See ExportImage for details on how to use this API operation.
  24534. //
  24535. // The context must be non-nil and will be used for request cancellation. If
  24536. // the context is nil a panic will occur. In the future the SDK may create
  24537. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24538. // for more information on using Contexts.
  24539. func (c *EC2) ExportImageWithContext(ctx aws.Context, input *ExportImageInput, opts ...request.Option) (*ExportImageOutput, error) {
  24540. req, out := c.ExportImageRequest(input)
  24541. req.SetContext(ctx)
  24542. req.ApplyOptions(opts...)
  24543. return out, req.Send()
  24544. }
  24545. const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
  24546. // ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
  24547. // client's request for the ExportTransitGatewayRoutes operation. The "output" return
  24548. // value will be populated with the request's response once the request completes
  24549. // successfully.
  24550. //
  24551. // Use "Send" method on the returned Request to send the API call to the service.
  24552. // the "output" return value is not valid until after Send returns without error.
  24553. //
  24554. // See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
  24555. // API call, and error handling.
  24556. //
  24557. // This method is useful when you want to inject custom logic or configuration
  24558. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24559. //
  24560. //
  24561. // // Example sending a request using the ExportTransitGatewayRoutesRequest method.
  24562. // req, resp := client.ExportTransitGatewayRoutesRequest(params)
  24563. //
  24564. // err := req.Send()
  24565. // if err == nil { // resp is now filled
  24566. // fmt.Println(resp)
  24567. // }
  24568. //
  24569. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
  24570. func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
  24571. op := &request.Operation{
  24572. Name: opExportTransitGatewayRoutes,
  24573. HTTPMethod: "POST",
  24574. HTTPPath: "/",
  24575. }
  24576. if input == nil {
  24577. input = &ExportTransitGatewayRoutesInput{}
  24578. }
  24579. output = &ExportTransitGatewayRoutesOutput{}
  24580. req = c.newRequest(op, input, output)
  24581. return
  24582. }
  24583. // ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
  24584. //
  24585. // Exports routes from the specified transit gateway route table to the specified
  24586. // S3 bucket. By default, all routes are exported. Alternatively, you can filter
  24587. // by CIDR range.
  24588. //
  24589. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24590. // with awserr.Error's Code and Message methods to get detailed information about
  24591. // the error.
  24592. //
  24593. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24594. // API operation ExportTransitGatewayRoutes for usage and error information.
  24595. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
  24596. func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
  24597. req, out := c.ExportTransitGatewayRoutesRequest(input)
  24598. return out, req.Send()
  24599. }
  24600. // ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
  24601. // the ability to pass a context and additional request options.
  24602. //
  24603. // See ExportTransitGatewayRoutes for details on how to use this API operation.
  24604. //
  24605. // The context must be non-nil and will be used for request cancellation. If
  24606. // the context is nil a panic will occur. In the future the SDK may create
  24607. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24608. // for more information on using Contexts.
  24609. func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
  24610. req, out := c.ExportTransitGatewayRoutesRequest(input)
  24611. req.SetContext(ctx)
  24612. req.ApplyOptions(opts...)
  24613. return out, req.Send()
  24614. }
  24615. const opGetCapacityReservationUsage = "GetCapacityReservationUsage"
  24616. // GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the
  24617. // client's request for the GetCapacityReservationUsage operation. The "output" return
  24618. // value will be populated with the request's response once the request completes
  24619. // successfully.
  24620. //
  24621. // Use "Send" method on the returned Request to send the API call to the service.
  24622. // the "output" return value is not valid until after Send returns without error.
  24623. //
  24624. // See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage
  24625. // API call, and error handling.
  24626. //
  24627. // This method is useful when you want to inject custom logic or configuration
  24628. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24629. //
  24630. //
  24631. // // Example sending a request using the GetCapacityReservationUsageRequest method.
  24632. // req, resp := client.GetCapacityReservationUsageRequest(params)
  24633. //
  24634. // err := req.Send()
  24635. // if err == nil { // resp is now filled
  24636. // fmt.Println(resp)
  24637. // }
  24638. //
  24639. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
  24640. func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) {
  24641. op := &request.Operation{
  24642. Name: opGetCapacityReservationUsage,
  24643. HTTPMethod: "POST",
  24644. HTTPPath: "/",
  24645. }
  24646. if input == nil {
  24647. input = &GetCapacityReservationUsageInput{}
  24648. }
  24649. output = &GetCapacityReservationUsageOutput{}
  24650. req = c.newRequest(op, input, output)
  24651. return
  24652. }
  24653. // GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud.
  24654. //
  24655. // Gets usage information about a Capacity Reservation. If the Capacity Reservation
  24656. // is shared, it shows usage information for the Capacity Reservation owner
  24657. // and each AWS account that is currently using the shared capacity. If the
  24658. // Capacity Reservation is not shared, it shows only the Capacity Reservation
  24659. // owner's usage.
  24660. //
  24661. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24662. // with awserr.Error's Code and Message methods to get detailed information about
  24663. // the error.
  24664. //
  24665. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24666. // API operation GetCapacityReservationUsage for usage and error information.
  24667. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
  24668. func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) {
  24669. req, out := c.GetCapacityReservationUsageRequest(input)
  24670. return out, req.Send()
  24671. }
  24672. // GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of
  24673. // the ability to pass a context and additional request options.
  24674. //
  24675. // See GetCapacityReservationUsage for details on how to use this API operation.
  24676. //
  24677. // The context must be non-nil and will be used for request cancellation. If
  24678. // the context is nil a panic will occur. In the future the SDK may create
  24679. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24680. // for more information on using Contexts.
  24681. func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) {
  24682. req, out := c.GetCapacityReservationUsageRequest(input)
  24683. req.SetContext(ctx)
  24684. req.ApplyOptions(opts...)
  24685. return out, req.Send()
  24686. }
  24687. const opGetCoipPoolUsage = "GetCoipPoolUsage"
  24688. // GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
  24689. // client's request for the GetCoipPoolUsage operation. The "output" return
  24690. // value will be populated with the request's response once the request completes
  24691. // successfully.
  24692. //
  24693. // Use "Send" method on the returned Request to send the API call to the service.
  24694. // the "output" return value is not valid until after Send returns without error.
  24695. //
  24696. // See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
  24697. // API call, and error handling.
  24698. //
  24699. // This method is useful when you want to inject custom logic or configuration
  24700. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24701. //
  24702. //
  24703. // // Example sending a request using the GetCoipPoolUsageRequest method.
  24704. // req, resp := client.GetCoipPoolUsageRequest(params)
  24705. //
  24706. // err := req.Send()
  24707. // if err == nil { // resp is now filled
  24708. // fmt.Println(resp)
  24709. // }
  24710. //
  24711. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
  24712. func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
  24713. op := &request.Operation{
  24714. Name: opGetCoipPoolUsage,
  24715. HTTPMethod: "POST",
  24716. HTTPPath: "/",
  24717. }
  24718. if input == nil {
  24719. input = &GetCoipPoolUsageInput{}
  24720. }
  24721. output = &GetCoipPoolUsageOutput{}
  24722. req = c.newRequest(op, input, output)
  24723. return
  24724. }
  24725. // GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
  24726. //
  24727. // Describes the allocations from the specified customer-owned address pool.
  24728. //
  24729. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24730. // with awserr.Error's Code and Message methods to get detailed information about
  24731. // the error.
  24732. //
  24733. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24734. // API operation GetCoipPoolUsage for usage and error information.
  24735. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
  24736. func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
  24737. req, out := c.GetCoipPoolUsageRequest(input)
  24738. return out, req.Send()
  24739. }
  24740. // GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
  24741. // the ability to pass a context and additional request options.
  24742. //
  24743. // See GetCoipPoolUsage for details on how to use this API operation.
  24744. //
  24745. // The context must be non-nil and will be used for request cancellation. If
  24746. // the context is nil a panic will occur. In the future the SDK may create
  24747. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24748. // for more information on using Contexts.
  24749. func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
  24750. req, out := c.GetCoipPoolUsageRequest(input)
  24751. req.SetContext(ctx)
  24752. req.ApplyOptions(opts...)
  24753. return out, req.Send()
  24754. }
  24755. const opGetConsoleOutput = "GetConsoleOutput"
  24756. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  24757. // client's request for the GetConsoleOutput operation. The "output" return
  24758. // value will be populated with the request's response once the request completes
  24759. // successfully.
  24760. //
  24761. // Use "Send" method on the returned Request to send the API call to the service.
  24762. // the "output" return value is not valid until after Send returns without error.
  24763. //
  24764. // See GetConsoleOutput for more information on using the GetConsoleOutput
  24765. // API call, and error handling.
  24766. //
  24767. // This method is useful when you want to inject custom logic or configuration
  24768. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24769. //
  24770. //
  24771. // // Example sending a request using the GetConsoleOutputRequest method.
  24772. // req, resp := client.GetConsoleOutputRequest(params)
  24773. //
  24774. // err := req.Send()
  24775. // if err == nil { // resp is now filled
  24776. // fmt.Println(resp)
  24777. // }
  24778. //
  24779. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  24780. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  24781. op := &request.Operation{
  24782. Name: opGetConsoleOutput,
  24783. HTTPMethod: "POST",
  24784. HTTPPath: "/",
  24785. }
  24786. if input == nil {
  24787. input = &GetConsoleOutputInput{}
  24788. }
  24789. output = &GetConsoleOutputOutput{}
  24790. req = c.newRequest(op, input, output)
  24791. return
  24792. }
  24793. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  24794. //
  24795. // Gets the console output for the specified instance. For Linux instances,
  24796. // the instance console output displays the exact console output that would
  24797. // normally be displayed on a physical monitor attached to a computer. For Windows
  24798. // instances, the instance console output includes the last three system event
  24799. // log errors.
  24800. //
  24801. // By default, the console output returns buffered information that was posted
  24802. // shortly after an instance transition state (start, stop, reboot, or terminate).
  24803. // This information is available for at least one hour after the most recent
  24804. // post. Only the most recent 64 KB of console output is available.
  24805. //
  24806. // You can optionally retrieve the latest serial console output at any time
  24807. // during the instance lifecycle. This option is supported on instance types
  24808. // that use the Nitro hypervisor.
  24809. //
  24810. // For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
  24811. // in the Amazon Elastic Compute Cloud User Guide.
  24812. //
  24813. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24814. // with awserr.Error's Code and Message methods to get detailed information about
  24815. // the error.
  24816. //
  24817. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24818. // API operation GetConsoleOutput for usage and error information.
  24819. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  24820. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  24821. req, out := c.GetConsoleOutputRequest(input)
  24822. return out, req.Send()
  24823. }
  24824. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  24825. // the ability to pass a context and additional request options.
  24826. //
  24827. // See GetConsoleOutput for details on how to use this API operation.
  24828. //
  24829. // The context must be non-nil and will be used for request cancellation. If
  24830. // the context is nil a panic will occur. In the future the SDK may create
  24831. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24832. // for more information on using Contexts.
  24833. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  24834. req, out := c.GetConsoleOutputRequest(input)
  24835. req.SetContext(ctx)
  24836. req.ApplyOptions(opts...)
  24837. return out, req.Send()
  24838. }
  24839. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  24840. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  24841. // client's request for the GetConsoleScreenshot operation. The "output" return
  24842. // value will be populated with the request's response once the request completes
  24843. // successfully.
  24844. //
  24845. // Use "Send" method on the returned Request to send the API call to the service.
  24846. // the "output" return value is not valid until after Send returns without error.
  24847. //
  24848. // See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
  24849. // API call, and error handling.
  24850. //
  24851. // This method is useful when you want to inject custom logic or configuration
  24852. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24853. //
  24854. //
  24855. // // Example sending a request using the GetConsoleScreenshotRequest method.
  24856. // req, resp := client.GetConsoleScreenshotRequest(params)
  24857. //
  24858. // err := req.Send()
  24859. // if err == nil { // resp is now filled
  24860. // fmt.Println(resp)
  24861. // }
  24862. //
  24863. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  24864. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  24865. op := &request.Operation{
  24866. Name: opGetConsoleScreenshot,
  24867. HTTPMethod: "POST",
  24868. HTTPPath: "/",
  24869. }
  24870. if input == nil {
  24871. input = &GetConsoleScreenshotInput{}
  24872. }
  24873. output = &GetConsoleScreenshotOutput{}
  24874. req = c.newRequest(op, input, output)
  24875. return
  24876. }
  24877. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  24878. //
  24879. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  24880. //
  24881. // The returned content is Base64-encoded.
  24882. //
  24883. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24884. // with awserr.Error's Code and Message methods to get detailed information about
  24885. // the error.
  24886. //
  24887. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24888. // API operation GetConsoleScreenshot for usage and error information.
  24889. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  24890. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  24891. req, out := c.GetConsoleScreenshotRequest(input)
  24892. return out, req.Send()
  24893. }
  24894. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  24895. // the ability to pass a context and additional request options.
  24896. //
  24897. // See GetConsoleScreenshot for details on how to use this API operation.
  24898. //
  24899. // The context must be non-nil and will be used for request cancellation. If
  24900. // the context is nil a panic will occur. In the future the SDK may create
  24901. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24902. // for more information on using Contexts.
  24903. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  24904. req, out := c.GetConsoleScreenshotRequest(input)
  24905. req.SetContext(ctx)
  24906. req.ApplyOptions(opts...)
  24907. return out, req.Send()
  24908. }
  24909. const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
  24910. // GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
  24911. // client's request for the GetDefaultCreditSpecification operation. The "output" return
  24912. // value will be populated with the request's response once the request completes
  24913. // successfully.
  24914. //
  24915. // Use "Send" method on the returned Request to send the API call to the service.
  24916. // the "output" return value is not valid until after Send returns without error.
  24917. //
  24918. // See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
  24919. // API call, and error handling.
  24920. //
  24921. // This method is useful when you want to inject custom logic or configuration
  24922. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24923. //
  24924. //
  24925. // // Example sending a request using the GetDefaultCreditSpecificationRequest method.
  24926. // req, resp := client.GetDefaultCreditSpecificationRequest(params)
  24927. //
  24928. // err := req.Send()
  24929. // if err == nil { // resp is now filled
  24930. // fmt.Println(resp)
  24931. // }
  24932. //
  24933. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
  24934. func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
  24935. op := &request.Operation{
  24936. Name: opGetDefaultCreditSpecification,
  24937. HTTPMethod: "POST",
  24938. HTTPPath: "/",
  24939. }
  24940. if input == nil {
  24941. input = &GetDefaultCreditSpecificationInput{}
  24942. }
  24943. output = &GetDefaultCreditSpecificationOutput{}
  24944. req = c.newRequest(op, input, output)
  24945. return
  24946. }
  24947. // GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
  24948. //
  24949. // Describes the default credit option for CPU usage of a burstable performance
  24950. // instance family.
  24951. //
  24952. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  24953. // in the Amazon Elastic Compute Cloud User Guide.
  24954. //
  24955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24956. // with awserr.Error's Code and Message methods to get detailed information about
  24957. // the error.
  24958. //
  24959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24960. // API operation GetDefaultCreditSpecification for usage and error information.
  24961. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
  24962. func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
  24963. req, out := c.GetDefaultCreditSpecificationRequest(input)
  24964. return out, req.Send()
  24965. }
  24966. // GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
  24967. // the ability to pass a context and additional request options.
  24968. //
  24969. // See GetDefaultCreditSpecification for details on how to use this API operation.
  24970. //
  24971. // The context must be non-nil and will be used for request cancellation. If
  24972. // the context is nil a panic will occur. In the future the SDK may create
  24973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24974. // for more information on using Contexts.
  24975. func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
  24976. req, out := c.GetDefaultCreditSpecificationRequest(input)
  24977. req.SetContext(ctx)
  24978. req.ApplyOptions(opts...)
  24979. return out, req.Send()
  24980. }
  24981. const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
  24982. // GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
  24983. // client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
  24984. // value will be populated with the request's response once the request completes
  24985. // successfully.
  24986. //
  24987. // Use "Send" method on the returned Request to send the API call to the service.
  24988. // the "output" return value is not valid until after Send returns without error.
  24989. //
  24990. // See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
  24991. // API call, and error handling.
  24992. //
  24993. // This method is useful when you want to inject custom logic or configuration
  24994. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24995. //
  24996. //
  24997. // // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
  24998. // req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
  24999. //
  25000. // err := req.Send()
  25001. // if err == nil { // resp is now filled
  25002. // fmt.Println(resp)
  25003. // }
  25004. //
  25005. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
  25006. func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
  25007. op := &request.Operation{
  25008. Name: opGetEbsDefaultKmsKeyId,
  25009. HTTPMethod: "POST",
  25010. HTTPPath: "/",
  25011. }
  25012. if input == nil {
  25013. input = &GetEbsDefaultKmsKeyIdInput{}
  25014. }
  25015. output = &GetEbsDefaultKmsKeyIdOutput{}
  25016. req = c.newRequest(op, input, output)
  25017. return
  25018. }
  25019. // GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
  25020. //
  25021. // Describes the default customer master key (CMK) for EBS encryption by default
  25022. // for your account in this Region. You can change the default CMK for encryption
  25023. // by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
  25024. //
  25025. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  25026. // in the Amazon Elastic Compute Cloud User Guide.
  25027. //
  25028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25029. // with awserr.Error's Code and Message methods to get detailed information about
  25030. // the error.
  25031. //
  25032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25033. // API operation GetEbsDefaultKmsKeyId for usage and error information.
  25034. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
  25035. func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
  25036. req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
  25037. return out, req.Send()
  25038. }
  25039. // GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
  25040. // the ability to pass a context and additional request options.
  25041. //
  25042. // See GetEbsDefaultKmsKeyId for details on how to use this API operation.
  25043. //
  25044. // The context must be non-nil and will be used for request cancellation. If
  25045. // the context is nil a panic will occur. In the future the SDK may create
  25046. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25047. // for more information on using Contexts.
  25048. func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
  25049. req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
  25050. req.SetContext(ctx)
  25051. req.ApplyOptions(opts...)
  25052. return out, req.Send()
  25053. }
  25054. const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
  25055. // GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
  25056. // client's request for the GetEbsEncryptionByDefault operation. The "output" return
  25057. // value will be populated with the request's response once the request completes
  25058. // successfully.
  25059. //
  25060. // Use "Send" method on the returned Request to send the API call to the service.
  25061. // the "output" return value is not valid until after Send returns without error.
  25062. //
  25063. // See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
  25064. // API call, and error handling.
  25065. //
  25066. // This method is useful when you want to inject custom logic or configuration
  25067. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25068. //
  25069. //
  25070. // // Example sending a request using the GetEbsEncryptionByDefaultRequest method.
  25071. // req, resp := client.GetEbsEncryptionByDefaultRequest(params)
  25072. //
  25073. // err := req.Send()
  25074. // if err == nil { // resp is now filled
  25075. // fmt.Println(resp)
  25076. // }
  25077. //
  25078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
  25079. func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
  25080. op := &request.Operation{
  25081. Name: opGetEbsEncryptionByDefault,
  25082. HTTPMethod: "POST",
  25083. HTTPPath: "/",
  25084. }
  25085. if input == nil {
  25086. input = &GetEbsEncryptionByDefaultInput{}
  25087. }
  25088. output = &GetEbsEncryptionByDefaultOutput{}
  25089. req = c.newRequest(op, input, output)
  25090. return
  25091. }
  25092. // GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
  25093. //
  25094. // Describes whether EBS encryption by default is enabled for your account in
  25095. // the current Region.
  25096. //
  25097. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  25098. // in the Amazon Elastic Compute Cloud User Guide.
  25099. //
  25100. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25101. // with awserr.Error's Code and Message methods to get detailed information about
  25102. // the error.
  25103. //
  25104. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25105. // API operation GetEbsEncryptionByDefault for usage and error information.
  25106. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
  25107. func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
  25108. req, out := c.GetEbsEncryptionByDefaultRequest(input)
  25109. return out, req.Send()
  25110. }
  25111. // GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
  25112. // the ability to pass a context and additional request options.
  25113. //
  25114. // See GetEbsEncryptionByDefault for details on how to use this API operation.
  25115. //
  25116. // The context must be non-nil and will be used for request cancellation. If
  25117. // the context is nil a panic will occur. In the future the SDK may create
  25118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25119. // for more information on using Contexts.
  25120. func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
  25121. req, out := c.GetEbsEncryptionByDefaultRequest(input)
  25122. req.SetContext(ctx)
  25123. req.ApplyOptions(opts...)
  25124. return out, req.Send()
  25125. }
  25126. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  25127. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  25128. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  25129. // value will be populated with the request's response once the request completes
  25130. // successfully.
  25131. //
  25132. // Use "Send" method on the returned Request to send the API call to the service.
  25133. // the "output" return value is not valid until after Send returns without error.
  25134. //
  25135. // See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
  25136. // API call, and error handling.
  25137. //
  25138. // This method is useful when you want to inject custom logic or configuration
  25139. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25140. //
  25141. //
  25142. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  25143. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  25144. //
  25145. // err := req.Send()
  25146. // if err == nil { // resp is now filled
  25147. // fmt.Println(resp)
  25148. // }
  25149. //
  25150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  25151. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  25152. op := &request.Operation{
  25153. Name: opGetHostReservationPurchasePreview,
  25154. HTTPMethod: "POST",
  25155. HTTPPath: "/",
  25156. }
  25157. if input == nil {
  25158. input = &GetHostReservationPurchasePreviewInput{}
  25159. }
  25160. output = &GetHostReservationPurchasePreviewOutput{}
  25161. req = c.newRequest(op, input, output)
  25162. return
  25163. }
  25164. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  25165. //
  25166. // Preview a reservation purchase with configurations that match those of your
  25167. // Dedicated Host. You must have active Dedicated Hosts in your account before
  25168. // you purchase a reservation.
  25169. //
  25170. // This is a preview of the PurchaseHostReservation action and does not result
  25171. // in the offering being purchased.
  25172. //
  25173. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25174. // with awserr.Error's Code and Message methods to get detailed information about
  25175. // the error.
  25176. //
  25177. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25178. // API operation GetHostReservationPurchasePreview for usage and error information.
  25179. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  25180. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  25181. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  25182. return out, req.Send()
  25183. }
  25184. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  25185. // the ability to pass a context and additional request options.
  25186. //
  25187. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  25188. //
  25189. // The context must be non-nil and will be used for request cancellation. If
  25190. // the context is nil a panic will occur. In the future the SDK may create
  25191. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25192. // for more information on using Contexts.
  25193. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  25194. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  25195. req.SetContext(ctx)
  25196. req.ApplyOptions(opts...)
  25197. return out, req.Send()
  25198. }
  25199. const opGetLaunchTemplateData = "GetLaunchTemplateData"
  25200. // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
  25201. // client's request for the GetLaunchTemplateData operation. The "output" return
  25202. // value will be populated with the request's response once the request completes
  25203. // successfully.
  25204. //
  25205. // Use "Send" method on the returned Request to send the API call to the service.
  25206. // the "output" return value is not valid until after Send returns without error.
  25207. //
  25208. // See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
  25209. // API call, and error handling.
  25210. //
  25211. // This method is useful when you want to inject custom logic or configuration
  25212. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25213. //
  25214. //
  25215. // // Example sending a request using the GetLaunchTemplateDataRequest method.
  25216. // req, resp := client.GetLaunchTemplateDataRequest(params)
  25217. //
  25218. // err := req.Send()
  25219. // if err == nil { // resp is now filled
  25220. // fmt.Println(resp)
  25221. // }
  25222. //
  25223. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  25224. func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
  25225. op := &request.Operation{
  25226. Name: opGetLaunchTemplateData,
  25227. HTTPMethod: "POST",
  25228. HTTPPath: "/",
  25229. }
  25230. if input == nil {
  25231. input = &GetLaunchTemplateDataInput{}
  25232. }
  25233. output = &GetLaunchTemplateDataOutput{}
  25234. req = c.newRequest(op, input, output)
  25235. return
  25236. }
  25237. // GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
  25238. //
  25239. // Retrieves the configuration data of the specified instance. You can use this
  25240. // data to create a launch template.
  25241. //
  25242. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25243. // with awserr.Error's Code and Message methods to get detailed information about
  25244. // the error.
  25245. //
  25246. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25247. // API operation GetLaunchTemplateData for usage and error information.
  25248. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  25249. func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
  25250. req, out := c.GetLaunchTemplateDataRequest(input)
  25251. return out, req.Send()
  25252. }
  25253. // GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
  25254. // the ability to pass a context and additional request options.
  25255. //
  25256. // See GetLaunchTemplateData for details on how to use this API operation.
  25257. //
  25258. // The context must be non-nil and will be used for request cancellation. If
  25259. // the context is nil a panic will occur. In the future the SDK may create
  25260. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25261. // for more information on using Contexts.
  25262. func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
  25263. req, out := c.GetLaunchTemplateDataRequest(input)
  25264. req.SetContext(ctx)
  25265. req.ApplyOptions(opts...)
  25266. return out, req.Send()
  25267. }
  25268. const opGetPasswordData = "GetPasswordData"
  25269. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  25270. // client's request for the GetPasswordData operation. The "output" return
  25271. // value will be populated with the request's response once the request completes
  25272. // successfully.
  25273. //
  25274. // Use "Send" method on the returned Request to send the API call to the service.
  25275. // the "output" return value is not valid until after Send returns without error.
  25276. //
  25277. // See GetPasswordData for more information on using the GetPasswordData
  25278. // API call, and error handling.
  25279. //
  25280. // This method is useful when you want to inject custom logic or configuration
  25281. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25282. //
  25283. //
  25284. // // Example sending a request using the GetPasswordDataRequest method.
  25285. // req, resp := client.GetPasswordDataRequest(params)
  25286. //
  25287. // err := req.Send()
  25288. // if err == nil { // resp is now filled
  25289. // fmt.Println(resp)
  25290. // }
  25291. //
  25292. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  25293. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  25294. op := &request.Operation{
  25295. Name: opGetPasswordData,
  25296. HTTPMethod: "POST",
  25297. HTTPPath: "/",
  25298. }
  25299. if input == nil {
  25300. input = &GetPasswordDataInput{}
  25301. }
  25302. output = &GetPasswordDataOutput{}
  25303. req = c.newRequest(op, input, output)
  25304. return
  25305. }
  25306. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  25307. //
  25308. // Retrieves the encrypted administrator password for a running Windows instance.
  25309. //
  25310. // The Windows password is generated at boot by the EC2Config service or EC2Launch
  25311. // scripts (Windows Server 2016 and later). This usually only happens the first
  25312. // time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
  25313. // and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
  25314. // in the Amazon Elastic Compute Cloud User Guide.
  25315. //
  25316. // For the EC2Config service, the password is not generated for rebundled AMIs
  25317. // unless Ec2SetPassword is enabled before bundling.
  25318. //
  25319. // The password is encrypted using the key pair that you specified when you
  25320. // launched the instance. You must provide the corresponding key pair file.
  25321. //
  25322. // When you launch an instance, password generation and encryption may take
  25323. // a few minutes. If you try to retrieve the password before it's available,
  25324. // the output returns an empty string. We recommend that you wait up to 15 minutes
  25325. // after launching an instance before trying to retrieve the generated password.
  25326. //
  25327. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25328. // with awserr.Error's Code and Message methods to get detailed information about
  25329. // the error.
  25330. //
  25331. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25332. // API operation GetPasswordData for usage and error information.
  25333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  25334. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  25335. req, out := c.GetPasswordDataRequest(input)
  25336. return out, req.Send()
  25337. }
  25338. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  25339. // the ability to pass a context and additional request options.
  25340. //
  25341. // See GetPasswordData for details on how to use this API operation.
  25342. //
  25343. // The context must be non-nil and will be used for request cancellation. If
  25344. // the context is nil a panic will occur. In the future the SDK may create
  25345. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25346. // for more information on using Contexts.
  25347. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  25348. req, out := c.GetPasswordDataRequest(input)
  25349. req.SetContext(ctx)
  25350. req.ApplyOptions(opts...)
  25351. return out, req.Send()
  25352. }
  25353. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  25354. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  25355. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  25356. // value will be populated with the request's response once the request completes
  25357. // successfully.
  25358. //
  25359. // Use "Send" method on the returned Request to send the API call to the service.
  25360. // the "output" return value is not valid until after Send returns without error.
  25361. //
  25362. // See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
  25363. // API call, and error handling.
  25364. //
  25365. // This method is useful when you want to inject custom logic or configuration
  25366. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25367. //
  25368. //
  25369. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  25370. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  25371. //
  25372. // err := req.Send()
  25373. // if err == nil { // resp is now filled
  25374. // fmt.Println(resp)
  25375. // }
  25376. //
  25377. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  25378. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  25379. op := &request.Operation{
  25380. Name: opGetReservedInstancesExchangeQuote,
  25381. HTTPMethod: "POST",
  25382. HTTPPath: "/",
  25383. }
  25384. if input == nil {
  25385. input = &GetReservedInstancesExchangeQuoteInput{}
  25386. }
  25387. output = &GetReservedInstancesExchangeQuoteOutput{}
  25388. req = c.newRequest(op, input, output)
  25389. return
  25390. }
  25391. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  25392. //
  25393. // Returns a quote and exchange information for exchanging one or more specified
  25394. // Convertible Reserved Instances for a new Convertible Reserved Instance. If
  25395. // the exchange cannot be performed, the reason is returned in the response.
  25396. // Use AcceptReservedInstancesExchangeQuote to perform the exchange.
  25397. //
  25398. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25399. // with awserr.Error's Code and Message methods to get detailed information about
  25400. // the error.
  25401. //
  25402. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25403. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  25404. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  25405. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  25406. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  25407. return out, req.Send()
  25408. }
  25409. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  25410. // the ability to pass a context and additional request options.
  25411. //
  25412. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  25413. //
  25414. // The context must be non-nil and will be used for request cancellation. If
  25415. // the context is nil a panic will occur. In the future the SDK may create
  25416. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25417. // for more information on using Contexts.
  25418. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  25419. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  25420. req.SetContext(ctx)
  25421. req.ApplyOptions(opts...)
  25422. return out, req.Send()
  25423. }
  25424. const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
  25425. // GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
  25426. // client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
  25427. // value will be populated with the request's response once the request completes
  25428. // successfully.
  25429. //
  25430. // Use "Send" method on the returned Request to send the API call to the service.
  25431. // the "output" return value is not valid until after Send returns without error.
  25432. //
  25433. // See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
  25434. // API call, and error handling.
  25435. //
  25436. // This method is useful when you want to inject custom logic or configuration
  25437. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25438. //
  25439. //
  25440. // // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
  25441. // req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
  25442. //
  25443. // err := req.Send()
  25444. // if err == nil { // resp is now filled
  25445. // fmt.Println(resp)
  25446. // }
  25447. //
  25448. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
  25449. func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
  25450. op := &request.Operation{
  25451. Name: opGetTransitGatewayAttachmentPropagations,
  25452. HTTPMethod: "POST",
  25453. HTTPPath: "/",
  25454. Paginator: &request.Paginator{
  25455. InputTokens: []string{"NextToken"},
  25456. OutputTokens: []string{"NextToken"},
  25457. LimitToken: "MaxResults",
  25458. TruncationToken: "",
  25459. },
  25460. }
  25461. if input == nil {
  25462. input = &GetTransitGatewayAttachmentPropagationsInput{}
  25463. }
  25464. output = &GetTransitGatewayAttachmentPropagationsOutput{}
  25465. req = c.newRequest(op, input, output)
  25466. return
  25467. }
  25468. // GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
  25469. //
  25470. // Lists the route tables to which the specified resource attachment propagates
  25471. // routes.
  25472. //
  25473. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25474. // with awserr.Error's Code and Message methods to get detailed information about
  25475. // the error.
  25476. //
  25477. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25478. // API operation GetTransitGatewayAttachmentPropagations for usage and error information.
  25479. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
  25480. func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
  25481. req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
  25482. return out, req.Send()
  25483. }
  25484. // GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
  25485. // the ability to pass a context and additional request options.
  25486. //
  25487. // See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
  25488. //
  25489. // The context must be non-nil and will be used for request cancellation. If
  25490. // the context is nil a panic will occur. In the future the SDK may create
  25491. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25492. // for more information on using Contexts.
  25493. func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
  25494. req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
  25495. req.SetContext(ctx)
  25496. req.ApplyOptions(opts...)
  25497. return out, req.Send()
  25498. }
  25499. // GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
  25500. // calling the "fn" function with the response data for each page. To stop
  25501. // iterating, return false from the fn function.
  25502. //
  25503. // See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
  25504. //
  25505. // Note: This operation can generate multiple requests to a service.
  25506. //
  25507. // // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
  25508. // pageNum := 0
  25509. // err := client.GetTransitGatewayAttachmentPropagationsPages(params,
  25510. // func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
  25511. // pageNum++
  25512. // fmt.Println(page)
  25513. // return pageNum <= 3
  25514. // })
  25515. //
  25516. func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
  25517. return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
  25518. }
  25519. // GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
  25520. // it takes a Context and allows setting request options on the pages.
  25521. //
  25522. // The context must be non-nil and will be used for request cancellation. If
  25523. // the context is nil a panic will occur. In the future the SDK may create
  25524. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25525. // for more information on using Contexts.
  25526. func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
  25527. p := request.Pagination{
  25528. NewRequest: func() (*request.Request, error) {
  25529. var inCpy *GetTransitGatewayAttachmentPropagationsInput
  25530. if input != nil {
  25531. tmp := *input
  25532. inCpy = &tmp
  25533. }
  25534. req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
  25535. req.SetContext(ctx)
  25536. req.ApplyOptions(opts...)
  25537. return req, nil
  25538. },
  25539. }
  25540. for p.Next() {
  25541. if !fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) {
  25542. break
  25543. }
  25544. }
  25545. return p.Err()
  25546. }
  25547. const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
  25548. // GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
  25549. // client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
  25550. // value will be populated with the request's response once the request completes
  25551. // successfully.
  25552. //
  25553. // Use "Send" method on the returned Request to send the API call to the service.
  25554. // the "output" return value is not valid until after Send returns without error.
  25555. //
  25556. // See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
  25557. // API call, and error handling.
  25558. //
  25559. // This method is useful when you want to inject custom logic or configuration
  25560. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25561. //
  25562. //
  25563. // // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
  25564. // req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
  25565. //
  25566. // err := req.Send()
  25567. // if err == nil { // resp is now filled
  25568. // fmt.Println(resp)
  25569. // }
  25570. //
  25571. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
  25572. func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
  25573. op := &request.Operation{
  25574. Name: opGetTransitGatewayMulticastDomainAssociations,
  25575. HTTPMethod: "POST",
  25576. HTTPPath: "/",
  25577. }
  25578. if input == nil {
  25579. input = &GetTransitGatewayMulticastDomainAssociationsInput{}
  25580. }
  25581. output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
  25582. req = c.newRequest(op, input, output)
  25583. return
  25584. }
  25585. // GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
  25586. //
  25587. // Gets information about the associations for the transit gateway multicast
  25588. // domain.
  25589. //
  25590. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25591. // with awserr.Error's Code and Message methods to get detailed information about
  25592. // the error.
  25593. //
  25594. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25595. // API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
  25596. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
  25597. func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
  25598. req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
  25599. return out, req.Send()
  25600. }
  25601. // GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
  25602. // the ability to pass a context and additional request options.
  25603. //
  25604. // See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
  25605. //
  25606. // The context must be non-nil and will be used for request cancellation. If
  25607. // the context is nil a panic will occur. In the future the SDK may create
  25608. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25609. // for more information on using Contexts.
  25610. func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
  25611. req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
  25612. req.SetContext(ctx)
  25613. req.ApplyOptions(opts...)
  25614. return out, req.Send()
  25615. }
  25616. const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
  25617. // GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
  25618. // client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
  25619. // value will be populated with the request's response once the request completes
  25620. // successfully.
  25621. //
  25622. // Use "Send" method on the returned Request to send the API call to the service.
  25623. // the "output" return value is not valid until after Send returns without error.
  25624. //
  25625. // See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
  25626. // API call, and error handling.
  25627. //
  25628. // This method is useful when you want to inject custom logic or configuration
  25629. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25630. //
  25631. //
  25632. // // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
  25633. // req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
  25634. //
  25635. // err := req.Send()
  25636. // if err == nil { // resp is now filled
  25637. // fmt.Println(resp)
  25638. // }
  25639. //
  25640. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
  25641. func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
  25642. op := &request.Operation{
  25643. Name: opGetTransitGatewayRouteTableAssociations,
  25644. HTTPMethod: "POST",
  25645. HTTPPath: "/",
  25646. Paginator: &request.Paginator{
  25647. InputTokens: []string{"NextToken"},
  25648. OutputTokens: []string{"NextToken"},
  25649. LimitToken: "MaxResults",
  25650. TruncationToken: "",
  25651. },
  25652. }
  25653. if input == nil {
  25654. input = &GetTransitGatewayRouteTableAssociationsInput{}
  25655. }
  25656. output = &GetTransitGatewayRouteTableAssociationsOutput{}
  25657. req = c.newRequest(op, input, output)
  25658. return
  25659. }
  25660. // GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
  25661. //
  25662. // Gets information about the associations for the specified transit gateway
  25663. // route table.
  25664. //
  25665. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25666. // with awserr.Error's Code and Message methods to get detailed information about
  25667. // the error.
  25668. //
  25669. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25670. // API operation GetTransitGatewayRouteTableAssociations for usage and error information.
  25671. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
  25672. func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
  25673. req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
  25674. return out, req.Send()
  25675. }
  25676. // GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
  25677. // the ability to pass a context and additional request options.
  25678. //
  25679. // See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
  25680. //
  25681. // The context must be non-nil and will be used for request cancellation. If
  25682. // the context is nil a panic will occur. In the future the SDK may create
  25683. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25684. // for more information on using Contexts.
  25685. func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
  25686. req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
  25687. req.SetContext(ctx)
  25688. req.ApplyOptions(opts...)
  25689. return out, req.Send()
  25690. }
  25691. // GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
  25692. // calling the "fn" function with the response data for each page. To stop
  25693. // iterating, return false from the fn function.
  25694. //
  25695. // See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
  25696. //
  25697. // Note: This operation can generate multiple requests to a service.
  25698. //
  25699. // // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
  25700. // pageNum := 0
  25701. // err := client.GetTransitGatewayRouteTableAssociationsPages(params,
  25702. // func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
  25703. // pageNum++
  25704. // fmt.Println(page)
  25705. // return pageNum <= 3
  25706. // })
  25707. //
  25708. func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
  25709. return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  25710. }
  25711. // GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
  25712. // it takes a Context and allows setting request options on the pages.
  25713. //
  25714. // The context must be non-nil and will be used for request cancellation. If
  25715. // the context is nil a panic will occur. In the future the SDK may create
  25716. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25717. // for more information on using Contexts.
  25718. func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
  25719. p := request.Pagination{
  25720. NewRequest: func() (*request.Request, error) {
  25721. var inCpy *GetTransitGatewayRouteTableAssociationsInput
  25722. if input != nil {
  25723. tmp := *input
  25724. inCpy = &tmp
  25725. }
  25726. req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
  25727. req.SetContext(ctx)
  25728. req.ApplyOptions(opts...)
  25729. return req, nil
  25730. },
  25731. }
  25732. for p.Next() {
  25733. if !fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) {
  25734. break
  25735. }
  25736. }
  25737. return p.Err()
  25738. }
  25739. const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
  25740. // GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
  25741. // client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
  25742. // value will be populated with the request's response once the request completes
  25743. // successfully.
  25744. //
  25745. // Use "Send" method on the returned Request to send the API call to the service.
  25746. // the "output" return value is not valid until after Send returns without error.
  25747. //
  25748. // See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
  25749. // API call, and error handling.
  25750. //
  25751. // This method is useful when you want to inject custom logic or configuration
  25752. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25753. //
  25754. //
  25755. // // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
  25756. // req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
  25757. //
  25758. // err := req.Send()
  25759. // if err == nil { // resp is now filled
  25760. // fmt.Println(resp)
  25761. // }
  25762. //
  25763. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
  25764. func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
  25765. op := &request.Operation{
  25766. Name: opGetTransitGatewayRouteTablePropagations,
  25767. HTTPMethod: "POST",
  25768. HTTPPath: "/",
  25769. Paginator: &request.Paginator{
  25770. InputTokens: []string{"NextToken"},
  25771. OutputTokens: []string{"NextToken"},
  25772. LimitToken: "MaxResults",
  25773. TruncationToken: "",
  25774. },
  25775. }
  25776. if input == nil {
  25777. input = &GetTransitGatewayRouteTablePropagationsInput{}
  25778. }
  25779. output = &GetTransitGatewayRouteTablePropagationsOutput{}
  25780. req = c.newRequest(op, input, output)
  25781. return
  25782. }
  25783. // GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
  25784. //
  25785. // Gets information about the route table propagations for the specified transit
  25786. // gateway route table.
  25787. //
  25788. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25789. // with awserr.Error's Code and Message methods to get detailed information about
  25790. // the error.
  25791. //
  25792. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25793. // API operation GetTransitGatewayRouteTablePropagations for usage and error information.
  25794. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
  25795. func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
  25796. req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
  25797. return out, req.Send()
  25798. }
  25799. // GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
  25800. // the ability to pass a context and additional request options.
  25801. //
  25802. // See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
  25803. //
  25804. // The context must be non-nil and will be used for request cancellation. If
  25805. // the context is nil a panic will occur. In the future the SDK may create
  25806. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25807. // for more information on using Contexts.
  25808. func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
  25809. req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
  25810. req.SetContext(ctx)
  25811. req.ApplyOptions(opts...)
  25812. return out, req.Send()
  25813. }
  25814. // GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
  25815. // calling the "fn" function with the response data for each page. To stop
  25816. // iterating, return false from the fn function.
  25817. //
  25818. // See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
  25819. //
  25820. // Note: This operation can generate multiple requests to a service.
  25821. //
  25822. // // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
  25823. // pageNum := 0
  25824. // err := client.GetTransitGatewayRouteTablePropagationsPages(params,
  25825. // func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
  25826. // pageNum++
  25827. // fmt.Println(page)
  25828. // return pageNum <= 3
  25829. // })
  25830. //
  25831. func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
  25832. return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
  25833. }
  25834. // GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
  25835. // it takes a Context and allows setting request options on the pages.
  25836. //
  25837. // The context must be non-nil and will be used for request cancellation. If
  25838. // the context is nil a panic will occur. In the future the SDK may create
  25839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25840. // for more information on using Contexts.
  25841. func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
  25842. p := request.Pagination{
  25843. NewRequest: func() (*request.Request, error) {
  25844. var inCpy *GetTransitGatewayRouteTablePropagationsInput
  25845. if input != nil {
  25846. tmp := *input
  25847. inCpy = &tmp
  25848. }
  25849. req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
  25850. req.SetContext(ctx)
  25851. req.ApplyOptions(opts...)
  25852. return req, nil
  25853. },
  25854. }
  25855. for p.Next() {
  25856. if !fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) {
  25857. break
  25858. }
  25859. }
  25860. return p.Err()
  25861. }
  25862. const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
  25863. // ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
  25864. // client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
  25865. // value will be populated with the request's response once the request completes
  25866. // successfully.
  25867. //
  25868. // Use "Send" method on the returned Request to send the API call to the service.
  25869. // the "output" return value is not valid until after Send returns without error.
  25870. //
  25871. // See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
  25872. // API call, and error handling.
  25873. //
  25874. // This method is useful when you want to inject custom logic or configuration
  25875. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25876. //
  25877. //
  25878. // // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
  25879. // req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
  25880. //
  25881. // err := req.Send()
  25882. // if err == nil { // resp is now filled
  25883. // fmt.Println(resp)
  25884. // }
  25885. //
  25886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
  25887. func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
  25888. op := &request.Operation{
  25889. Name: opImportClientVpnClientCertificateRevocationList,
  25890. HTTPMethod: "POST",
  25891. HTTPPath: "/",
  25892. }
  25893. if input == nil {
  25894. input = &ImportClientVpnClientCertificateRevocationListInput{}
  25895. }
  25896. output = &ImportClientVpnClientCertificateRevocationListOutput{}
  25897. req = c.newRequest(op, input, output)
  25898. return
  25899. }
  25900. // ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
  25901. //
  25902. // Uploads a client certificate revocation list to the specified Client VPN
  25903. // endpoint. Uploading a client certificate revocation list overwrites the existing
  25904. // client certificate revocation list.
  25905. //
  25906. // Uploading a client certificate revocation list resets existing client connections.
  25907. //
  25908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25909. // with awserr.Error's Code and Message methods to get detailed information about
  25910. // the error.
  25911. //
  25912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25913. // API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
  25914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
  25915. func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
  25916. req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
  25917. return out, req.Send()
  25918. }
  25919. // ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
  25920. // the ability to pass a context and additional request options.
  25921. //
  25922. // See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
  25923. //
  25924. // The context must be non-nil and will be used for request cancellation. If
  25925. // the context is nil a panic will occur. In the future the SDK may create
  25926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25927. // for more information on using Contexts.
  25928. func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
  25929. req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
  25930. req.SetContext(ctx)
  25931. req.ApplyOptions(opts...)
  25932. return out, req.Send()
  25933. }
  25934. const opImportImage = "ImportImage"
  25935. // ImportImageRequest generates a "aws/request.Request" representing the
  25936. // client's request for the ImportImage operation. The "output" return
  25937. // value will be populated with the request's response once the request completes
  25938. // successfully.
  25939. //
  25940. // Use "Send" method on the returned Request to send the API call to the service.
  25941. // the "output" return value is not valid until after Send returns without error.
  25942. //
  25943. // See ImportImage for more information on using the ImportImage
  25944. // API call, and error handling.
  25945. //
  25946. // This method is useful when you want to inject custom logic or configuration
  25947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25948. //
  25949. //
  25950. // // Example sending a request using the ImportImageRequest method.
  25951. // req, resp := client.ImportImageRequest(params)
  25952. //
  25953. // err := req.Send()
  25954. // if err == nil { // resp is now filled
  25955. // fmt.Println(resp)
  25956. // }
  25957. //
  25958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  25959. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  25960. op := &request.Operation{
  25961. Name: opImportImage,
  25962. HTTPMethod: "POST",
  25963. HTTPPath: "/",
  25964. }
  25965. if input == nil {
  25966. input = &ImportImageInput{}
  25967. }
  25968. output = &ImportImageOutput{}
  25969. req = c.newRequest(op, input, output)
  25970. return
  25971. }
  25972. // ImportImage API operation for Amazon Elastic Compute Cloud.
  25973. //
  25974. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  25975. // Machine Image (AMI). For more information, see Importing a VM as an Image
  25976. // Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  25977. // in the VM Import/Export User Guide.
  25978. //
  25979. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25980. // with awserr.Error's Code and Message methods to get detailed information about
  25981. // the error.
  25982. //
  25983. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25984. // API operation ImportImage for usage and error information.
  25985. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  25986. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  25987. req, out := c.ImportImageRequest(input)
  25988. return out, req.Send()
  25989. }
  25990. // ImportImageWithContext is the same as ImportImage with the addition of
  25991. // the ability to pass a context and additional request options.
  25992. //
  25993. // See ImportImage for details on how to use this API operation.
  25994. //
  25995. // The context must be non-nil and will be used for request cancellation. If
  25996. // the context is nil a panic will occur. In the future the SDK may create
  25997. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25998. // for more information on using Contexts.
  25999. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  26000. req, out := c.ImportImageRequest(input)
  26001. req.SetContext(ctx)
  26002. req.ApplyOptions(opts...)
  26003. return out, req.Send()
  26004. }
  26005. const opImportInstance = "ImportInstance"
  26006. // ImportInstanceRequest generates a "aws/request.Request" representing the
  26007. // client's request for the ImportInstance operation. The "output" return
  26008. // value will be populated with the request's response once the request completes
  26009. // successfully.
  26010. //
  26011. // Use "Send" method on the returned Request to send the API call to the service.
  26012. // the "output" return value is not valid until after Send returns without error.
  26013. //
  26014. // See ImportInstance for more information on using the ImportInstance
  26015. // API call, and error handling.
  26016. //
  26017. // This method is useful when you want to inject custom logic or configuration
  26018. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26019. //
  26020. //
  26021. // // Example sending a request using the ImportInstanceRequest method.
  26022. // req, resp := client.ImportInstanceRequest(params)
  26023. //
  26024. // err := req.Send()
  26025. // if err == nil { // resp is now filled
  26026. // fmt.Println(resp)
  26027. // }
  26028. //
  26029. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  26030. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  26031. op := &request.Operation{
  26032. Name: opImportInstance,
  26033. HTTPMethod: "POST",
  26034. HTTPPath: "/",
  26035. }
  26036. if input == nil {
  26037. input = &ImportInstanceInput{}
  26038. }
  26039. output = &ImportInstanceOutput{}
  26040. req = c.newRequest(op, input, output)
  26041. return
  26042. }
  26043. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  26044. //
  26045. // Creates an import instance task using metadata from the specified disk image.
  26046. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  26047. // use ImportImage. For more information, see Importing a Virtual Machine Using
  26048. // the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  26049. //
  26050. // For information about the import manifest referenced by this API action,
  26051. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  26052. //
  26053. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26054. // with awserr.Error's Code and Message methods to get detailed information about
  26055. // the error.
  26056. //
  26057. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26058. // API operation ImportInstance for usage and error information.
  26059. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  26060. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  26061. req, out := c.ImportInstanceRequest(input)
  26062. return out, req.Send()
  26063. }
  26064. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  26065. // the ability to pass a context and additional request options.
  26066. //
  26067. // See ImportInstance for details on how to use this API operation.
  26068. //
  26069. // The context must be non-nil and will be used for request cancellation. If
  26070. // the context is nil a panic will occur. In the future the SDK may create
  26071. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26072. // for more information on using Contexts.
  26073. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  26074. req, out := c.ImportInstanceRequest(input)
  26075. req.SetContext(ctx)
  26076. req.ApplyOptions(opts...)
  26077. return out, req.Send()
  26078. }
  26079. const opImportKeyPair = "ImportKeyPair"
  26080. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  26081. // client's request for the ImportKeyPair operation. The "output" return
  26082. // value will be populated with the request's response once the request completes
  26083. // successfully.
  26084. //
  26085. // Use "Send" method on the returned Request to send the API call to the service.
  26086. // the "output" return value is not valid until after Send returns without error.
  26087. //
  26088. // See ImportKeyPair for more information on using the ImportKeyPair
  26089. // API call, and error handling.
  26090. //
  26091. // This method is useful when you want to inject custom logic or configuration
  26092. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26093. //
  26094. //
  26095. // // Example sending a request using the ImportKeyPairRequest method.
  26096. // req, resp := client.ImportKeyPairRequest(params)
  26097. //
  26098. // err := req.Send()
  26099. // if err == nil { // resp is now filled
  26100. // fmt.Println(resp)
  26101. // }
  26102. //
  26103. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  26104. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  26105. op := &request.Operation{
  26106. Name: opImportKeyPair,
  26107. HTTPMethod: "POST",
  26108. HTTPPath: "/",
  26109. }
  26110. if input == nil {
  26111. input = &ImportKeyPairInput{}
  26112. }
  26113. output = &ImportKeyPairOutput{}
  26114. req = c.newRequest(op, input, output)
  26115. return
  26116. }
  26117. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  26118. //
  26119. // Imports the public key from an RSA key pair that you created with a third-party
  26120. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  26121. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  26122. // you create the key pair and give AWS just the public key. The private key
  26123. // is never transferred between you and AWS.
  26124. //
  26125. // For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  26126. // in the Amazon Elastic Compute Cloud User Guide.
  26127. //
  26128. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26129. // with awserr.Error's Code and Message methods to get detailed information about
  26130. // the error.
  26131. //
  26132. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26133. // API operation ImportKeyPair for usage and error information.
  26134. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  26135. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  26136. req, out := c.ImportKeyPairRequest(input)
  26137. return out, req.Send()
  26138. }
  26139. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  26140. // the ability to pass a context and additional request options.
  26141. //
  26142. // See ImportKeyPair for details on how to use this API operation.
  26143. //
  26144. // The context must be non-nil and will be used for request cancellation. If
  26145. // the context is nil a panic will occur. In the future the SDK may create
  26146. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26147. // for more information on using Contexts.
  26148. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  26149. req, out := c.ImportKeyPairRequest(input)
  26150. req.SetContext(ctx)
  26151. req.ApplyOptions(opts...)
  26152. return out, req.Send()
  26153. }
  26154. const opImportSnapshot = "ImportSnapshot"
  26155. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  26156. // client's request for the ImportSnapshot operation. The "output" return
  26157. // value will be populated with the request's response once the request completes
  26158. // successfully.
  26159. //
  26160. // Use "Send" method on the returned Request to send the API call to the service.
  26161. // the "output" return value is not valid until after Send returns without error.
  26162. //
  26163. // See ImportSnapshot for more information on using the ImportSnapshot
  26164. // API call, and error handling.
  26165. //
  26166. // This method is useful when you want to inject custom logic or configuration
  26167. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26168. //
  26169. //
  26170. // // Example sending a request using the ImportSnapshotRequest method.
  26171. // req, resp := client.ImportSnapshotRequest(params)
  26172. //
  26173. // err := req.Send()
  26174. // if err == nil { // resp is now filled
  26175. // fmt.Println(resp)
  26176. // }
  26177. //
  26178. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  26179. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  26180. op := &request.Operation{
  26181. Name: opImportSnapshot,
  26182. HTTPMethod: "POST",
  26183. HTTPPath: "/",
  26184. }
  26185. if input == nil {
  26186. input = &ImportSnapshotInput{}
  26187. }
  26188. output = &ImportSnapshotOutput{}
  26189. req = c.newRequest(op, input, output)
  26190. return
  26191. }
  26192. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  26193. //
  26194. // Imports a disk into an EBS snapshot.
  26195. //
  26196. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26197. // with awserr.Error's Code and Message methods to get detailed information about
  26198. // the error.
  26199. //
  26200. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26201. // API operation ImportSnapshot for usage and error information.
  26202. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  26203. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  26204. req, out := c.ImportSnapshotRequest(input)
  26205. return out, req.Send()
  26206. }
  26207. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  26208. // the ability to pass a context and additional request options.
  26209. //
  26210. // See ImportSnapshot for details on how to use this API operation.
  26211. //
  26212. // The context must be non-nil and will be used for request cancellation. If
  26213. // the context is nil a panic will occur. In the future the SDK may create
  26214. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26215. // for more information on using Contexts.
  26216. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  26217. req, out := c.ImportSnapshotRequest(input)
  26218. req.SetContext(ctx)
  26219. req.ApplyOptions(opts...)
  26220. return out, req.Send()
  26221. }
  26222. const opImportVolume = "ImportVolume"
  26223. // ImportVolumeRequest generates a "aws/request.Request" representing the
  26224. // client's request for the ImportVolume operation. The "output" return
  26225. // value will be populated with the request's response once the request completes
  26226. // successfully.
  26227. //
  26228. // Use "Send" method on the returned Request to send the API call to the service.
  26229. // the "output" return value is not valid until after Send returns without error.
  26230. //
  26231. // See ImportVolume for more information on using the ImportVolume
  26232. // API call, and error handling.
  26233. //
  26234. // This method is useful when you want to inject custom logic or configuration
  26235. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26236. //
  26237. //
  26238. // // Example sending a request using the ImportVolumeRequest method.
  26239. // req, resp := client.ImportVolumeRequest(params)
  26240. //
  26241. // err := req.Send()
  26242. // if err == nil { // resp is now filled
  26243. // fmt.Println(resp)
  26244. // }
  26245. //
  26246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  26247. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  26248. op := &request.Operation{
  26249. Name: opImportVolume,
  26250. HTTPMethod: "POST",
  26251. HTTPPath: "/",
  26252. }
  26253. if input == nil {
  26254. input = &ImportVolumeInput{}
  26255. }
  26256. output = &ImportVolumeOutput{}
  26257. req = c.newRequest(op, input, output)
  26258. return
  26259. }
  26260. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  26261. //
  26262. // Creates an import volume task using metadata from the specified disk image.For
  26263. // more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  26264. //
  26265. // For information about the import manifest referenced by this API action,
  26266. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  26267. //
  26268. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26269. // with awserr.Error's Code and Message methods to get detailed information about
  26270. // the error.
  26271. //
  26272. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26273. // API operation ImportVolume for usage and error information.
  26274. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  26275. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  26276. req, out := c.ImportVolumeRequest(input)
  26277. return out, req.Send()
  26278. }
  26279. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  26280. // the ability to pass a context and additional request options.
  26281. //
  26282. // See ImportVolume for details on how to use this API operation.
  26283. //
  26284. // The context must be non-nil and will be used for request cancellation. If
  26285. // the context is nil a panic will occur. In the future the SDK may create
  26286. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26287. // for more information on using Contexts.
  26288. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  26289. req, out := c.ImportVolumeRequest(input)
  26290. req.SetContext(ctx)
  26291. req.ApplyOptions(opts...)
  26292. return out, req.Send()
  26293. }
  26294. const opModifyCapacityReservation = "ModifyCapacityReservation"
  26295. // ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
  26296. // client's request for the ModifyCapacityReservation operation. The "output" return
  26297. // value will be populated with the request's response once the request completes
  26298. // successfully.
  26299. //
  26300. // Use "Send" method on the returned Request to send the API call to the service.
  26301. // the "output" return value is not valid until after Send returns without error.
  26302. //
  26303. // See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
  26304. // API call, and error handling.
  26305. //
  26306. // This method is useful when you want to inject custom logic or configuration
  26307. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26308. //
  26309. //
  26310. // // Example sending a request using the ModifyCapacityReservationRequest method.
  26311. // req, resp := client.ModifyCapacityReservationRequest(params)
  26312. //
  26313. // err := req.Send()
  26314. // if err == nil { // resp is now filled
  26315. // fmt.Println(resp)
  26316. // }
  26317. //
  26318. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
  26319. func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
  26320. op := &request.Operation{
  26321. Name: opModifyCapacityReservation,
  26322. HTTPMethod: "POST",
  26323. HTTPPath: "/",
  26324. }
  26325. if input == nil {
  26326. input = &ModifyCapacityReservationInput{}
  26327. }
  26328. output = &ModifyCapacityReservationOutput{}
  26329. req = c.newRequest(op, input, output)
  26330. return
  26331. }
  26332. // ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
  26333. //
  26334. // Modifies a Capacity Reservation's capacity and the conditions under which
  26335. // it is to be released. You cannot change a Capacity Reservation's instance
  26336. // type, EBS optimization, instance store settings, platform, Availability Zone,
  26337. // or instance eligibility. If you need to modify any of these attributes, we
  26338. // recommend that you cancel the Capacity Reservation, and then create a new
  26339. // one with the required attributes.
  26340. //
  26341. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26342. // with awserr.Error's Code and Message methods to get detailed information about
  26343. // the error.
  26344. //
  26345. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26346. // API operation ModifyCapacityReservation for usage and error information.
  26347. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
  26348. func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
  26349. req, out := c.ModifyCapacityReservationRequest(input)
  26350. return out, req.Send()
  26351. }
  26352. // ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
  26353. // the ability to pass a context and additional request options.
  26354. //
  26355. // See ModifyCapacityReservation for details on how to use this API operation.
  26356. //
  26357. // The context must be non-nil and will be used for request cancellation. If
  26358. // the context is nil a panic will occur. In the future the SDK may create
  26359. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26360. // for more information on using Contexts.
  26361. func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
  26362. req, out := c.ModifyCapacityReservationRequest(input)
  26363. req.SetContext(ctx)
  26364. req.ApplyOptions(opts...)
  26365. return out, req.Send()
  26366. }
  26367. const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
  26368. // ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
  26369. // client's request for the ModifyClientVpnEndpoint operation. The "output" return
  26370. // value will be populated with the request's response once the request completes
  26371. // successfully.
  26372. //
  26373. // Use "Send" method on the returned Request to send the API call to the service.
  26374. // the "output" return value is not valid until after Send returns without error.
  26375. //
  26376. // See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
  26377. // API call, and error handling.
  26378. //
  26379. // This method is useful when you want to inject custom logic or configuration
  26380. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26381. //
  26382. //
  26383. // // Example sending a request using the ModifyClientVpnEndpointRequest method.
  26384. // req, resp := client.ModifyClientVpnEndpointRequest(params)
  26385. //
  26386. // err := req.Send()
  26387. // if err == nil { // resp is now filled
  26388. // fmt.Println(resp)
  26389. // }
  26390. //
  26391. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
  26392. func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
  26393. op := &request.Operation{
  26394. Name: opModifyClientVpnEndpoint,
  26395. HTTPMethod: "POST",
  26396. HTTPPath: "/",
  26397. }
  26398. if input == nil {
  26399. input = &ModifyClientVpnEndpointInput{}
  26400. }
  26401. output = &ModifyClientVpnEndpointOutput{}
  26402. req = c.newRequest(op, input, output)
  26403. return
  26404. }
  26405. // ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  26406. //
  26407. // Modifies the specified Client VPN endpoint. You can only modify an endpoint's
  26408. // server certificate information, client connection logging information, DNS
  26409. // server, and description. Modifying the DNS server resets existing client
  26410. // connections.
  26411. //
  26412. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26413. // with awserr.Error's Code and Message methods to get detailed information about
  26414. // the error.
  26415. //
  26416. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26417. // API operation ModifyClientVpnEndpoint for usage and error information.
  26418. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
  26419. func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
  26420. req, out := c.ModifyClientVpnEndpointRequest(input)
  26421. return out, req.Send()
  26422. }
  26423. // ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
  26424. // the ability to pass a context and additional request options.
  26425. //
  26426. // See ModifyClientVpnEndpoint for details on how to use this API operation.
  26427. //
  26428. // The context must be non-nil and will be used for request cancellation. If
  26429. // the context is nil a panic will occur. In the future the SDK may create
  26430. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26431. // for more information on using Contexts.
  26432. func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
  26433. req, out := c.ModifyClientVpnEndpointRequest(input)
  26434. req.SetContext(ctx)
  26435. req.ApplyOptions(opts...)
  26436. return out, req.Send()
  26437. }
  26438. const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
  26439. // ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
  26440. // client's request for the ModifyDefaultCreditSpecification operation. The "output" return
  26441. // value will be populated with the request's response once the request completes
  26442. // successfully.
  26443. //
  26444. // Use "Send" method on the returned Request to send the API call to the service.
  26445. // the "output" return value is not valid until after Send returns without error.
  26446. //
  26447. // See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
  26448. // API call, and error handling.
  26449. //
  26450. // This method is useful when you want to inject custom logic or configuration
  26451. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26452. //
  26453. //
  26454. // // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
  26455. // req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
  26456. //
  26457. // err := req.Send()
  26458. // if err == nil { // resp is now filled
  26459. // fmt.Println(resp)
  26460. // }
  26461. //
  26462. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
  26463. func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
  26464. op := &request.Operation{
  26465. Name: opModifyDefaultCreditSpecification,
  26466. HTTPMethod: "POST",
  26467. HTTPPath: "/",
  26468. }
  26469. if input == nil {
  26470. input = &ModifyDefaultCreditSpecificationInput{}
  26471. }
  26472. output = &ModifyDefaultCreditSpecificationOutput{}
  26473. req = c.newRequest(op, input, output)
  26474. return
  26475. }
  26476. // ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
  26477. //
  26478. // Modifies the default credit option for CPU usage of burstable performance
  26479. // instances. The default credit option is set at the account level per AWS
  26480. // Region, and is specified per instance family. All new burstable performance
  26481. // instances in the account launch using the default credit option.
  26482. //
  26483. // ModifyDefaultCreditSpecification is an asynchronous operation, which works
  26484. // at an AWS Region level and modifies the credit option for each Availability
  26485. // Zone. All zones in a Region are updated within five minutes. But if instances
  26486. // are launched during this operation, they might not get the new credit option
  26487. // until the zone is updated. To verify whether the update has occurred, you
  26488. // can call GetDefaultCreditSpecification and check DefaultCreditSpecification
  26489. // for updates.
  26490. //
  26491. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  26492. // in the Amazon Elastic Compute Cloud User Guide.
  26493. //
  26494. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26495. // with awserr.Error's Code and Message methods to get detailed information about
  26496. // the error.
  26497. //
  26498. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26499. // API operation ModifyDefaultCreditSpecification for usage and error information.
  26500. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
  26501. func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
  26502. req, out := c.ModifyDefaultCreditSpecificationRequest(input)
  26503. return out, req.Send()
  26504. }
  26505. // ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
  26506. // the ability to pass a context and additional request options.
  26507. //
  26508. // See ModifyDefaultCreditSpecification for details on how to use this API operation.
  26509. //
  26510. // The context must be non-nil and will be used for request cancellation. If
  26511. // the context is nil a panic will occur. In the future the SDK may create
  26512. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26513. // for more information on using Contexts.
  26514. func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
  26515. req, out := c.ModifyDefaultCreditSpecificationRequest(input)
  26516. req.SetContext(ctx)
  26517. req.ApplyOptions(opts...)
  26518. return out, req.Send()
  26519. }
  26520. const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
  26521. // ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
  26522. // client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
  26523. // value will be populated with the request's response once the request completes
  26524. // successfully.
  26525. //
  26526. // Use "Send" method on the returned Request to send the API call to the service.
  26527. // the "output" return value is not valid until after Send returns without error.
  26528. //
  26529. // See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
  26530. // API call, and error handling.
  26531. //
  26532. // This method is useful when you want to inject custom logic or configuration
  26533. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26534. //
  26535. //
  26536. // // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
  26537. // req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
  26538. //
  26539. // err := req.Send()
  26540. // if err == nil { // resp is now filled
  26541. // fmt.Println(resp)
  26542. // }
  26543. //
  26544. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
  26545. func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
  26546. op := &request.Operation{
  26547. Name: opModifyEbsDefaultKmsKeyId,
  26548. HTTPMethod: "POST",
  26549. HTTPPath: "/",
  26550. }
  26551. if input == nil {
  26552. input = &ModifyEbsDefaultKmsKeyIdInput{}
  26553. }
  26554. output = &ModifyEbsDefaultKmsKeyIdOutput{}
  26555. req = c.newRequest(op, input, output)
  26556. return
  26557. }
  26558. // ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
  26559. //
  26560. // Changes the default customer master key (CMK) for EBS encryption by default
  26561. // for your account in this Region.
  26562. //
  26563. // AWS creates a unique AWS managed CMK in each Region for use with encryption
  26564. // by default. If you change the default CMK to a symmetric customer managed
  26565. // CMK, it is used instead of the AWS managed CMK. To reset the default CMK
  26566. // to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does
  26567. // not support asymmetric CMKs.
  26568. //
  26569. // If you delete or disable the customer managed CMK that you specified for
  26570. // use with encryption by default, your instances will fail to launch.
  26571. //
  26572. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  26573. // in the Amazon Elastic Compute Cloud User Guide.
  26574. //
  26575. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26576. // with awserr.Error's Code and Message methods to get detailed information about
  26577. // the error.
  26578. //
  26579. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26580. // API operation ModifyEbsDefaultKmsKeyId for usage and error information.
  26581. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
  26582. func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
  26583. req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
  26584. return out, req.Send()
  26585. }
  26586. // ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
  26587. // the ability to pass a context and additional request options.
  26588. //
  26589. // See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
  26590. //
  26591. // The context must be non-nil and will be used for request cancellation. If
  26592. // the context is nil a panic will occur. In the future the SDK may create
  26593. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26594. // for more information on using Contexts.
  26595. func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
  26596. req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
  26597. req.SetContext(ctx)
  26598. req.ApplyOptions(opts...)
  26599. return out, req.Send()
  26600. }
  26601. const opModifyFleet = "ModifyFleet"
  26602. // ModifyFleetRequest generates a "aws/request.Request" representing the
  26603. // client's request for the ModifyFleet operation. The "output" return
  26604. // value will be populated with the request's response once the request completes
  26605. // successfully.
  26606. //
  26607. // Use "Send" method on the returned Request to send the API call to the service.
  26608. // the "output" return value is not valid until after Send returns without error.
  26609. //
  26610. // See ModifyFleet for more information on using the ModifyFleet
  26611. // API call, and error handling.
  26612. //
  26613. // This method is useful when you want to inject custom logic or configuration
  26614. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26615. //
  26616. //
  26617. // // Example sending a request using the ModifyFleetRequest method.
  26618. // req, resp := client.ModifyFleetRequest(params)
  26619. //
  26620. // err := req.Send()
  26621. // if err == nil { // resp is now filled
  26622. // fmt.Println(resp)
  26623. // }
  26624. //
  26625. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  26626. func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
  26627. op := &request.Operation{
  26628. Name: opModifyFleet,
  26629. HTTPMethod: "POST",
  26630. HTTPPath: "/",
  26631. }
  26632. if input == nil {
  26633. input = &ModifyFleetInput{}
  26634. }
  26635. output = &ModifyFleetOutput{}
  26636. req = c.newRequest(op, input, output)
  26637. return
  26638. }
  26639. // ModifyFleet API operation for Amazon Elastic Compute Cloud.
  26640. //
  26641. // Modifies the specified EC2 Fleet.
  26642. //
  26643. // You can only modify an EC2 Fleet request of type maintain.
  26644. //
  26645. // While the EC2 Fleet is being modified, it is in the modifying state.
  26646. //
  26647. // To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches
  26648. // the additional Spot Instances according to the allocation strategy for the
  26649. // EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet
  26650. // launches instances using the Spot Instance pool with the lowest price. If
  26651. // the allocation strategy is diversified, the EC2 Fleet distributes the instances
  26652. // across the Spot Instance pools. If the allocation strategy is capacity-optimized,
  26653. // EC2 Fleet launches instances from Spot Instance pools with optimal capacity
  26654. // for the number of instances that are launching.
  26655. //
  26656. // To scale down your EC2 Fleet, decrease its target capacity. First, the EC2
  26657. // Fleet cancels any open requests that exceed the new target capacity. You
  26658. // can request that the EC2 Fleet terminate Spot Instances until the size of
  26659. // the fleet no longer exceeds the new target capacity. If the allocation strategy
  26660. // is lowest-price, the EC2 Fleet terminates the instances with the highest
  26661. // price per unit. If the allocation strategy is capacity-optimized, the EC2
  26662. // Fleet terminates the instances in the Spot Instance pools that have the least
  26663. // available Spot Instance capacity. If the allocation strategy is diversified,
  26664. // the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively,
  26665. // you can request that the EC2 Fleet keep the fleet at its current size, but
  26666. // not replace any Spot Instances that are interrupted or that you terminate
  26667. // manually.
  26668. //
  26669. // If you are finished with your EC2 Fleet for now, but will use it again later,
  26670. // you can set the target capacity to 0.
  26671. //
  26672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26673. // with awserr.Error's Code and Message methods to get detailed information about
  26674. // the error.
  26675. //
  26676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26677. // API operation ModifyFleet for usage and error information.
  26678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  26679. func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
  26680. req, out := c.ModifyFleetRequest(input)
  26681. return out, req.Send()
  26682. }
  26683. // ModifyFleetWithContext is the same as ModifyFleet with the addition of
  26684. // the ability to pass a context and additional request options.
  26685. //
  26686. // See ModifyFleet for details on how to use this API operation.
  26687. //
  26688. // The context must be non-nil and will be used for request cancellation. If
  26689. // the context is nil a panic will occur. In the future the SDK may create
  26690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26691. // for more information on using Contexts.
  26692. func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
  26693. req, out := c.ModifyFleetRequest(input)
  26694. req.SetContext(ctx)
  26695. req.ApplyOptions(opts...)
  26696. return out, req.Send()
  26697. }
  26698. const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
  26699. // ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  26700. // client's request for the ModifyFpgaImageAttribute operation. The "output" return
  26701. // value will be populated with the request's response once the request completes
  26702. // successfully.
  26703. //
  26704. // Use "Send" method on the returned Request to send the API call to the service.
  26705. // the "output" return value is not valid until after Send returns without error.
  26706. //
  26707. // See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
  26708. // API call, and error handling.
  26709. //
  26710. // This method is useful when you want to inject custom logic or configuration
  26711. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26712. //
  26713. //
  26714. // // Example sending a request using the ModifyFpgaImageAttributeRequest method.
  26715. // req, resp := client.ModifyFpgaImageAttributeRequest(params)
  26716. //
  26717. // err := req.Send()
  26718. // if err == nil { // resp is now filled
  26719. // fmt.Println(resp)
  26720. // }
  26721. //
  26722. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  26723. func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
  26724. op := &request.Operation{
  26725. Name: opModifyFpgaImageAttribute,
  26726. HTTPMethod: "POST",
  26727. HTTPPath: "/",
  26728. }
  26729. if input == nil {
  26730. input = &ModifyFpgaImageAttributeInput{}
  26731. }
  26732. output = &ModifyFpgaImageAttributeOutput{}
  26733. req = c.newRequest(op, input, output)
  26734. return
  26735. }
  26736. // ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  26737. //
  26738. // Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
  26739. //
  26740. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26741. // with awserr.Error's Code and Message methods to get detailed information about
  26742. // the error.
  26743. //
  26744. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26745. // API operation ModifyFpgaImageAttribute for usage and error information.
  26746. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  26747. func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
  26748. req, out := c.ModifyFpgaImageAttributeRequest(input)
  26749. return out, req.Send()
  26750. }
  26751. // ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
  26752. // the ability to pass a context and additional request options.
  26753. //
  26754. // See ModifyFpgaImageAttribute for details on how to use this API operation.
  26755. //
  26756. // The context must be non-nil and will be used for request cancellation. If
  26757. // the context is nil a panic will occur. In the future the SDK may create
  26758. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26759. // for more information on using Contexts.
  26760. func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
  26761. req, out := c.ModifyFpgaImageAttributeRequest(input)
  26762. req.SetContext(ctx)
  26763. req.ApplyOptions(opts...)
  26764. return out, req.Send()
  26765. }
  26766. const opModifyHosts = "ModifyHosts"
  26767. // ModifyHostsRequest generates a "aws/request.Request" representing the
  26768. // client's request for the ModifyHosts operation. The "output" return
  26769. // value will be populated with the request's response once the request completes
  26770. // successfully.
  26771. //
  26772. // Use "Send" method on the returned Request to send the API call to the service.
  26773. // the "output" return value is not valid until after Send returns without error.
  26774. //
  26775. // See ModifyHosts for more information on using the ModifyHosts
  26776. // API call, and error handling.
  26777. //
  26778. // This method is useful when you want to inject custom logic or configuration
  26779. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26780. //
  26781. //
  26782. // // Example sending a request using the ModifyHostsRequest method.
  26783. // req, resp := client.ModifyHostsRequest(params)
  26784. //
  26785. // err := req.Send()
  26786. // if err == nil { // resp is now filled
  26787. // fmt.Println(resp)
  26788. // }
  26789. //
  26790. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  26791. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  26792. op := &request.Operation{
  26793. Name: opModifyHosts,
  26794. HTTPMethod: "POST",
  26795. HTTPPath: "/",
  26796. }
  26797. if input == nil {
  26798. input = &ModifyHostsInput{}
  26799. }
  26800. output = &ModifyHostsOutput{}
  26801. req = c.newRequest(op, input, output)
  26802. return
  26803. }
  26804. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  26805. //
  26806. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  26807. // is enabled, any instances that you launch with a tenancy of host but without
  26808. // a specific host ID are placed onto any available Dedicated Host in your account
  26809. // that has auto-placement enabled. When auto-placement is disabled, you need
  26810. // to provide a host ID to have the instance launch onto a specific host. If
  26811. // no host ID is provided, the instance is launched onto a suitable host with
  26812. // auto-placement enabled.
  26813. //
  26814. // You can also use this API action to modify a Dedicated Host to support either
  26815. // multiple instance types in an instance family, or to support a specific instance
  26816. // type only.
  26817. //
  26818. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26819. // with awserr.Error's Code and Message methods to get detailed information about
  26820. // the error.
  26821. //
  26822. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26823. // API operation ModifyHosts for usage and error information.
  26824. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  26825. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  26826. req, out := c.ModifyHostsRequest(input)
  26827. return out, req.Send()
  26828. }
  26829. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  26830. // the ability to pass a context and additional request options.
  26831. //
  26832. // See ModifyHosts for details on how to use this API operation.
  26833. //
  26834. // The context must be non-nil and will be used for request cancellation. If
  26835. // the context is nil a panic will occur. In the future the SDK may create
  26836. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26837. // for more information on using Contexts.
  26838. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  26839. req, out := c.ModifyHostsRequest(input)
  26840. req.SetContext(ctx)
  26841. req.ApplyOptions(opts...)
  26842. return out, req.Send()
  26843. }
  26844. const opModifyIdFormat = "ModifyIdFormat"
  26845. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  26846. // client's request for the ModifyIdFormat operation. The "output" return
  26847. // value will be populated with the request's response once the request completes
  26848. // successfully.
  26849. //
  26850. // Use "Send" method on the returned Request to send the API call to the service.
  26851. // the "output" return value is not valid until after Send returns without error.
  26852. //
  26853. // See ModifyIdFormat for more information on using the ModifyIdFormat
  26854. // API call, and error handling.
  26855. //
  26856. // This method is useful when you want to inject custom logic or configuration
  26857. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26858. //
  26859. //
  26860. // // Example sending a request using the ModifyIdFormatRequest method.
  26861. // req, resp := client.ModifyIdFormatRequest(params)
  26862. //
  26863. // err := req.Send()
  26864. // if err == nil { // resp is now filled
  26865. // fmt.Println(resp)
  26866. // }
  26867. //
  26868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  26869. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  26870. op := &request.Operation{
  26871. Name: opModifyIdFormat,
  26872. HTTPMethod: "POST",
  26873. HTTPPath: "/",
  26874. }
  26875. if input == nil {
  26876. input = &ModifyIdFormatInput{}
  26877. }
  26878. output = &ModifyIdFormatOutput{}
  26879. req = c.newRequest(op, input, output)
  26880. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  26881. return
  26882. }
  26883. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  26884. //
  26885. // Modifies the ID format for the specified resource on a per-Region basis.
  26886. // You can specify that resources should receive longer IDs (17-character IDs)
  26887. // when they are created.
  26888. //
  26889. // This request can only be used to modify longer ID settings for resource types
  26890. // that are within the opt-in period. Resources currently in their opt-in period
  26891. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  26892. // | elastic-ip-association | export-task | flow-log | image | import-task |
  26893. // internet-gateway | network-acl | network-acl-association | network-interface
  26894. // | network-interface-attachment | prefix-list | route-table | route-table-association
  26895. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  26896. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  26897. //
  26898. // This setting applies to the IAM user who makes the request; it does not apply
  26899. // to the entire AWS account. By default, an IAM user defaults to the same settings
  26900. // as the root user. If you're using this action as the root user, then these
  26901. // settings apply to the entire account, unless an IAM user explicitly overrides
  26902. // these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  26903. // in the Amazon Elastic Compute Cloud User Guide.
  26904. //
  26905. // Resources created with longer IDs are visible to all IAM roles and users,
  26906. // regardless of these settings and provided that they have permission to use
  26907. // the relevant Describe command for the resource type.
  26908. //
  26909. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  26910. // with awserr.Error's Code and Message methods to get detailed information about
  26911. // the error.
  26912. //
  26913. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  26914. // API operation ModifyIdFormat for usage and error information.
  26915. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  26916. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  26917. req, out := c.ModifyIdFormatRequest(input)
  26918. return out, req.Send()
  26919. }
  26920. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  26921. // the ability to pass a context and additional request options.
  26922. //
  26923. // See ModifyIdFormat for details on how to use this API operation.
  26924. //
  26925. // The context must be non-nil and will be used for request cancellation. If
  26926. // the context is nil a panic will occur. In the future the SDK may create
  26927. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  26928. // for more information on using Contexts.
  26929. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  26930. req, out := c.ModifyIdFormatRequest(input)
  26931. req.SetContext(ctx)
  26932. req.ApplyOptions(opts...)
  26933. return out, req.Send()
  26934. }
  26935. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  26936. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  26937. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  26938. // value will be populated with the request's response once the request completes
  26939. // successfully.
  26940. //
  26941. // Use "Send" method on the returned Request to send the API call to the service.
  26942. // the "output" return value is not valid until after Send returns without error.
  26943. //
  26944. // See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
  26945. // API call, and error handling.
  26946. //
  26947. // This method is useful when you want to inject custom logic or configuration
  26948. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  26949. //
  26950. //
  26951. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  26952. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  26953. //
  26954. // err := req.Send()
  26955. // if err == nil { // resp is now filled
  26956. // fmt.Println(resp)
  26957. // }
  26958. //
  26959. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  26960. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  26961. op := &request.Operation{
  26962. Name: opModifyIdentityIdFormat,
  26963. HTTPMethod: "POST",
  26964. HTTPPath: "/",
  26965. }
  26966. if input == nil {
  26967. input = &ModifyIdentityIdFormatInput{}
  26968. }
  26969. output = &ModifyIdentityIdFormatOutput{}
  26970. req = c.newRequest(op, input, output)
  26971. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  26972. return
  26973. }
  26974. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  26975. //
  26976. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  26977. // or the root user for an account; or all IAM users, IAM roles, and the root
  26978. // user for an account. You can specify that resources should receive longer
  26979. // IDs (17-character IDs) when they are created.
  26980. //
  26981. // This request can only be used to modify longer ID settings for resource types
  26982. // that are within the opt-in period. Resources currently in their opt-in period
  26983. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  26984. // | elastic-ip-association | export-task | flow-log | image | import-task |
  26985. // internet-gateway | network-acl | network-acl-association | network-interface
  26986. // | network-interface-attachment | prefix-list | route-table | route-table-association
  26987. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  26988. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  26989. //
  26990. // For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  26991. // in the Amazon Elastic Compute Cloud User Guide.
  26992. //
  26993. // This setting applies to the principal specified in the request; it does not
  26994. // apply to the principal that makes the request.
  26995. //
  26996. // Resources created with longer IDs are visible to all IAM roles and users,
  26997. // regardless of these settings and provided that they have permission to use
  26998. // the relevant Describe command for the resource type.
  26999. //
  27000. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27001. // with awserr.Error's Code and Message methods to get detailed information about
  27002. // the error.
  27003. //
  27004. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27005. // API operation ModifyIdentityIdFormat for usage and error information.
  27006. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  27007. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  27008. req, out := c.ModifyIdentityIdFormatRequest(input)
  27009. return out, req.Send()
  27010. }
  27011. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  27012. // the ability to pass a context and additional request options.
  27013. //
  27014. // See ModifyIdentityIdFormat for details on how to use this API operation.
  27015. //
  27016. // The context must be non-nil and will be used for request cancellation. If
  27017. // the context is nil a panic will occur. In the future the SDK may create
  27018. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27019. // for more information on using Contexts.
  27020. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  27021. req, out := c.ModifyIdentityIdFormatRequest(input)
  27022. req.SetContext(ctx)
  27023. req.ApplyOptions(opts...)
  27024. return out, req.Send()
  27025. }
  27026. const opModifyImageAttribute = "ModifyImageAttribute"
  27027. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  27028. // client's request for the ModifyImageAttribute operation. The "output" return
  27029. // value will be populated with the request's response once the request completes
  27030. // successfully.
  27031. //
  27032. // Use "Send" method on the returned Request to send the API call to the service.
  27033. // the "output" return value is not valid until after Send returns without error.
  27034. //
  27035. // See ModifyImageAttribute for more information on using the ModifyImageAttribute
  27036. // API call, and error handling.
  27037. //
  27038. // This method is useful when you want to inject custom logic or configuration
  27039. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27040. //
  27041. //
  27042. // // Example sending a request using the ModifyImageAttributeRequest method.
  27043. // req, resp := client.ModifyImageAttributeRequest(params)
  27044. //
  27045. // err := req.Send()
  27046. // if err == nil { // resp is now filled
  27047. // fmt.Println(resp)
  27048. // }
  27049. //
  27050. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  27051. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  27052. op := &request.Operation{
  27053. Name: opModifyImageAttribute,
  27054. HTTPMethod: "POST",
  27055. HTTPPath: "/",
  27056. }
  27057. if input == nil {
  27058. input = &ModifyImageAttributeInput{}
  27059. }
  27060. output = &ModifyImageAttributeOutput{}
  27061. req = c.newRequest(op, input, output)
  27062. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  27063. return
  27064. }
  27065. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  27066. //
  27067. // Modifies the specified attribute of the specified AMI. You can specify only
  27068. // one attribute at a time. You can use the Attribute parameter to specify the
  27069. // attribute or one of the following parameters: Description, LaunchPermission,
  27070. // or ProductCode.
  27071. //
  27072. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  27073. // product code cannot be made public.
  27074. //
  27075. // To enable the SriovNetSupport enhanced networking attribute of an image,
  27076. // enable SriovNetSupport on an instance and create an AMI from the instance.
  27077. //
  27078. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27079. // with awserr.Error's Code and Message methods to get detailed information about
  27080. // the error.
  27081. //
  27082. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27083. // API operation ModifyImageAttribute for usage and error information.
  27084. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  27085. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  27086. req, out := c.ModifyImageAttributeRequest(input)
  27087. return out, req.Send()
  27088. }
  27089. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  27090. // the ability to pass a context and additional request options.
  27091. //
  27092. // See ModifyImageAttribute for details on how to use this API operation.
  27093. //
  27094. // The context must be non-nil and will be used for request cancellation. If
  27095. // the context is nil a panic will occur. In the future the SDK may create
  27096. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27097. // for more information on using Contexts.
  27098. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  27099. req, out := c.ModifyImageAttributeRequest(input)
  27100. req.SetContext(ctx)
  27101. req.ApplyOptions(opts...)
  27102. return out, req.Send()
  27103. }
  27104. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  27105. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  27106. // client's request for the ModifyInstanceAttribute operation. The "output" return
  27107. // value will be populated with the request's response once the request completes
  27108. // successfully.
  27109. //
  27110. // Use "Send" method on the returned Request to send the API call to the service.
  27111. // the "output" return value is not valid until after Send returns without error.
  27112. //
  27113. // See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
  27114. // API call, and error handling.
  27115. //
  27116. // This method is useful when you want to inject custom logic or configuration
  27117. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27118. //
  27119. //
  27120. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  27121. // req, resp := client.ModifyInstanceAttributeRequest(params)
  27122. //
  27123. // err := req.Send()
  27124. // if err == nil { // resp is now filled
  27125. // fmt.Println(resp)
  27126. // }
  27127. //
  27128. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  27129. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  27130. op := &request.Operation{
  27131. Name: opModifyInstanceAttribute,
  27132. HTTPMethod: "POST",
  27133. HTTPPath: "/",
  27134. }
  27135. if input == nil {
  27136. input = &ModifyInstanceAttributeInput{}
  27137. }
  27138. output = &ModifyInstanceAttributeOutput{}
  27139. req = c.newRequest(op, input, output)
  27140. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  27141. return
  27142. }
  27143. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  27144. //
  27145. // Modifies the specified attribute of the specified instance. You can specify
  27146. // only one attribute at a time.
  27147. //
  27148. // Note: Using this action to change the security groups associated with an
  27149. // elastic network interface (ENI) attached to an instance in a VPC can result
  27150. // in an error if the instance has more than one ENI. To change the security
  27151. // groups associated with an ENI attached to an instance that has multiple ENIs,
  27152. // we recommend that you use the ModifyNetworkInterfaceAttribute action.
  27153. //
  27154. // To modify some attributes, the instance must be stopped. For more information,
  27155. // see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  27156. // in the Amazon Elastic Compute Cloud User Guide.
  27157. //
  27158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27159. // with awserr.Error's Code and Message methods to get detailed information about
  27160. // the error.
  27161. //
  27162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27163. // API operation ModifyInstanceAttribute for usage and error information.
  27164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  27165. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  27166. req, out := c.ModifyInstanceAttributeRequest(input)
  27167. return out, req.Send()
  27168. }
  27169. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  27170. // the ability to pass a context and additional request options.
  27171. //
  27172. // See ModifyInstanceAttribute for details on how to use this API operation.
  27173. //
  27174. // The context must be non-nil and will be used for request cancellation. If
  27175. // the context is nil a panic will occur. In the future the SDK may create
  27176. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27177. // for more information on using Contexts.
  27178. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  27179. req, out := c.ModifyInstanceAttributeRequest(input)
  27180. req.SetContext(ctx)
  27181. req.ApplyOptions(opts...)
  27182. return out, req.Send()
  27183. }
  27184. const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
  27185. // ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
  27186. // client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
  27187. // value will be populated with the request's response once the request completes
  27188. // successfully.
  27189. //
  27190. // Use "Send" method on the returned Request to send the API call to the service.
  27191. // the "output" return value is not valid until after Send returns without error.
  27192. //
  27193. // See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
  27194. // API call, and error handling.
  27195. //
  27196. // This method is useful when you want to inject custom logic or configuration
  27197. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27198. //
  27199. //
  27200. // // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
  27201. // req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
  27202. //
  27203. // err := req.Send()
  27204. // if err == nil { // resp is now filled
  27205. // fmt.Println(resp)
  27206. // }
  27207. //
  27208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
  27209. func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
  27210. op := &request.Operation{
  27211. Name: opModifyInstanceCapacityReservationAttributes,
  27212. HTTPMethod: "POST",
  27213. HTTPPath: "/",
  27214. }
  27215. if input == nil {
  27216. input = &ModifyInstanceCapacityReservationAttributesInput{}
  27217. }
  27218. output = &ModifyInstanceCapacityReservationAttributesOutput{}
  27219. req = c.newRequest(op, input, output)
  27220. return
  27221. }
  27222. // ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
  27223. //
  27224. // Modifies the Capacity Reservation settings for a stopped instance. Use this
  27225. // action to configure an instance to target a specific Capacity Reservation,
  27226. // run in any open Capacity Reservation with matching attributes, or run On-Demand
  27227. // Instance capacity.
  27228. //
  27229. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27230. // with awserr.Error's Code and Message methods to get detailed information about
  27231. // the error.
  27232. //
  27233. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27234. // API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
  27235. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
  27236. func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
  27237. req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
  27238. return out, req.Send()
  27239. }
  27240. // ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
  27241. // the ability to pass a context and additional request options.
  27242. //
  27243. // See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
  27244. //
  27245. // The context must be non-nil and will be used for request cancellation. If
  27246. // the context is nil a panic will occur. In the future the SDK may create
  27247. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27248. // for more information on using Contexts.
  27249. func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
  27250. req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
  27251. req.SetContext(ctx)
  27252. req.ApplyOptions(opts...)
  27253. return out, req.Send()
  27254. }
  27255. const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
  27256. // ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
  27257. // client's request for the ModifyInstanceCreditSpecification operation. The "output" return
  27258. // value will be populated with the request's response once the request completes
  27259. // successfully.
  27260. //
  27261. // Use "Send" method on the returned Request to send the API call to the service.
  27262. // the "output" return value is not valid until after Send returns without error.
  27263. //
  27264. // See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
  27265. // API call, and error handling.
  27266. //
  27267. // This method is useful when you want to inject custom logic or configuration
  27268. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27269. //
  27270. //
  27271. // // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
  27272. // req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
  27273. //
  27274. // err := req.Send()
  27275. // if err == nil { // resp is now filled
  27276. // fmt.Println(resp)
  27277. // }
  27278. //
  27279. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  27280. func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
  27281. op := &request.Operation{
  27282. Name: opModifyInstanceCreditSpecification,
  27283. HTTPMethod: "POST",
  27284. HTTPPath: "/",
  27285. }
  27286. if input == nil {
  27287. input = &ModifyInstanceCreditSpecificationInput{}
  27288. }
  27289. output = &ModifyInstanceCreditSpecificationOutput{}
  27290. req = c.newRequest(op, input, output)
  27291. return
  27292. }
  27293. // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
  27294. //
  27295. // Modifies the credit option for CPU usage on a running or stopped burstable
  27296. // performance instance. The credit options are standard and unlimited.
  27297. //
  27298. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  27299. // in the Amazon Elastic Compute Cloud User Guide.
  27300. //
  27301. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27302. // with awserr.Error's Code and Message methods to get detailed information about
  27303. // the error.
  27304. //
  27305. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27306. // API operation ModifyInstanceCreditSpecification for usage and error information.
  27307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  27308. func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
  27309. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  27310. return out, req.Send()
  27311. }
  27312. // ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
  27313. // the ability to pass a context and additional request options.
  27314. //
  27315. // See ModifyInstanceCreditSpecification for details on how to use this API operation.
  27316. //
  27317. // The context must be non-nil and will be used for request cancellation. If
  27318. // the context is nil a panic will occur. In the future the SDK may create
  27319. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27320. // for more information on using Contexts.
  27321. func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
  27322. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  27323. req.SetContext(ctx)
  27324. req.ApplyOptions(opts...)
  27325. return out, req.Send()
  27326. }
  27327. const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
  27328. // ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
  27329. // client's request for the ModifyInstanceEventStartTime operation. The "output" return
  27330. // value will be populated with the request's response once the request completes
  27331. // successfully.
  27332. //
  27333. // Use "Send" method on the returned Request to send the API call to the service.
  27334. // the "output" return value is not valid until after Send returns without error.
  27335. //
  27336. // See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
  27337. // API call, and error handling.
  27338. //
  27339. // This method is useful when you want to inject custom logic or configuration
  27340. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27341. //
  27342. //
  27343. // // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
  27344. // req, resp := client.ModifyInstanceEventStartTimeRequest(params)
  27345. //
  27346. // err := req.Send()
  27347. // if err == nil { // resp is now filled
  27348. // fmt.Println(resp)
  27349. // }
  27350. //
  27351. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
  27352. func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
  27353. op := &request.Operation{
  27354. Name: opModifyInstanceEventStartTime,
  27355. HTTPMethod: "POST",
  27356. HTTPPath: "/",
  27357. }
  27358. if input == nil {
  27359. input = &ModifyInstanceEventStartTimeInput{}
  27360. }
  27361. output = &ModifyInstanceEventStartTimeOutput{}
  27362. req = c.newRequest(op, input, output)
  27363. return
  27364. }
  27365. // ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
  27366. //
  27367. // Modifies the start time for a scheduled Amazon EC2 instance event.
  27368. //
  27369. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27370. // with awserr.Error's Code and Message methods to get detailed information about
  27371. // the error.
  27372. //
  27373. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27374. // API operation ModifyInstanceEventStartTime for usage and error information.
  27375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
  27376. func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
  27377. req, out := c.ModifyInstanceEventStartTimeRequest(input)
  27378. return out, req.Send()
  27379. }
  27380. // ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
  27381. // the ability to pass a context and additional request options.
  27382. //
  27383. // See ModifyInstanceEventStartTime for details on how to use this API operation.
  27384. //
  27385. // The context must be non-nil and will be used for request cancellation. If
  27386. // the context is nil a panic will occur. In the future the SDK may create
  27387. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27388. // for more information on using Contexts.
  27389. func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
  27390. req, out := c.ModifyInstanceEventStartTimeRequest(input)
  27391. req.SetContext(ctx)
  27392. req.ApplyOptions(opts...)
  27393. return out, req.Send()
  27394. }
  27395. const opModifyInstanceMetadataOptions = "ModifyInstanceMetadataOptions"
  27396. // ModifyInstanceMetadataOptionsRequest generates a "aws/request.Request" representing the
  27397. // client's request for the ModifyInstanceMetadataOptions operation. The "output" return
  27398. // value will be populated with the request's response once the request completes
  27399. // successfully.
  27400. //
  27401. // Use "Send" method on the returned Request to send the API call to the service.
  27402. // the "output" return value is not valid until after Send returns without error.
  27403. //
  27404. // See ModifyInstanceMetadataOptions for more information on using the ModifyInstanceMetadataOptions
  27405. // API call, and error handling.
  27406. //
  27407. // This method is useful when you want to inject custom logic or configuration
  27408. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27409. //
  27410. //
  27411. // // Example sending a request using the ModifyInstanceMetadataOptionsRequest method.
  27412. // req, resp := client.ModifyInstanceMetadataOptionsRequest(params)
  27413. //
  27414. // err := req.Send()
  27415. // if err == nil { // resp is now filled
  27416. // fmt.Println(resp)
  27417. // }
  27418. //
  27419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
  27420. func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadataOptionsInput) (req *request.Request, output *ModifyInstanceMetadataOptionsOutput) {
  27421. op := &request.Operation{
  27422. Name: opModifyInstanceMetadataOptions,
  27423. HTTPMethod: "POST",
  27424. HTTPPath: "/",
  27425. }
  27426. if input == nil {
  27427. input = &ModifyInstanceMetadataOptionsInput{}
  27428. }
  27429. output = &ModifyInstanceMetadataOptionsOutput{}
  27430. req = c.newRequest(op, input, output)
  27431. return
  27432. }
  27433. // ModifyInstanceMetadataOptions API operation for Amazon Elastic Compute Cloud.
  27434. //
  27435. // Modify the instance metadata parameters on a running or stopped instance.
  27436. // When you modify the parameters on a stopped instance, they are applied when
  27437. // the instance is started. When you modify the parameters on a running instance,
  27438. // the API responds with a state of “pending”. After the parameter modifications
  27439. // are successfully applied to the instance, the state of the modifications
  27440. // changes from “pending” to “applied” in subsequent describe-instances
  27441. // API calls. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
  27442. //
  27443. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27444. // with awserr.Error's Code and Message methods to get detailed information about
  27445. // the error.
  27446. //
  27447. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27448. // API operation ModifyInstanceMetadataOptions for usage and error information.
  27449. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
  27450. func (c *EC2) ModifyInstanceMetadataOptions(input *ModifyInstanceMetadataOptionsInput) (*ModifyInstanceMetadataOptionsOutput, error) {
  27451. req, out := c.ModifyInstanceMetadataOptionsRequest(input)
  27452. return out, req.Send()
  27453. }
  27454. // ModifyInstanceMetadataOptionsWithContext is the same as ModifyInstanceMetadataOptions with the addition of
  27455. // the ability to pass a context and additional request options.
  27456. //
  27457. // See ModifyInstanceMetadataOptions for details on how to use this API operation.
  27458. //
  27459. // The context must be non-nil and will be used for request cancellation. If
  27460. // the context is nil a panic will occur. In the future the SDK may create
  27461. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27462. // for more information on using Contexts.
  27463. func (c *EC2) ModifyInstanceMetadataOptionsWithContext(ctx aws.Context, input *ModifyInstanceMetadataOptionsInput, opts ...request.Option) (*ModifyInstanceMetadataOptionsOutput, error) {
  27464. req, out := c.ModifyInstanceMetadataOptionsRequest(input)
  27465. req.SetContext(ctx)
  27466. req.ApplyOptions(opts...)
  27467. return out, req.Send()
  27468. }
  27469. const opModifyInstancePlacement = "ModifyInstancePlacement"
  27470. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  27471. // client's request for the ModifyInstancePlacement operation. The "output" return
  27472. // value will be populated with the request's response once the request completes
  27473. // successfully.
  27474. //
  27475. // Use "Send" method on the returned Request to send the API call to the service.
  27476. // the "output" return value is not valid until after Send returns without error.
  27477. //
  27478. // See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
  27479. // API call, and error handling.
  27480. //
  27481. // This method is useful when you want to inject custom logic or configuration
  27482. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27483. //
  27484. //
  27485. // // Example sending a request using the ModifyInstancePlacementRequest method.
  27486. // req, resp := client.ModifyInstancePlacementRequest(params)
  27487. //
  27488. // err := req.Send()
  27489. // if err == nil { // resp is now filled
  27490. // fmt.Println(resp)
  27491. // }
  27492. //
  27493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  27494. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  27495. op := &request.Operation{
  27496. Name: opModifyInstancePlacement,
  27497. HTTPMethod: "POST",
  27498. HTTPPath: "/",
  27499. }
  27500. if input == nil {
  27501. input = &ModifyInstancePlacementInput{}
  27502. }
  27503. output = &ModifyInstancePlacementOutput{}
  27504. req = c.newRequest(op, input, output)
  27505. return
  27506. }
  27507. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  27508. //
  27509. // Modifies the placement attributes for a specified instance. You can do the
  27510. // following:
  27511. //
  27512. // * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
  27513. // When affinity is set to host and the instance is not associated with a
  27514. // specific Dedicated Host, the next time the instance is launched, it is
  27515. // automatically associated with the host on which it lands. If the instance
  27516. // is restarted or rebooted, this relationship persists.
  27517. //
  27518. // * Change the Dedicated Host with which an instance is associated.
  27519. //
  27520. // * Change the instance tenancy of an instance from host to dedicated, or
  27521. // from dedicated to host.
  27522. //
  27523. // * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
  27524. //
  27525. // At least one attribute for affinity, host ID, tenancy, or placement group
  27526. // name must be specified in the request. Affinity and tenancy can be modified
  27527. // in the same request.
  27528. //
  27529. // To modify the host ID, tenancy, placement group, or partition for an instance,
  27530. // the instance must be in the stopped state.
  27531. //
  27532. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27533. // with awserr.Error's Code and Message methods to get detailed information about
  27534. // the error.
  27535. //
  27536. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27537. // API operation ModifyInstancePlacement for usage and error information.
  27538. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  27539. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  27540. req, out := c.ModifyInstancePlacementRequest(input)
  27541. return out, req.Send()
  27542. }
  27543. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  27544. // the ability to pass a context and additional request options.
  27545. //
  27546. // See ModifyInstancePlacement for details on how to use this API operation.
  27547. //
  27548. // The context must be non-nil and will be used for request cancellation. If
  27549. // the context is nil a panic will occur. In the future the SDK may create
  27550. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27551. // for more information on using Contexts.
  27552. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  27553. req, out := c.ModifyInstancePlacementRequest(input)
  27554. req.SetContext(ctx)
  27555. req.ApplyOptions(opts...)
  27556. return out, req.Send()
  27557. }
  27558. const opModifyLaunchTemplate = "ModifyLaunchTemplate"
  27559. // ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
  27560. // client's request for the ModifyLaunchTemplate operation. The "output" return
  27561. // value will be populated with the request's response once the request completes
  27562. // successfully.
  27563. //
  27564. // Use "Send" method on the returned Request to send the API call to the service.
  27565. // the "output" return value is not valid until after Send returns without error.
  27566. //
  27567. // See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
  27568. // API call, and error handling.
  27569. //
  27570. // This method is useful when you want to inject custom logic or configuration
  27571. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27572. //
  27573. //
  27574. // // Example sending a request using the ModifyLaunchTemplateRequest method.
  27575. // req, resp := client.ModifyLaunchTemplateRequest(params)
  27576. //
  27577. // err := req.Send()
  27578. // if err == nil { // resp is now filled
  27579. // fmt.Println(resp)
  27580. // }
  27581. //
  27582. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  27583. func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
  27584. op := &request.Operation{
  27585. Name: opModifyLaunchTemplate,
  27586. HTTPMethod: "POST",
  27587. HTTPPath: "/",
  27588. }
  27589. if input == nil {
  27590. input = &ModifyLaunchTemplateInput{}
  27591. }
  27592. output = &ModifyLaunchTemplateOutput{}
  27593. req = c.newRequest(op, input, output)
  27594. return
  27595. }
  27596. // ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  27597. //
  27598. // Modifies a launch template. You can specify which version of the launch template
  27599. // to set as the default version. When launching an instance, the default version
  27600. // applies when a launch template version is not specified.
  27601. //
  27602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27603. // with awserr.Error's Code and Message methods to get detailed information about
  27604. // the error.
  27605. //
  27606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27607. // API operation ModifyLaunchTemplate for usage and error information.
  27608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  27609. func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
  27610. req, out := c.ModifyLaunchTemplateRequest(input)
  27611. return out, req.Send()
  27612. }
  27613. // ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
  27614. // the ability to pass a context and additional request options.
  27615. //
  27616. // See ModifyLaunchTemplate for details on how to use this API operation.
  27617. //
  27618. // The context must be non-nil and will be used for request cancellation. If
  27619. // the context is nil a panic will occur. In the future the SDK may create
  27620. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27621. // for more information on using Contexts.
  27622. func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
  27623. req, out := c.ModifyLaunchTemplateRequest(input)
  27624. req.SetContext(ctx)
  27625. req.ApplyOptions(opts...)
  27626. return out, req.Send()
  27627. }
  27628. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  27629. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  27630. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  27631. // value will be populated with the request's response once the request completes
  27632. // successfully.
  27633. //
  27634. // Use "Send" method on the returned Request to send the API call to the service.
  27635. // the "output" return value is not valid until after Send returns without error.
  27636. //
  27637. // See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
  27638. // API call, and error handling.
  27639. //
  27640. // This method is useful when you want to inject custom logic or configuration
  27641. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27642. //
  27643. //
  27644. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  27645. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  27646. //
  27647. // err := req.Send()
  27648. // if err == nil { // resp is now filled
  27649. // fmt.Println(resp)
  27650. // }
  27651. //
  27652. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  27653. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  27654. op := &request.Operation{
  27655. Name: opModifyNetworkInterfaceAttribute,
  27656. HTTPMethod: "POST",
  27657. HTTPPath: "/",
  27658. }
  27659. if input == nil {
  27660. input = &ModifyNetworkInterfaceAttributeInput{}
  27661. }
  27662. output = &ModifyNetworkInterfaceAttributeOutput{}
  27663. req = c.newRequest(op, input, output)
  27664. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  27665. return
  27666. }
  27667. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  27668. //
  27669. // Modifies the specified network interface attribute. You can specify only
  27670. // one attribute at a time. You can use this action to attach and detach security
  27671. // groups from an existing EC2 instance.
  27672. //
  27673. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27674. // with awserr.Error's Code and Message methods to get detailed information about
  27675. // the error.
  27676. //
  27677. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27678. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  27679. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  27680. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  27681. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  27682. return out, req.Send()
  27683. }
  27684. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  27685. // the ability to pass a context and additional request options.
  27686. //
  27687. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  27688. //
  27689. // The context must be non-nil and will be used for request cancellation. If
  27690. // the context is nil a panic will occur. In the future the SDK may create
  27691. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27692. // for more information on using Contexts.
  27693. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  27694. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  27695. req.SetContext(ctx)
  27696. req.ApplyOptions(opts...)
  27697. return out, req.Send()
  27698. }
  27699. const opModifyReservedInstances = "ModifyReservedInstances"
  27700. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  27701. // client's request for the ModifyReservedInstances operation. The "output" return
  27702. // value will be populated with the request's response once the request completes
  27703. // successfully.
  27704. //
  27705. // Use "Send" method on the returned Request to send the API call to the service.
  27706. // the "output" return value is not valid until after Send returns without error.
  27707. //
  27708. // See ModifyReservedInstances for more information on using the ModifyReservedInstances
  27709. // API call, and error handling.
  27710. //
  27711. // This method is useful when you want to inject custom logic or configuration
  27712. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27713. //
  27714. //
  27715. // // Example sending a request using the ModifyReservedInstancesRequest method.
  27716. // req, resp := client.ModifyReservedInstancesRequest(params)
  27717. //
  27718. // err := req.Send()
  27719. // if err == nil { // resp is now filled
  27720. // fmt.Println(resp)
  27721. // }
  27722. //
  27723. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  27724. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  27725. op := &request.Operation{
  27726. Name: opModifyReservedInstances,
  27727. HTTPMethod: "POST",
  27728. HTTPPath: "/",
  27729. }
  27730. if input == nil {
  27731. input = &ModifyReservedInstancesInput{}
  27732. }
  27733. output = &ModifyReservedInstancesOutput{}
  27734. req = c.newRequest(op, input, output)
  27735. return
  27736. }
  27737. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  27738. //
  27739. // Modifies the Availability Zone, instance count, instance type, or network
  27740. // platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
  27741. // Instances to be modified must be identical, except for Availability Zone,
  27742. // network platform, and instance type.
  27743. //
  27744. // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  27745. // in the Amazon Elastic Compute Cloud User Guide.
  27746. //
  27747. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27748. // with awserr.Error's Code and Message methods to get detailed information about
  27749. // the error.
  27750. //
  27751. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27752. // API operation ModifyReservedInstances for usage and error information.
  27753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  27754. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  27755. req, out := c.ModifyReservedInstancesRequest(input)
  27756. return out, req.Send()
  27757. }
  27758. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  27759. // the ability to pass a context and additional request options.
  27760. //
  27761. // See ModifyReservedInstances for details on how to use this API operation.
  27762. //
  27763. // The context must be non-nil and will be used for request cancellation. If
  27764. // the context is nil a panic will occur. In the future the SDK may create
  27765. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27766. // for more information on using Contexts.
  27767. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  27768. req, out := c.ModifyReservedInstancesRequest(input)
  27769. req.SetContext(ctx)
  27770. req.ApplyOptions(opts...)
  27771. return out, req.Send()
  27772. }
  27773. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  27774. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  27775. // client's request for the ModifySnapshotAttribute operation. The "output" return
  27776. // value will be populated with the request's response once the request completes
  27777. // successfully.
  27778. //
  27779. // Use "Send" method on the returned Request to send the API call to the service.
  27780. // the "output" return value is not valid until after Send returns without error.
  27781. //
  27782. // See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
  27783. // API call, and error handling.
  27784. //
  27785. // This method is useful when you want to inject custom logic or configuration
  27786. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27787. //
  27788. //
  27789. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  27790. // req, resp := client.ModifySnapshotAttributeRequest(params)
  27791. //
  27792. // err := req.Send()
  27793. // if err == nil { // resp is now filled
  27794. // fmt.Println(resp)
  27795. // }
  27796. //
  27797. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  27798. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  27799. op := &request.Operation{
  27800. Name: opModifySnapshotAttribute,
  27801. HTTPMethod: "POST",
  27802. HTTPPath: "/",
  27803. }
  27804. if input == nil {
  27805. input = &ModifySnapshotAttributeInput{}
  27806. }
  27807. output = &ModifySnapshotAttributeOutput{}
  27808. req = c.newRequest(op, input, output)
  27809. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  27810. return
  27811. }
  27812. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  27813. //
  27814. // Adds or removes permission settings for the specified snapshot. You may add
  27815. // or remove specified AWS account IDs from a snapshot's list of create volume
  27816. // permissions, but you cannot do both in a single operation. If you need to
  27817. // both add and remove account IDs for a snapshot, you must use multiple operations.
  27818. // You can make up to 500 modifications to a snapshot in a single operation.
  27819. //
  27820. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  27821. // be made public. Snapshots encrypted with your default CMK cannot be shared
  27822. // with other accounts.
  27823. //
  27824. // For more information about modifying snapshot permissions, see Sharing Snapshots
  27825. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  27826. // in the Amazon Elastic Compute Cloud User Guide.
  27827. //
  27828. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27829. // with awserr.Error's Code and Message methods to get detailed information about
  27830. // the error.
  27831. //
  27832. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27833. // API operation ModifySnapshotAttribute for usage and error information.
  27834. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  27835. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  27836. req, out := c.ModifySnapshotAttributeRequest(input)
  27837. return out, req.Send()
  27838. }
  27839. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  27840. // the ability to pass a context and additional request options.
  27841. //
  27842. // See ModifySnapshotAttribute for details on how to use this API operation.
  27843. //
  27844. // The context must be non-nil and will be used for request cancellation. If
  27845. // the context is nil a panic will occur. In the future the SDK may create
  27846. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27847. // for more information on using Contexts.
  27848. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  27849. req, out := c.ModifySnapshotAttributeRequest(input)
  27850. req.SetContext(ctx)
  27851. req.ApplyOptions(opts...)
  27852. return out, req.Send()
  27853. }
  27854. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  27855. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  27856. // client's request for the ModifySpotFleetRequest operation. The "output" return
  27857. // value will be populated with the request's response once the request completes
  27858. // successfully.
  27859. //
  27860. // Use "Send" method on the returned Request to send the API call to the service.
  27861. // the "output" return value is not valid until after Send returns without error.
  27862. //
  27863. // See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
  27864. // API call, and error handling.
  27865. //
  27866. // This method is useful when you want to inject custom logic or configuration
  27867. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27868. //
  27869. //
  27870. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  27871. // req, resp := client.ModifySpotFleetRequestRequest(params)
  27872. //
  27873. // err := req.Send()
  27874. // if err == nil { // resp is now filled
  27875. // fmt.Println(resp)
  27876. // }
  27877. //
  27878. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  27879. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  27880. op := &request.Operation{
  27881. Name: opModifySpotFleetRequest,
  27882. HTTPMethod: "POST",
  27883. HTTPPath: "/",
  27884. }
  27885. if input == nil {
  27886. input = &ModifySpotFleetRequestInput{}
  27887. }
  27888. output = &ModifySpotFleetRequestOutput{}
  27889. req = c.newRequest(op, input, output)
  27890. return
  27891. }
  27892. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  27893. //
  27894. // Modifies the specified Spot Fleet request.
  27895. //
  27896. // You can only modify a Spot Fleet request of type maintain.
  27897. //
  27898. // While the Spot Fleet request is being modified, it is in the modifying state.
  27899. //
  27900. // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
  27901. // launches the additional Spot Instances according to the allocation strategy
  27902. // for the Spot Fleet request. If the allocation strategy is lowestPrice, the
  27903. // Spot Fleet launches instances using the Spot Instance pool with the lowest
  27904. // price. If the allocation strategy is diversified, the Spot Fleet distributes
  27905. // the instances across the Spot Instance pools. If the allocation strategy
  27906. // is capacityOptimized, Spot Fleet launches instances from Spot Instance pools
  27907. // with optimal capacity for the number of instances that are launching.
  27908. //
  27909. // To scale down your Spot Fleet, decrease its target capacity. First, the Spot
  27910. // Fleet cancels any open requests that exceed the new target capacity. You
  27911. // can request that the Spot Fleet terminate Spot Instances until the size of
  27912. // the fleet no longer exceeds the new target capacity. If the allocation strategy
  27913. // is lowestPrice, the Spot Fleet terminates the instances with the highest
  27914. // price per unit. If the allocation strategy is capacityOptimized, the Spot
  27915. // Fleet terminates the instances in the Spot Instance pools that have the least
  27916. // available Spot Instance capacity. If the allocation strategy is diversified,
  27917. // the Spot Fleet terminates instances across the Spot Instance pools. Alternatively,
  27918. // you can request that the Spot Fleet keep the fleet at its current size, but
  27919. // not replace any Spot Instances that are interrupted or that you terminate
  27920. // manually.
  27921. //
  27922. // If you are finished with your Spot Fleet for now, but will use it again later,
  27923. // you can set the target capacity to 0.
  27924. //
  27925. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27926. // with awserr.Error's Code and Message methods to get detailed information about
  27927. // the error.
  27928. //
  27929. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27930. // API operation ModifySpotFleetRequest for usage and error information.
  27931. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  27932. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  27933. req, out := c.ModifySpotFleetRequestRequest(input)
  27934. return out, req.Send()
  27935. }
  27936. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  27937. // the ability to pass a context and additional request options.
  27938. //
  27939. // See ModifySpotFleetRequest for details on how to use this API operation.
  27940. //
  27941. // The context must be non-nil and will be used for request cancellation. If
  27942. // the context is nil a panic will occur. In the future the SDK may create
  27943. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  27944. // for more information on using Contexts.
  27945. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  27946. req, out := c.ModifySpotFleetRequestRequest(input)
  27947. req.SetContext(ctx)
  27948. req.ApplyOptions(opts...)
  27949. return out, req.Send()
  27950. }
  27951. const opModifySubnetAttribute = "ModifySubnetAttribute"
  27952. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  27953. // client's request for the ModifySubnetAttribute operation. The "output" return
  27954. // value will be populated with the request's response once the request completes
  27955. // successfully.
  27956. //
  27957. // Use "Send" method on the returned Request to send the API call to the service.
  27958. // the "output" return value is not valid until after Send returns without error.
  27959. //
  27960. // See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
  27961. // API call, and error handling.
  27962. //
  27963. // This method is useful when you want to inject custom logic or configuration
  27964. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  27965. //
  27966. //
  27967. // // Example sending a request using the ModifySubnetAttributeRequest method.
  27968. // req, resp := client.ModifySubnetAttributeRequest(params)
  27969. //
  27970. // err := req.Send()
  27971. // if err == nil { // resp is now filled
  27972. // fmt.Println(resp)
  27973. // }
  27974. //
  27975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  27976. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  27977. op := &request.Operation{
  27978. Name: opModifySubnetAttribute,
  27979. HTTPMethod: "POST",
  27980. HTTPPath: "/",
  27981. }
  27982. if input == nil {
  27983. input = &ModifySubnetAttributeInput{}
  27984. }
  27985. output = &ModifySubnetAttributeOutput{}
  27986. req = c.newRequest(op, input, output)
  27987. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  27988. return
  27989. }
  27990. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  27991. //
  27992. // Modifies a subnet attribute. You can only modify one attribute at a time.
  27993. //
  27994. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  27995. // with awserr.Error's Code and Message methods to get detailed information about
  27996. // the error.
  27997. //
  27998. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  27999. // API operation ModifySubnetAttribute for usage and error information.
  28000. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  28001. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  28002. req, out := c.ModifySubnetAttributeRequest(input)
  28003. return out, req.Send()
  28004. }
  28005. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  28006. // the ability to pass a context and additional request options.
  28007. //
  28008. // See ModifySubnetAttribute for details on how to use this API operation.
  28009. //
  28010. // The context must be non-nil and will be used for request cancellation. If
  28011. // the context is nil a panic will occur. In the future the SDK may create
  28012. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28013. // for more information on using Contexts.
  28014. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  28015. req, out := c.ModifySubnetAttributeRequest(input)
  28016. req.SetContext(ctx)
  28017. req.ApplyOptions(opts...)
  28018. return out, req.Send()
  28019. }
  28020. const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices"
  28021. // ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the
  28022. // client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return
  28023. // value will be populated with the request's response once the request completes
  28024. // successfully.
  28025. //
  28026. // Use "Send" method on the returned Request to send the API call to the service.
  28027. // the "output" return value is not valid until after Send returns without error.
  28028. //
  28029. // See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices
  28030. // API call, and error handling.
  28031. //
  28032. // This method is useful when you want to inject custom logic or configuration
  28033. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28034. //
  28035. //
  28036. // // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method.
  28037. // req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params)
  28038. //
  28039. // err := req.Send()
  28040. // if err == nil { // resp is now filled
  28041. // fmt.Println(resp)
  28042. // }
  28043. //
  28044. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
  28045. func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) {
  28046. op := &request.Operation{
  28047. Name: opModifyTrafficMirrorFilterNetworkServices,
  28048. HTTPMethod: "POST",
  28049. HTTPPath: "/",
  28050. }
  28051. if input == nil {
  28052. input = &ModifyTrafficMirrorFilterNetworkServicesInput{}
  28053. }
  28054. output = &ModifyTrafficMirrorFilterNetworkServicesOutput{}
  28055. req = c.newRequest(op, input, output)
  28056. return
  28057. }
  28058. // ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud.
  28059. //
  28060. // Allows or restricts mirroring network services.
  28061. //
  28062. // By default, Amazon DNS network services are not eligible for Traffic Mirror.
  28063. // Use AddNetworkServices to add network services to a Traffic Mirror filter.
  28064. // When a network service is added to the Traffic Mirror filter, all traffic
  28065. // related to that network service will be mirrored. When you no longer want
  28066. // to mirror network services, use RemoveNetworkServices to remove the network
  28067. // services from the Traffic Mirror filter.
  28068. //
  28069. // For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html)
  28070. // in the Traffic Mirroring User Guide .
  28071. //
  28072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28073. // with awserr.Error's Code and Message methods to get detailed information about
  28074. // the error.
  28075. //
  28076. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28077. // API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information.
  28078. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
  28079. func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
  28080. req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
  28081. return out, req.Send()
  28082. }
  28083. // ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of
  28084. // the ability to pass a context and additional request options.
  28085. //
  28086. // See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation.
  28087. //
  28088. // The context must be non-nil and will be used for request cancellation. If
  28089. // the context is nil a panic will occur. In the future the SDK may create
  28090. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28091. // for more information on using Contexts.
  28092. func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
  28093. req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
  28094. req.SetContext(ctx)
  28095. req.ApplyOptions(opts...)
  28096. return out, req.Send()
  28097. }
  28098. const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule"
  28099. // ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
  28100. // client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return
  28101. // value will be populated with the request's response once the request completes
  28102. // successfully.
  28103. //
  28104. // Use "Send" method on the returned Request to send the API call to the service.
  28105. // the "output" return value is not valid until after Send returns without error.
  28106. //
  28107. // See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule
  28108. // API call, and error handling.
  28109. //
  28110. // This method is useful when you want to inject custom logic or configuration
  28111. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28112. //
  28113. //
  28114. // // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method.
  28115. // req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params)
  28116. //
  28117. // err := req.Send()
  28118. // if err == nil { // resp is now filled
  28119. // fmt.Println(resp)
  28120. // }
  28121. //
  28122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
  28123. func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) {
  28124. op := &request.Operation{
  28125. Name: opModifyTrafficMirrorFilterRule,
  28126. HTTPMethod: "POST",
  28127. HTTPPath: "/",
  28128. }
  28129. if input == nil {
  28130. input = &ModifyTrafficMirrorFilterRuleInput{}
  28131. }
  28132. output = &ModifyTrafficMirrorFilterRuleOutput{}
  28133. req = c.newRequest(op, input, output)
  28134. return
  28135. }
  28136. // ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
  28137. //
  28138. // Modifies the specified Traffic Mirror rule.
  28139. //
  28140. // DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an
  28141. // IPv6 range.
  28142. //
  28143. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28144. // with awserr.Error's Code and Message methods to get detailed information about
  28145. // the error.
  28146. //
  28147. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28148. // API operation ModifyTrafficMirrorFilterRule for usage and error information.
  28149. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
  28150. func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) {
  28151. req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
  28152. return out, req.Send()
  28153. }
  28154. // ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of
  28155. // the ability to pass a context and additional request options.
  28156. //
  28157. // See ModifyTrafficMirrorFilterRule for details on how to use this API operation.
  28158. //
  28159. // The context must be non-nil and will be used for request cancellation. If
  28160. // the context is nil a panic will occur. In the future the SDK may create
  28161. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28162. // for more information on using Contexts.
  28163. func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) {
  28164. req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
  28165. req.SetContext(ctx)
  28166. req.ApplyOptions(opts...)
  28167. return out, req.Send()
  28168. }
  28169. const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession"
  28170. // ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
  28171. // client's request for the ModifyTrafficMirrorSession operation. The "output" return
  28172. // value will be populated with the request's response once the request completes
  28173. // successfully.
  28174. //
  28175. // Use "Send" method on the returned Request to send the API call to the service.
  28176. // the "output" return value is not valid until after Send returns without error.
  28177. //
  28178. // See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession
  28179. // API call, and error handling.
  28180. //
  28181. // This method is useful when you want to inject custom logic or configuration
  28182. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28183. //
  28184. //
  28185. // // Example sending a request using the ModifyTrafficMirrorSessionRequest method.
  28186. // req, resp := client.ModifyTrafficMirrorSessionRequest(params)
  28187. //
  28188. // err := req.Send()
  28189. // if err == nil { // resp is now filled
  28190. // fmt.Println(resp)
  28191. // }
  28192. //
  28193. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
  28194. func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) {
  28195. op := &request.Operation{
  28196. Name: opModifyTrafficMirrorSession,
  28197. HTTPMethod: "POST",
  28198. HTTPPath: "/",
  28199. }
  28200. if input == nil {
  28201. input = &ModifyTrafficMirrorSessionInput{}
  28202. }
  28203. output = &ModifyTrafficMirrorSessionOutput{}
  28204. req = c.newRequest(op, input, output)
  28205. return
  28206. }
  28207. // ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
  28208. //
  28209. // Modifies a Traffic Mirror session.
  28210. //
  28211. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28212. // with awserr.Error's Code and Message methods to get detailed information about
  28213. // the error.
  28214. //
  28215. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28216. // API operation ModifyTrafficMirrorSession for usage and error information.
  28217. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
  28218. func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) {
  28219. req, out := c.ModifyTrafficMirrorSessionRequest(input)
  28220. return out, req.Send()
  28221. }
  28222. // ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of
  28223. // the ability to pass a context and additional request options.
  28224. //
  28225. // See ModifyTrafficMirrorSession for details on how to use this API operation.
  28226. //
  28227. // The context must be non-nil and will be used for request cancellation. If
  28228. // the context is nil a panic will occur. In the future the SDK may create
  28229. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28230. // for more information on using Contexts.
  28231. func (c *EC2) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) {
  28232. req, out := c.ModifyTrafficMirrorSessionRequest(input)
  28233. req.SetContext(ctx)
  28234. req.ApplyOptions(opts...)
  28235. return out, req.Send()
  28236. }
  28237. const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
  28238. // ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  28239. // client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
  28240. // value will be populated with the request's response once the request completes
  28241. // successfully.
  28242. //
  28243. // Use "Send" method on the returned Request to send the API call to the service.
  28244. // the "output" return value is not valid until after Send returns without error.
  28245. //
  28246. // See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
  28247. // API call, and error handling.
  28248. //
  28249. // This method is useful when you want to inject custom logic or configuration
  28250. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28251. //
  28252. //
  28253. // // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
  28254. // req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
  28255. //
  28256. // err := req.Send()
  28257. // if err == nil { // resp is now filled
  28258. // fmt.Println(resp)
  28259. // }
  28260. //
  28261. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
  28262. func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
  28263. op := &request.Operation{
  28264. Name: opModifyTransitGatewayVpcAttachment,
  28265. HTTPMethod: "POST",
  28266. HTTPPath: "/",
  28267. }
  28268. if input == nil {
  28269. input = &ModifyTransitGatewayVpcAttachmentInput{}
  28270. }
  28271. output = &ModifyTransitGatewayVpcAttachmentOutput{}
  28272. req = c.newRequest(op, input, output)
  28273. return
  28274. }
  28275. // ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  28276. //
  28277. // Modifies the specified VPC attachment.
  28278. //
  28279. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28280. // with awserr.Error's Code and Message methods to get detailed information about
  28281. // the error.
  28282. //
  28283. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28284. // API operation ModifyTransitGatewayVpcAttachment for usage and error information.
  28285. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
  28286. func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
  28287. req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
  28288. return out, req.Send()
  28289. }
  28290. // ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
  28291. // the ability to pass a context and additional request options.
  28292. //
  28293. // See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
  28294. //
  28295. // The context must be non-nil and will be used for request cancellation. If
  28296. // the context is nil a panic will occur. In the future the SDK may create
  28297. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28298. // for more information on using Contexts.
  28299. func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
  28300. req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
  28301. req.SetContext(ctx)
  28302. req.ApplyOptions(opts...)
  28303. return out, req.Send()
  28304. }
  28305. const opModifyVolume = "ModifyVolume"
  28306. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  28307. // client's request for the ModifyVolume operation. The "output" return
  28308. // value will be populated with the request's response once the request completes
  28309. // successfully.
  28310. //
  28311. // Use "Send" method on the returned Request to send the API call to the service.
  28312. // the "output" return value is not valid until after Send returns without error.
  28313. //
  28314. // See ModifyVolume for more information on using the ModifyVolume
  28315. // API call, and error handling.
  28316. //
  28317. // This method is useful when you want to inject custom logic or configuration
  28318. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28319. //
  28320. //
  28321. // // Example sending a request using the ModifyVolumeRequest method.
  28322. // req, resp := client.ModifyVolumeRequest(params)
  28323. //
  28324. // err := req.Send()
  28325. // if err == nil { // resp is now filled
  28326. // fmt.Println(resp)
  28327. // }
  28328. //
  28329. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  28330. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  28331. op := &request.Operation{
  28332. Name: opModifyVolume,
  28333. HTTPMethod: "POST",
  28334. HTTPPath: "/",
  28335. }
  28336. if input == nil {
  28337. input = &ModifyVolumeInput{}
  28338. }
  28339. output = &ModifyVolumeOutput{}
  28340. req = c.newRequest(op, input, output)
  28341. return
  28342. }
  28343. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  28344. //
  28345. // You can modify several parameters of an existing EBS volume, including volume
  28346. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  28347. // current-generation EC2 instance type, you may be able to apply these changes
  28348. // without stopping the instance or detaching the volume from it. For more information
  28349. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  28350. // or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  28351. // For more information about modifying an EBS volume running Windows, see Modifying
  28352. // the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  28353. //
  28354. // When you complete a resize operation on your volume, you need to extend the
  28355. // volume's file-system size to take advantage of the new storage capacity.
  28356. // For information about extending a Linux file system, see Extending a Linux
  28357. // File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  28358. // For information about extending a Windows file system, see Extending a Windows
  28359. // File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  28360. //
  28361. // You can use CloudWatch Events to check the status of a modification to an
  28362. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  28363. // Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  28364. // You can also track the status of a modification using DescribeVolumesModifications.
  28365. // For information about tracking status changes using either method, see Monitoring
  28366. // Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  28367. //
  28368. // With previous-generation instance types, resizing an EBS volume may require
  28369. // detaching and reattaching the volume or stopping and restarting the instance.
  28370. // For more information, see Modifying the Size, IOPS, or Type of an EBS Volume
  28371. // on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
  28372. // and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  28373. //
  28374. // If you reach the maximum volume modification rate per volume limit, you will
  28375. // need to wait at least six hours before applying further modifications to
  28376. // the affected EBS volume.
  28377. //
  28378. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28379. // with awserr.Error's Code and Message methods to get detailed information about
  28380. // the error.
  28381. //
  28382. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28383. // API operation ModifyVolume for usage and error information.
  28384. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  28385. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  28386. req, out := c.ModifyVolumeRequest(input)
  28387. return out, req.Send()
  28388. }
  28389. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  28390. // the ability to pass a context and additional request options.
  28391. //
  28392. // See ModifyVolume for details on how to use this API operation.
  28393. //
  28394. // The context must be non-nil and will be used for request cancellation. If
  28395. // the context is nil a panic will occur. In the future the SDK may create
  28396. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28397. // for more information on using Contexts.
  28398. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  28399. req, out := c.ModifyVolumeRequest(input)
  28400. req.SetContext(ctx)
  28401. req.ApplyOptions(opts...)
  28402. return out, req.Send()
  28403. }
  28404. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  28405. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  28406. // client's request for the ModifyVolumeAttribute operation. The "output" return
  28407. // value will be populated with the request's response once the request completes
  28408. // successfully.
  28409. //
  28410. // Use "Send" method on the returned Request to send the API call to the service.
  28411. // the "output" return value is not valid until after Send returns without error.
  28412. //
  28413. // See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
  28414. // API call, and error handling.
  28415. //
  28416. // This method is useful when you want to inject custom logic or configuration
  28417. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28418. //
  28419. //
  28420. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  28421. // req, resp := client.ModifyVolumeAttributeRequest(params)
  28422. //
  28423. // err := req.Send()
  28424. // if err == nil { // resp is now filled
  28425. // fmt.Println(resp)
  28426. // }
  28427. //
  28428. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  28429. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  28430. op := &request.Operation{
  28431. Name: opModifyVolumeAttribute,
  28432. HTTPMethod: "POST",
  28433. HTTPPath: "/",
  28434. }
  28435. if input == nil {
  28436. input = &ModifyVolumeAttributeInput{}
  28437. }
  28438. output = &ModifyVolumeAttributeOutput{}
  28439. req = c.newRequest(op, input, output)
  28440. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  28441. return
  28442. }
  28443. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  28444. //
  28445. // Modifies a volume attribute.
  28446. //
  28447. // By default, all I/O operations for the volume are suspended when the data
  28448. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  28449. // latent data corruption. The I/O access to the volume can be resumed by first
  28450. // enabling I/O access and then checking the data consistency on your volume.
  28451. //
  28452. // You can change the default behavior to resume I/O operations. We recommend
  28453. // that you change this only for boot volumes or for volumes that are stateless
  28454. // or disposable.
  28455. //
  28456. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28457. // with awserr.Error's Code and Message methods to get detailed information about
  28458. // the error.
  28459. //
  28460. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28461. // API operation ModifyVolumeAttribute for usage and error information.
  28462. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  28463. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  28464. req, out := c.ModifyVolumeAttributeRequest(input)
  28465. return out, req.Send()
  28466. }
  28467. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  28468. // the ability to pass a context and additional request options.
  28469. //
  28470. // See ModifyVolumeAttribute for details on how to use this API operation.
  28471. //
  28472. // The context must be non-nil and will be used for request cancellation. If
  28473. // the context is nil a panic will occur. In the future the SDK may create
  28474. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28475. // for more information on using Contexts.
  28476. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  28477. req, out := c.ModifyVolumeAttributeRequest(input)
  28478. req.SetContext(ctx)
  28479. req.ApplyOptions(opts...)
  28480. return out, req.Send()
  28481. }
  28482. const opModifyVpcAttribute = "ModifyVpcAttribute"
  28483. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  28484. // client's request for the ModifyVpcAttribute operation. The "output" return
  28485. // value will be populated with the request's response once the request completes
  28486. // successfully.
  28487. //
  28488. // Use "Send" method on the returned Request to send the API call to the service.
  28489. // the "output" return value is not valid until after Send returns without error.
  28490. //
  28491. // See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
  28492. // API call, and error handling.
  28493. //
  28494. // This method is useful when you want to inject custom logic or configuration
  28495. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28496. //
  28497. //
  28498. // // Example sending a request using the ModifyVpcAttributeRequest method.
  28499. // req, resp := client.ModifyVpcAttributeRequest(params)
  28500. //
  28501. // err := req.Send()
  28502. // if err == nil { // resp is now filled
  28503. // fmt.Println(resp)
  28504. // }
  28505. //
  28506. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  28507. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  28508. op := &request.Operation{
  28509. Name: opModifyVpcAttribute,
  28510. HTTPMethod: "POST",
  28511. HTTPPath: "/",
  28512. }
  28513. if input == nil {
  28514. input = &ModifyVpcAttributeInput{}
  28515. }
  28516. output = &ModifyVpcAttributeOutput{}
  28517. req = c.newRequest(op, input, output)
  28518. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  28519. return
  28520. }
  28521. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  28522. //
  28523. // Modifies the specified attribute of the specified VPC.
  28524. //
  28525. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28526. // with awserr.Error's Code and Message methods to get detailed information about
  28527. // the error.
  28528. //
  28529. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28530. // API operation ModifyVpcAttribute for usage and error information.
  28531. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  28532. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  28533. req, out := c.ModifyVpcAttributeRequest(input)
  28534. return out, req.Send()
  28535. }
  28536. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  28537. // the ability to pass a context and additional request options.
  28538. //
  28539. // See ModifyVpcAttribute for details on how to use this API operation.
  28540. //
  28541. // The context must be non-nil and will be used for request cancellation. If
  28542. // the context is nil a panic will occur. In the future the SDK may create
  28543. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28544. // for more information on using Contexts.
  28545. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  28546. req, out := c.ModifyVpcAttributeRequest(input)
  28547. req.SetContext(ctx)
  28548. req.ApplyOptions(opts...)
  28549. return out, req.Send()
  28550. }
  28551. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  28552. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  28553. // client's request for the ModifyVpcEndpoint operation. The "output" return
  28554. // value will be populated with the request's response once the request completes
  28555. // successfully.
  28556. //
  28557. // Use "Send" method on the returned Request to send the API call to the service.
  28558. // the "output" return value is not valid until after Send returns without error.
  28559. //
  28560. // See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
  28561. // API call, and error handling.
  28562. //
  28563. // This method is useful when you want to inject custom logic or configuration
  28564. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28565. //
  28566. //
  28567. // // Example sending a request using the ModifyVpcEndpointRequest method.
  28568. // req, resp := client.ModifyVpcEndpointRequest(params)
  28569. //
  28570. // err := req.Send()
  28571. // if err == nil { // resp is now filled
  28572. // fmt.Println(resp)
  28573. // }
  28574. //
  28575. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  28576. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  28577. op := &request.Operation{
  28578. Name: opModifyVpcEndpoint,
  28579. HTTPMethod: "POST",
  28580. HTTPPath: "/",
  28581. }
  28582. if input == nil {
  28583. input = &ModifyVpcEndpointInput{}
  28584. }
  28585. output = &ModifyVpcEndpointOutput{}
  28586. req = c.newRequest(op, input, output)
  28587. return
  28588. }
  28589. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  28590. //
  28591. // Modifies attributes of a specified VPC endpoint. The attributes that you
  28592. // can modify depend on the type of VPC endpoint (interface or gateway). For
  28593. // more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
  28594. // in the Amazon Virtual Private Cloud User Guide.
  28595. //
  28596. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28597. // with awserr.Error's Code and Message methods to get detailed information about
  28598. // the error.
  28599. //
  28600. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28601. // API operation ModifyVpcEndpoint for usage and error information.
  28602. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  28603. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  28604. req, out := c.ModifyVpcEndpointRequest(input)
  28605. return out, req.Send()
  28606. }
  28607. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  28608. // the ability to pass a context and additional request options.
  28609. //
  28610. // See ModifyVpcEndpoint for details on how to use this API operation.
  28611. //
  28612. // The context must be non-nil and will be used for request cancellation. If
  28613. // the context is nil a panic will occur. In the future the SDK may create
  28614. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28615. // for more information on using Contexts.
  28616. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  28617. req, out := c.ModifyVpcEndpointRequest(input)
  28618. req.SetContext(ctx)
  28619. req.ApplyOptions(opts...)
  28620. return out, req.Send()
  28621. }
  28622. const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
  28623. // ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  28624. // client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
  28625. // value will be populated with the request's response once the request completes
  28626. // successfully.
  28627. //
  28628. // Use "Send" method on the returned Request to send the API call to the service.
  28629. // the "output" return value is not valid until after Send returns without error.
  28630. //
  28631. // See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
  28632. // API call, and error handling.
  28633. //
  28634. // This method is useful when you want to inject custom logic or configuration
  28635. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28636. //
  28637. //
  28638. // // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
  28639. // req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
  28640. //
  28641. // err := req.Send()
  28642. // if err == nil { // resp is now filled
  28643. // fmt.Println(resp)
  28644. // }
  28645. //
  28646. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  28647. func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
  28648. op := &request.Operation{
  28649. Name: opModifyVpcEndpointConnectionNotification,
  28650. HTTPMethod: "POST",
  28651. HTTPPath: "/",
  28652. }
  28653. if input == nil {
  28654. input = &ModifyVpcEndpointConnectionNotificationInput{}
  28655. }
  28656. output = &ModifyVpcEndpointConnectionNotificationOutput{}
  28657. req = c.newRequest(op, input, output)
  28658. return
  28659. }
  28660. // ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  28661. //
  28662. // Modifies a connection notification for VPC endpoint or VPC endpoint service.
  28663. // You can change the SNS topic for the notification, or the events for which
  28664. // to be notified.
  28665. //
  28666. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28667. // with awserr.Error's Code and Message methods to get detailed information about
  28668. // the error.
  28669. //
  28670. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28671. // API operation ModifyVpcEndpointConnectionNotification for usage and error information.
  28672. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  28673. func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  28674. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  28675. return out, req.Send()
  28676. }
  28677. // ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
  28678. // the ability to pass a context and additional request options.
  28679. //
  28680. // See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
  28681. //
  28682. // The context must be non-nil and will be used for request cancellation. If
  28683. // the context is nil a panic will occur. In the future the SDK may create
  28684. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28685. // for more information on using Contexts.
  28686. func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  28687. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  28688. req.SetContext(ctx)
  28689. req.ApplyOptions(opts...)
  28690. return out, req.Send()
  28691. }
  28692. const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
  28693. // ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  28694. // client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
  28695. // value will be populated with the request's response once the request completes
  28696. // successfully.
  28697. //
  28698. // Use "Send" method on the returned Request to send the API call to the service.
  28699. // the "output" return value is not valid until after Send returns without error.
  28700. //
  28701. // See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
  28702. // API call, and error handling.
  28703. //
  28704. // This method is useful when you want to inject custom logic or configuration
  28705. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28706. //
  28707. //
  28708. // // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
  28709. // req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
  28710. //
  28711. // err := req.Send()
  28712. // if err == nil { // resp is now filled
  28713. // fmt.Println(resp)
  28714. // }
  28715. //
  28716. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  28717. func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
  28718. op := &request.Operation{
  28719. Name: opModifyVpcEndpointServiceConfiguration,
  28720. HTTPMethod: "POST",
  28721. HTTPPath: "/",
  28722. }
  28723. if input == nil {
  28724. input = &ModifyVpcEndpointServiceConfigurationInput{}
  28725. }
  28726. output = &ModifyVpcEndpointServiceConfigurationOutput{}
  28727. req = c.newRequest(op, input, output)
  28728. return
  28729. }
  28730. // ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  28731. //
  28732. // Modifies the attributes of your VPC endpoint service configuration. You can
  28733. // change the Network Load Balancers for your service, and you can specify whether
  28734. // acceptance is required for requests to connect to your endpoint service through
  28735. // an interface VPC endpoint.
  28736. //
  28737. // If you set or modify the private DNS name, you must prove that you own the
  28738. // private DNS domain name. For more information, see VPC Endpoint Service Private
  28739. // DNS Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
  28740. // in the Amazon Virtual Private Cloud User Guide.
  28741. //
  28742. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28743. // with awserr.Error's Code and Message methods to get detailed information about
  28744. // the error.
  28745. //
  28746. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28747. // API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
  28748. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  28749. func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  28750. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  28751. return out, req.Send()
  28752. }
  28753. // ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
  28754. // the ability to pass a context and additional request options.
  28755. //
  28756. // See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
  28757. //
  28758. // The context must be non-nil and will be used for request cancellation. If
  28759. // the context is nil a panic will occur. In the future the SDK may create
  28760. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28761. // for more information on using Contexts.
  28762. func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  28763. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  28764. req.SetContext(ctx)
  28765. req.ApplyOptions(opts...)
  28766. return out, req.Send()
  28767. }
  28768. const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
  28769. // ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  28770. // client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
  28771. // value will be populated with the request's response once the request completes
  28772. // successfully.
  28773. //
  28774. // Use "Send" method on the returned Request to send the API call to the service.
  28775. // the "output" return value is not valid until after Send returns without error.
  28776. //
  28777. // See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
  28778. // API call, and error handling.
  28779. //
  28780. // This method is useful when you want to inject custom logic or configuration
  28781. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28782. //
  28783. //
  28784. // // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
  28785. // req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
  28786. //
  28787. // err := req.Send()
  28788. // if err == nil { // resp is now filled
  28789. // fmt.Println(resp)
  28790. // }
  28791. //
  28792. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  28793. func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
  28794. op := &request.Operation{
  28795. Name: opModifyVpcEndpointServicePermissions,
  28796. HTTPMethod: "POST",
  28797. HTTPPath: "/",
  28798. }
  28799. if input == nil {
  28800. input = &ModifyVpcEndpointServicePermissionsInput{}
  28801. }
  28802. output = &ModifyVpcEndpointServicePermissionsOutput{}
  28803. req = c.newRequest(op, input, output)
  28804. return
  28805. }
  28806. // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  28807. //
  28808. // Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
  28809. // You can add or remove permissions for service consumers (IAM users, IAM roles,
  28810. // and AWS accounts) to connect to your endpoint service.
  28811. //
  28812. // If you grant permissions to all principals, the service is public. Any users
  28813. // who know the name of a public service can send a request to attach an endpoint.
  28814. // If the service does not require manual approval, attachments are automatically
  28815. // approved.
  28816. //
  28817. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28818. // with awserr.Error's Code and Message methods to get detailed information about
  28819. // the error.
  28820. //
  28821. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28822. // API operation ModifyVpcEndpointServicePermissions for usage and error information.
  28823. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  28824. func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  28825. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  28826. return out, req.Send()
  28827. }
  28828. // ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
  28829. // the ability to pass a context and additional request options.
  28830. //
  28831. // See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
  28832. //
  28833. // The context must be non-nil and will be used for request cancellation. If
  28834. // the context is nil a panic will occur. In the future the SDK may create
  28835. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28836. // for more information on using Contexts.
  28837. func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  28838. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  28839. req.SetContext(ctx)
  28840. req.ApplyOptions(opts...)
  28841. return out, req.Send()
  28842. }
  28843. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  28844. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  28845. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  28846. // value will be populated with the request's response once the request completes
  28847. // successfully.
  28848. //
  28849. // Use "Send" method on the returned Request to send the API call to the service.
  28850. // the "output" return value is not valid until after Send returns without error.
  28851. //
  28852. // See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
  28853. // API call, and error handling.
  28854. //
  28855. // This method is useful when you want to inject custom logic or configuration
  28856. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28857. //
  28858. //
  28859. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  28860. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  28861. //
  28862. // err := req.Send()
  28863. // if err == nil { // resp is now filled
  28864. // fmt.Println(resp)
  28865. // }
  28866. //
  28867. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  28868. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  28869. op := &request.Operation{
  28870. Name: opModifyVpcPeeringConnectionOptions,
  28871. HTTPMethod: "POST",
  28872. HTTPPath: "/",
  28873. }
  28874. if input == nil {
  28875. input = &ModifyVpcPeeringConnectionOptionsInput{}
  28876. }
  28877. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  28878. req = c.newRequest(op, input, output)
  28879. return
  28880. }
  28881. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  28882. //
  28883. // Modifies the VPC peering connection options on one side of a VPC peering
  28884. // connection. You can do the following:
  28885. //
  28886. // * Enable/disable communication over the peering connection between an
  28887. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  28888. // instances in the peer VPC.
  28889. //
  28890. // * Enable/disable communication over the peering connection between instances
  28891. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  28892. //
  28893. // * Enable/disable the ability to resolve public DNS hostnames to private
  28894. // IP addresses when queried from instances in the peer VPC.
  28895. //
  28896. // If the peered VPCs are in the same AWS account, you can enable DNS resolution
  28897. // for queries from the local VPC. This ensures that queries from the local
  28898. // VPC resolve to private IP addresses in the peer VPC. This option is not available
  28899. // if the peered VPCs are in different AWS accounts or different Regions. For
  28900. // peered VPCs in different AWS accounts, each AWS account owner must initiate
  28901. // a separate request to modify the peering connection options. For inter-region
  28902. // peering connections, you must use the Region for the requester VPC to modify
  28903. // the requester VPC peering options and the Region for the accepter VPC to
  28904. // modify the accepter VPC peering options. To verify which VPCs are the accepter
  28905. // and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  28906. // command.
  28907. //
  28908. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28909. // with awserr.Error's Code and Message methods to get detailed information about
  28910. // the error.
  28911. //
  28912. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28913. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  28914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  28915. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  28916. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  28917. return out, req.Send()
  28918. }
  28919. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  28920. // the ability to pass a context and additional request options.
  28921. //
  28922. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  28923. //
  28924. // The context must be non-nil and will be used for request cancellation. If
  28925. // the context is nil a panic will occur. In the future the SDK may create
  28926. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  28927. // for more information on using Contexts.
  28928. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  28929. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  28930. req.SetContext(ctx)
  28931. req.ApplyOptions(opts...)
  28932. return out, req.Send()
  28933. }
  28934. const opModifyVpcTenancy = "ModifyVpcTenancy"
  28935. // ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
  28936. // client's request for the ModifyVpcTenancy operation. The "output" return
  28937. // value will be populated with the request's response once the request completes
  28938. // successfully.
  28939. //
  28940. // Use "Send" method on the returned Request to send the API call to the service.
  28941. // the "output" return value is not valid until after Send returns without error.
  28942. //
  28943. // See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
  28944. // API call, and error handling.
  28945. //
  28946. // This method is useful when you want to inject custom logic or configuration
  28947. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  28948. //
  28949. //
  28950. // // Example sending a request using the ModifyVpcTenancyRequest method.
  28951. // req, resp := client.ModifyVpcTenancyRequest(params)
  28952. //
  28953. // err := req.Send()
  28954. // if err == nil { // resp is now filled
  28955. // fmt.Println(resp)
  28956. // }
  28957. //
  28958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  28959. func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
  28960. op := &request.Operation{
  28961. Name: opModifyVpcTenancy,
  28962. HTTPMethod: "POST",
  28963. HTTPPath: "/",
  28964. }
  28965. if input == nil {
  28966. input = &ModifyVpcTenancyInput{}
  28967. }
  28968. output = &ModifyVpcTenancyOutput{}
  28969. req = c.newRequest(op, input, output)
  28970. return
  28971. }
  28972. // ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
  28973. //
  28974. // Modifies the instance tenancy attribute of the specified VPC. You can change
  28975. // the instance tenancy attribute of a VPC to default only. You cannot change
  28976. // the instance tenancy attribute to dedicated.
  28977. //
  28978. // After you modify the tenancy of the VPC, any new instances that you launch
  28979. // into the VPC have a tenancy of default, unless you specify otherwise during
  28980. // launch. The tenancy of any existing instances in the VPC is not affected.
  28981. //
  28982. // For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  28983. // in the Amazon Elastic Compute Cloud User Guide.
  28984. //
  28985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  28986. // with awserr.Error's Code and Message methods to get detailed information about
  28987. // the error.
  28988. //
  28989. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  28990. // API operation ModifyVpcTenancy for usage and error information.
  28991. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  28992. func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
  28993. req, out := c.ModifyVpcTenancyRequest(input)
  28994. return out, req.Send()
  28995. }
  28996. // ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
  28997. // the ability to pass a context and additional request options.
  28998. //
  28999. // See ModifyVpcTenancy for details on how to use this API operation.
  29000. //
  29001. // The context must be non-nil and will be used for request cancellation. If
  29002. // the context is nil a panic will occur. In the future the SDK may create
  29003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29004. // for more information on using Contexts.
  29005. func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
  29006. req, out := c.ModifyVpcTenancyRequest(input)
  29007. req.SetContext(ctx)
  29008. req.ApplyOptions(opts...)
  29009. return out, req.Send()
  29010. }
  29011. const opModifyVpnConnection = "ModifyVpnConnection"
  29012. // ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
  29013. // client's request for the ModifyVpnConnection operation. The "output" return
  29014. // value will be populated with the request's response once the request completes
  29015. // successfully.
  29016. //
  29017. // Use "Send" method on the returned Request to send the API call to the service.
  29018. // the "output" return value is not valid until after Send returns without error.
  29019. //
  29020. // See ModifyVpnConnection for more information on using the ModifyVpnConnection
  29021. // API call, and error handling.
  29022. //
  29023. // This method is useful when you want to inject custom logic or configuration
  29024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29025. //
  29026. //
  29027. // // Example sending a request using the ModifyVpnConnectionRequest method.
  29028. // req, resp := client.ModifyVpnConnectionRequest(params)
  29029. //
  29030. // err := req.Send()
  29031. // if err == nil { // resp is now filled
  29032. // fmt.Println(resp)
  29033. // }
  29034. //
  29035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
  29036. func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
  29037. op := &request.Operation{
  29038. Name: opModifyVpnConnection,
  29039. HTTPMethod: "POST",
  29040. HTTPPath: "/",
  29041. }
  29042. if input == nil {
  29043. input = &ModifyVpnConnectionInput{}
  29044. }
  29045. output = &ModifyVpnConnectionOutput{}
  29046. req = c.newRequest(op, input, output)
  29047. return
  29048. }
  29049. // ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
  29050. //
  29051. // Modifies the target gateway of an AWS Site-to-Site VPN connection. The following
  29052. // migration options are available:
  29053. //
  29054. // * An existing virtual private gateway to a new virtual private gateway
  29055. //
  29056. // * An existing virtual private gateway to a transit gateway
  29057. //
  29058. // * An existing transit gateway to a new transit gateway
  29059. //
  29060. // * An existing transit gateway to a virtual private gateway
  29061. //
  29062. // Before you perform the migration to the new gateway, you must configure the
  29063. // new gateway. Use CreateVpnGateway to create a virtual private gateway, or
  29064. // CreateTransitGateway to create a transit gateway.
  29065. //
  29066. // This step is required when you migrate from a virtual private gateway with
  29067. // static routes to a transit gateway.
  29068. //
  29069. // You must delete the static routes before you migrate to the new gateway.
  29070. //
  29071. // Keep a copy of the static route before you delete it. You will need to add
  29072. // back these routes to the transit gateway after the VPN connection migration
  29073. // is complete.
  29074. //
  29075. // After you migrate to the new gateway, you might need to modify your VPC route
  29076. // table. Use CreateRoute and DeleteRoute to make the changes described in VPN
  29077. // Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
  29078. // in the AWS Site-to-Site VPN User Guide.
  29079. //
  29080. // When the new gateway is a transit gateway, modify the transit gateway route
  29081. // table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
  29082. // Use CreateTransitGatewayRoute to add the routes.
  29083. //
  29084. // If you deleted VPN static routes, you must add the static routes to the transit
  29085. // gateway route table.
  29086. //
  29087. // After you perform this operation, the AWS VPN endpoint's IP addresses on
  29088. // the AWS side and the tunnel options remain intact. Your s2slong; connection
  29089. // will be temporarily unavailable for approximately 10 minutes while we provision
  29090. // the new endpoints
  29091. //
  29092. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29093. // with awserr.Error's Code and Message methods to get detailed information about
  29094. // the error.
  29095. //
  29096. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29097. // API operation ModifyVpnConnection for usage and error information.
  29098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
  29099. func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
  29100. req, out := c.ModifyVpnConnectionRequest(input)
  29101. return out, req.Send()
  29102. }
  29103. // ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
  29104. // the ability to pass a context and additional request options.
  29105. //
  29106. // See ModifyVpnConnection for details on how to use this API operation.
  29107. //
  29108. // The context must be non-nil and will be used for request cancellation. If
  29109. // the context is nil a panic will occur. In the future the SDK may create
  29110. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29111. // for more information on using Contexts.
  29112. func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
  29113. req, out := c.ModifyVpnConnectionRequest(input)
  29114. req.SetContext(ctx)
  29115. req.ApplyOptions(opts...)
  29116. return out, req.Send()
  29117. }
  29118. const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate"
  29119. // ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the
  29120. // client's request for the ModifyVpnTunnelCertificate operation. The "output" return
  29121. // value will be populated with the request's response once the request completes
  29122. // successfully.
  29123. //
  29124. // Use "Send" method on the returned Request to send the API call to the service.
  29125. // the "output" return value is not valid until after Send returns without error.
  29126. //
  29127. // See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate
  29128. // API call, and error handling.
  29129. //
  29130. // This method is useful when you want to inject custom logic or configuration
  29131. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29132. //
  29133. //
  29134. // // Example sending a request using the ModifyVpnTunnelCertificateRequest method.
  29135. // req, resp := client.ModifyVpnTunnelCertificateRequest(params)
  29136. //
  29137. // err := req.Send()
  29138. // if err == nil { // resp is now filled
  29139. // fmt.Println(resp)
  29140. // }
  29141. //
  29142. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
  29143. func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) {
  29144. op := &request.Operation{
  29145. Name: opModifyVpnTunnelCertificate,
  29146. HTTPMethod: "POST",
  29147. HTTPPath: "/",
  29148. }
  29149. if input == nil {
  29150. input = &ModifyVpnTunnelCertificateInput{}
  29151. }
  29152. output = &ModifyVpnTunnelCertificateOutput{}
  29153. req = c.newRequest(op, input, output)
  29154. return
  29155. }
  29156. // ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud.
  29157. //
  29158. // Modifies the VPN tunnel endpoint certificate.
  29159. //
  29160. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29161. // with awserr.Error's Code and Message methods to get detailed information about
  29162. // the error.
  29163. //
  29164. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29165. // API operation ModifyVpnTunnelCertificate for usage and error information.
  29166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
  29167. func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) {
  29168. req, out := c.ModifyVpnTunnelCertificateRequest(input)
  29169. return out, req.Send()
  29170. }
  29171. // ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of
  29172. // the ability to pass a context and additional request options.
  29173. //
  29174. // See ModifyVpnTunnelCertificate for details on how to use this API operation.
  29175. //
  29176. // The context must be non-nil and will be used for request cancellation. If
  29177. // the context is nil a panic will occur. In the future the SDK may create
  29178. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29179. // for more information on using Contexts.
  29180. func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) {
  29181. req, out := c.ModifyVpnTunnelCertificateRequest(input)
  29182. req.SetContext(ctx)
  29183. req.ApplyOptions(opts...)
  29184. return out, req.Send()
  29185. }
  29186. const opModifyVpnTunnelOptions = "ModifyVpnTunnelOptions"
  29187. // ModifyVpnTunnelOptionsRequest generates a "aws/request.Request" representing the
  29188. // client's request for the ModifyVpnTunnelOptions operation. The "output" return
  29189. // value will be populated with the request's response once the request completes
  29190. // successfully.
  29191. //
  29192. // Use "Send" method on the returned Request to send the API call to the service.
  29193. // the "output" return value is not valid until after Send returns without error.
  29194. //
  29195. // See ModifyVpnTunnelOptions for more information on using the ModifyVpnTunnelOptions
  29196. // API call, and error handling.
  29197. //
  29198. // This method is useful when you want to inject custom logic or configuration
  29199. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29200. //
  29201. //
  29202. // // Example sending a request using the ModifyVpnTunnelOptionsRequest method.
  29203. // req, resp := client.ModifyVpnTunnelOptionsRequest(params)
  29204. //
  29205. // err := req.Send()
  29206. // if err == nil { // resp is now filled
  29207. // fmt.Println(resp)
  29208. // }
  29209. //
  29210. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
  29211. func (c *EC2) ModifyVpnTunnelOptionsRequest(input *ModifyVpnTunnelOptionsInput) (req *request.Request, output *ModifyVpnTunnelOptionsOutput) {
  29212. op := &request.Operation{
  29213. Name: opModifyVpnTunnelOptions,
  29214. HTTPMethod: "POST",
  29215. HTTPPath: "/",
  29216. }
  29217. if input == nil {
  29218. input = &ModifyVpnTunnelOptionsInput{}
  29219. }
  29220. output = &ModifyVpnTunnelOptionsOutput{}
  29221. req = c.newRequest(op, input, output)
  29222. return
  29223. }
  29224. // ModifyVpnTunnelOptions API operation for Amazon Elastic Compute Cloud.
  29225. //
  29226. // Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.
  29227. // You can modify multiple options for a tunnel in a single request, but you
  29228. // can only modify one tunnel at a time. For more information, see Site-to-Site
  29229. // VPN Tunnel Options for Your Site-to-Site VPN Connection (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html)
  29230. // in the AWS Site-to-Site VPN User Guide.
  29231. //
  29232. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29233. // with awserr.Error's Code and Message methods to get detailed information about
  29234. // the error.
  29235. //
  29236. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29237. // API operation ModifyVpnTunnelOptions for usage and error information.
  29238. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
  29239. func (c *EC2) ModifyVpnTunnelOptions(input *ModifyVpnTunnelOptionsInput) (*ModifyVpnTunnelOptionsOutput, error) {
  29240. req, out := c.ModifyVpnTunnelOptionsRequest(input)
  29241. return out, req.Send()
  29242. }
  29243. // ModifyVpnTunnelOptionsWithContext is the same as ModifyVpnTunnelOptions with the addition of
  29244. // the ability to pass a context and additional request options.
  29245. //
  29246. // See ModifyVpnTunnelOptions for details on how to use this API operation.
  29247. //
  29248. // The context must be non-nil and will be used for request cancellation. If
  29249. // the context is nil a panic will occur. In the future the SDK may create
  29250. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29251. // for more information on using Contexts.
  29252. func (c *EC2) ModifyVpnTunnelOptionsWithContext(ctx aws.Context, input *ModifyVpnTunnelOptionsInput, opts ...request.Option) (*ModifyVpnTunnelOptionsOutput, error) {
  29253. req, out := c.ModifyVpnTunnelOptionsRequest(input)
  29254. req.SetContext(ctx)
  29255. req.ApplyOptions(opts...)
  29256. return out, req.Send()
  29257. }
  29258. const opMonitorInstances = "MonitorInstances"
  29259. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  29260. // client's request for the MonitorInstances operation. The "output" return
  29261. // value will be populated with the request's response once the request completes
  29262. // successfully.
  29263. //
  29264. // Use "Send" method on the returned Request to send the API call to the service.
  29265. // the "output" return value is not valid until after Send returns without error.
  29266. //
  29267. // See MonitorInstances for more information on using the MonitorInstances
  29268. // API call, and error handling.
  29269. //
  29270. // This method is useful when you want to inject custom logic or configuration
  29271. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29272. //
  29273. //
  29274. // // Example sending a request using the MonitorInstancesRequest method.
  29275. // req, resp := client.MonitorInstancesRequest(params)
  29276. //
  29277. // err := req.Send()
  29278. // if err == nil { // resp is now filled
  29279. // fmt.Println(resp)
  29280. // }
  29281. //
  29282. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  29283. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  29284. op := &request.Operation{
  29285. Name: opMonitorInstances,
  29286. HTTPMethod: "POST",
  29287. HTTPPath: "/",
  29288. }
  29289. if input == nil {
  29290. input = &MonitorInstancesInput{}
  29291. }
  29292. output = &MonitorInstancesOutput{}
  29293. req = c.newRequest(op, input, output)
  29294. return
  29295. }
  29296. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  29297. //
  29298. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  29299. // is enabled. For more information, see Monitoring Your Instances and Volumes
  29300. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  29301. // in the Amazon Elastic Compute Cloud User Guide.
  29302. //
  29303. // To disable detailed monitoring, see .
  29304. //
  29305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29306. // with awserr.Error's Code and Message methods to get detailed information about
  29307. // the error.
  29308. //
  29309. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29310. // API operation MonitorInstances for usage and error information.
  29311. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  29312. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  29313. req, out := c.MonitorInstancesRequest(input)
  29314. return out, req.Send()
  29315. }
  29316. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  29317. // the ability to pass a context and additional request options.
  29318. //
  29319. // See MonitorInstances for details on how to use this API operation.
  29320. //
  29321. // The context must be non-nil and will be used for request cancellation. If
  29322. // the context is nil a panic will occur. In the future the SDK may create
  29323. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29324. // for more information on using Contexts.
  29325. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  29326. req, out := c.MonitorInstancesRequest(input)
  29327. req.SetContext(ctx)
  29328. req.ApplyOptions(opts...)
  29329. return out, req.Send()
  29330. }
  29331. const opMoveAddressToVpc = "MoveAddressToVpc"
  29332. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  29333. // client's request for the MoveAddressToVpc operation. The "output" return
  29334. // value will be populated with the request's response once the request completes
  29335. // successfully.
  29336. //
  29337. // Use "Send" method on the returned Request to send the API call to the service.
  29338. // the "output" return value is not valid until after Send returns without error.
  29339. //
  29340. // See MoveAddressToVpc for more information on using the MoveAddressToVpc
  29341. // API call, and error handling.
  29342. //
  29343. // This method is useful when you want to inject custom logic or configuration
  29344. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29345. //
  29346. //
  29347. // // Example sending a request using the MoveAddressToVpcRequest method.
  29348. // req, resp := client.MoveAddressToVpcRequest(params)
  29349. //
  29350. // err := req.Send()
  29351. // if err == nil { // resp is now filled
  29352. // fmt.Println(resp)
  29353. // }
  29354. //
  29355. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  29356. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  29357. op := &request.Operation{
  29358. Name: opMoveAddressToVpc,
  29359. HTTPMethod: "POST",
  29360. HTTPPath: "/",
  29361. }
  29362. if input == nil {
  29363. input = &MoveAddressToVpcInput{}
  29364. }
  29365. output = &MoveAddressToVpcOutput{}
  29366. req = c.newRequest(op, input, output)
  29367. return
  29368. }
  29369. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  29370. //
  29371. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  29372. // platform. The Elastic IP address must be allocated to your account for more
  29373. // than 24 hours, and it must not be associated with an instance. After the
  29374. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  29375. // platform, unless you move it back using the RestoreAddressToClassic request.
  29376. // You cannot move an Elastic IP address that was originally allocated for use
  29377. // in the EC2-VPC platform to the EC2-Classic platform.
  29378. //
  29379. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29380. // with awserr.Error's Code and Message methods to get detailed information about
  29381. // the error.
  29382. //
  29383. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29384. // API operation MoveAddressToVpc for usage and error information.
  29385. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  29386. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  29387. req, out := c.MoveAddressToVpcRequest(input)
  29388. return out, req.Send()
  29389. }
  29390. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  29391. // the ability to pass a context and additional request options.
  29392. //
  29393. // See MoveAddressToVpc for details on how to use this API operation.
  29394. //
  29395. // The context must be non-nil and will be used for request cancellation. If
  29396. // the context is nil a panic will occur. In the future the SDK may create
  29397. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29398. // for more information on using Contexts.
  29399. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  29400. req, out := c.MoveAddressToVpcRequest(input)
  29401. req.SetContext(ctx)
  29402. req.ApplyOptions(opts...)
  29403. return out, req.Send()
  29404. }
  29405. const opProvisionByoipCidr = "ProvisionByoipCidr"
  29406. // ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
  29407. // client's request for the ProvisionByoipCidr operation. The "output" return
  29408. // value will be populated with the request's response once the request completes
  29409. // successfully.
  29410. //
  29411. // Use "Send" method on the returned Request to send the API call to the service.
  29412. // the "output" return value is not valid until after Send returns without error.
  29413. //
  29414. // See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
  29415. // API call, and error handling.
  29416. //
  29417. // This method is useful when you want to inject custom logic or configuration
  29418. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29419. //
  29420. //
  29421. // // Example sending a request using the ProvisionByoipCidrRequest method.
  29422. // req, resp := client.ProvisionByoipCidrRequest(params)
  29423. //
  29424. // err := req.Send()
  29425. // if err == nil { // resp is now filled
  29426. // fmt.Println(resp)
  29427. // }
  29428. //
  29429. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
  29430. func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
  29431. op := &request.Operation{
  29432. Name: opProvisionByoipCidr,
  29433. HTTPMethod: "POST",
  29434. HTTPPath: "/",
  29435. }
  29436. if input == nil {
  29437. input = &ProvisionByoipCidrInput{}
  29438. }
  29439. output = &ProvisionByoipCidrOutput{}
  29440. req = c.newRequest(op, input, output)
  29441. return
  29442. }
  29443. // ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
  29444. //
  29445. // Provisions an address range for use with your AWS resources through bring
  29446. // your own IP addresses (BYOIP) and creates a corresponding address pool. After
  29447. // the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.
  29448. //
  29449. // AWS verifies that you own the address range and are authorized to advertise
  29450. // it. You must ensure that the address range is registered to you and that
  29451. // you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
  29452. // the address range. For more information, see Bring Your Own IP Addresses
  29453. // (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
  29454. // in the Amazon Elastic Compute Cloud User Guide.
  29455. //
  29456. // Provisioning an address range is an asynchronous operation, so the call returns
  29457. // immediately, but the address range is not ready to use until its status changes
  29458. // from pending-provision to provisioned. To monitor the status of an address
  29459. // range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
  29460. // address pool, use AllocateAddress with either the specific address from the
  29461. // address pool or the ID of the address pool.
  29462. //
  29463. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29464. // with awserr.Error's Code and Message methods to get detailed information about
  29465. // the error.
  29466. //
  29467. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29468. // API operation ProvisionByoipCidr for usage and error information.
  29469. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
  29470. func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
  29471. req, out := c.ProvisionByoipCidrRequest(input)
  29472. return out, req.Send()
  29473. }
  29474. // ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
  29475. // the ability to pass a context and additional request options.
  29476. //
  29477. // See ProvisionByoipCidr for details on how to use this API operation.
  29478. //
  29479. // The context must be non-nil and will be used for request cancellation. If
  29480. // the context is nil a panic will occur. In the future the SDK may create
  29481. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29482. // for more information on using Contexts.
  29483. func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
  29484. req, out := c.ProvisionByoipCidrRequest(input)
  29485. req.SetContext(ctx)
  29486. req.ApplyOptions(opts...)
  29487. return out, req.Send()
  29488. }
  29489. const opPurchaseHostReservation = "PurchaseHostReservation"
  29490. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  29491. // client's request for the PurchaseHostReservation operation. The "output" return
  29492. // value will be populated with the request's response once the request completes
  29493. // successfully.
  29494. //
  29495. // Use "Send" method on the returned Request to send the API call to the service.
  29496. // the "output" return value is not valid until after Send returns without error.
  29497. //
  29498. // See PurchaseHostReservation for more information on using the PurchaseHostReservation
  29499. // API call, and error handling.
  29500. //
  29501. // This method is useful when you want to inject custom logic or configuration
  29502. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29503. //
  29504. //
  29505. // // Example sending a request using the PurchaseHostReservationRequest method.
  29506. // req, resp := client.PurchaseHostReservationRequest(params)
  29507. //
  29508. // err := req.Send()
  29509. // if err == nil { // resp is now filled
  29510. // fmt.Println(resp)
  29511. // }
  29512. //
  29513. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  29514. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  29515. op := &request.Operation{
  29516. Name: opPurchaseHostReservation,
  29517. HTTPMethod: "POST",
  29518. HTTPPath: "/",
  29519. }
  29520. if input == nil {
  29521. input = &PurchaseHostReservationInput{}
  29522. }
  29523. output = &PurchaseHostReservationOutput{}
  29524. req = c.newRequest(op, input, output)
  29525. return
  29526. }
  29527. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  29528. //
  29529. // Purchase a reservation with configurations that match those of your Dedicated
  29530. // Host. You must have active Dedicated Hosts in your account before you purchase
  29531. // a reservation. This action results in the specified reservation being purchased
  29532. // and charged to your account.
  29533. //
  29534. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29535. // with awserr.Error's Code and Message methods to get detailed information about
  29536. // the error.
  29537. //
  29538. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29539. // API operation PurchaseHostReservation for usage and error information.
  29540. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  29541. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  29542. req, out := c.PurchaseHostReservationRequest(input)
  29543. return out, req.Send()
  29544. }
  29545. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  29546. // the ability to pass a context and additional request options.
  29547. //
  29548. // See PurchaseHostReservation for details on how to use this API operation.
  29549. //
  29550. // The context must be non-nil and will be used for request cancellation. If
  29551. // the context is nil a panic will occur. In the future the SDK may create
  29552. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29553. // for more information on using Contexts.
  29554. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  29555. req, out := c.PurchaseHostReservationRequest(input)
  29556. req.SetContext(ctx)
  29557. req.ApplyOptions(opts...)
  29558. return out, req.Send()
  29559. }
  29560. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  29561. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  29562. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  29563. // value will be populated with the request's response once the request completes
  29564. // successfully.
  29565. //
  29566. // Use "Send" method on the returned Request to send the API call to the service.
  29567. // the "output" return value is not valid until after Send returns without error.
  29568. //
  29569. // See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
  29570. // API call, and error handling.
  29571. //
  29572. // This method is useful when you want to inject custom logic or configuration
  29573. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29574. //
  29575. //
  29576. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  29577. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  29578. //
  29579. // err := req.Send()
  29580. // if err == nil { // resp is now filled
  29581. // fmt.Println(resp)
  29582. // }
  29583. //
  29584. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  29585. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  29586. op := &request.Operation{
  29587. Name: opPurchaseReservedInstancesOffering,
  29588. HTTPMethod: "POST",
  29589. HTTPPath: "/",
  29590. }
  29591. if input == nil {
  29592. input = &PurchaseReservedInstancesOfferingInput{}
  29593. }
  29594. output = &PurchaseReservedInstancesOfferingOutput{}
  29595. req = c.newRequest(op, input, output)
  29596. return
  29597. }
  29598. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  29599. //
  29600. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  29601. // you pay a lower hourly rate compared to On-Demand instance pricing.
  29602. //
  29603. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  29604. // offerings that match your specifications. After you've purchased a Reserved
  29605. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  29606. //
  29607. // To queue a purchase for a future date and time, specify a purchase time.
  29608. // If you do not specify a purchase time, the default is the current time.
  29609. //
  29610. // For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  29611. // and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  29612. // in the Amazon Elastic Compute Cloud User Guide.
  29613. //
  29614. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29615. // with awserr.Error's Code and Message methods to get detailed information about
  29616. // the error.
  29617. //
  29618. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29619. // API operation PurchaseReservedInstancesOffering for usage and error information.
  29620. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  29621. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  29622. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  29623. return out, req.Send()
  29624. }
  29625. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  29626. // the ability to pass a context and additional request options.
  29627. //
  29628. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  29629. //
  29630. // The context must be non-nil and will be used for request cancellation. If
  29631. // the context is nil a panic will occur. In the future the SDK may create
  29632. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29633. // for more information on using Contexts.
  29634. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  29635. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  29636. req.SetContext(ctx)
  29637. req.ApplyOptions(opts...)
  29638. return out, req.Send()
  29639. }
  29640. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  29641. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  29642. // client's request for the PurchaseScheduledInstances operation. The "output" return
  29643. // value will be populated with the request's response once the request completes
  29644. // successfully.
  29645. //
  29646. // Use "Send" method on the returned Request to send the API call to the service.
  29647. // the "output" return value is not valid until after Send returns without error.
  29648. //
  29649. // See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
  29650. // API call, and error handling.
  29651. //
  29652. // This method is useful when you want to inject custom logic or configuration
  29653. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29654. //
  29655. //
  29656. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  29657. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  29658. //
  29659. // err := req.Send()
  29660. // if err == nil { // resp is now filled
  29661. // fmt.Println(resp)
  29662. // }
  29663. //
  29664. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  29665. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  29666. op := &request.Operation{
  29667. Name: opPurchaseScheduledInstances,
  29668. HTTPMethod: "POST",
  29669. HTTPPath: "/",
  29670. }
  29671. if input == nil {
  29672. input = &PurchaseScheduledInstancesInput{}
  29673. }
  29674. output = &PurchaseScheduledInstancesOutput{}
  29675. req = c.newRequest(op, input, output)
  29676. return
  29677. }
  29678. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  29679. //
  29680. // Purchases the Scheduled Instances with the specified schedule.
  29681. //
  29682. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  29683. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  29684. // you must call DescribeScheduledInstanceAvailability to check for available
  29685. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  29686. // you must call RunScheduledInstances during each scheduled time period.
  29687. //
  29688. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  29689. // your purchase.
  29690. //
  29691. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29692. // with awserr.Error's Code and Message methods to get detailed information about
  29693. // the error.
  29694. //
  29695. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29696. // API operation PurchaseScheduledInstances for usage and error information.
  29697. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  29698. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  29699. req, out := c.PurchaseScheduledInstancesRequest(input)
  29700. return out, req.Send()
  29701. }
  29702. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  29703. // the ability to pass a context and additional request options.
  29704. //
  29705. // See PurchaseScheduledInstances for details on how to use this API operation.
  29706. //
  29707. // The context must be non-nil and will be used for request cancellation. If
  29708. // the context is nil a panic will occur. In the future the SDK may create
  29709. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29710. // for more information on using Contexts.
  29711. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  29712. req, out := c.PurchaseScheduledInstancesRequest(input)
  29713. req.SetContext(ctx)
  29714. req.ApplyOptions(opts...)
  29715. return out, req.Send()
  29716. }
  29717. const opRebootInstances = "RebootInstances"
  29718. // RebootInstancesRequest generates a "aws/request.Request" representing the
  29719. // client's request for the RebootInstances operation. The "output" return
  29720. // value will be populated with the request's response once the request completes
  29721. // successfully.
  29722. //
  29723. // Use "Send" method on the returned Request to send the API call to the service.
  29724. // the "output" return value is not valid until after Send returns without error.
  29725. //
  29726. // See RebootInstances for more information on using the RebootInstances
  29727. // API call, and error handling.
  29728. //
  29729. // This method is useful when you want to inject custom logic or configuration
  29730. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29731. //
  29732. //
  29733. // // Example sending a request using the RebootInstancesRequest method.
  29734. // req, resp := client.RebootInstancesRequest(params)
  29735. //
  29736. // err := req.Send()
  29737. // if err == nil { // resp is now filled
  29738. // fmt.Println(resp)
  29739. // }
  29740. //
  29741. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  29742. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  29743. op := &request.Operation{
  29744. Name: opRebootInstances,
  29745. HTTPMethod: "POST",
  29746. HTTPPath: "/",
  29747. }
  29748. if input == nil {
  29749. input = &RebootInstancesInput{}
  29750. }
  29751. output = &RebootInstancesOutput{}
  29752. req = c.newRequest(op, input, output)
  29753. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  29754. return
  29755. }
  29756. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  29757. //
  29758. // Requests a reboot of the specified instances. This operation is asynchronous;
  29759. // it only queues a request to reboot the specified instances. The operation
  29760. // succeeds if the instances are valid and belong to you. Requests to reboot
  29761. // terminated instances are ignored.
  29762. //
  29763. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  29764. // performs a hard reboot.
  29765. //
  29766. // For more information about troubleshooting, see Getting Console Output and
  29767. // Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  29768. // in the Amazon Elastic Compute Cloud User Guide.
  29769. //
  29770. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29771. // with awserr.Error's Code and Message methods to get detailed information about
  29772. // the error.
  29773. //
  29774. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29775. // API operation RebootInstances for usage and error information.
  29776. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  29777. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  29778. req, out := c.RebootInstancesRequest(input)
  29779. return out, req.Send()
  29780. }
  29781. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  29782. // the ability to pass a context and additional request options.
  29783. //
  29784. // See RebootInstances for details on how to use this API operation.
  29785. //
  29786. // The context must be non-nil and will be used for request cancellation. If
  29787. // the context is nil a panic will occur. In the future the SDK may create
  29788. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29789. // for more information on using Contexts.
  29790. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  29791. req, out := c.RebootInstancesRequest(input)
  29792. req.SetContext(ctx)
  29793. req.ApplyOptions(opts...)
  29794. return out, req.Send()
  29795. }
  29796. const opRegisterImage = "RegisterImage"
  29797. // RegisterImageRequest generates a "aws/request.Request" representing the
  29798. // client's request for the RegisterImage operation. The "output" return
  29799. // value will be populated with the request's response once the request completes
  29800. // successfully.
  29801. //
  29802. // Use "Send" method on the returned Request to send the API call to the service.
  29803. // the "output" return value is not valid until after Send returns without error.
  29804. //
  29805. // See RegisterImage for more information on using the RegisterImage
  29806. // API call, and error handling.
  29807. //
  29808. // This method is useful when you want to inject custom logic or configuration
  29809. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29810. //
  29811. //
  29812. // // Example sending a request using the RegisterImageRequest method.
  29813. // req, resp := client.RegisterImageRequest(params)
  29814. //
  29815. // err := req.Send()
  29816. // if err == nil { // resp is now filled
  29817. // fmt.Println(resp)
  29818. // }
  29819. //
  29820. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  29821. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  29822. op := &request.Operation{
  29823. Name: opRegisterImage,
  29824. HTTPMethod: "POST",
  29825. HTTPPath: "/",
  29826. }
  29827. if input == nil {
  29828. input = &RegisterImageInput{}
  29829. }
  29830. output = &RegisterImageOutput{}
  29831. req = c.newRequest(op, input, output)
  29832. return
  29833. }
  29834. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  29835. //
  29836. // Registers an AMI. When you're creating an AMI, this is the final step you
  29837. // must complete before you can launch an instance from the AMI. For more information
  29838. // about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  29839. // in the Amazon Elastic Compute Cloud User Guide.
  29840. //
  29841. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  29842. // in a single request, so you don't have to register the AMI yourself.
  29843. //
  29844. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  29845. // a snapshot of a root device volume. You specify the snapshot using the block
  29846. // device mapping. For more information, see Launching a Linux Instance from
  29847. // a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  29848. // in the Amazon Elastic Compute Cloud User Guide.
  29849. //
  29850. // You can't register an image where a secondary (non-root) snapshot has AWS
  29851. // Marketplace product codes.
  29852. //
  29853. // Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
  29854. // and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
  29855. // associated with an AMI to verify the subscription status for package updates.
  29856. // To create a new AMI for operating systems that require a billing product
  29857. // code, do the following:
  29858. //
  29859. // Launch an instance from an existing AMI with that billing product code.
  29860. //
  29861. // Customize the instance.
  29862. //
  29863. // Create a new AMI from the instance using CreateImage to preserve the billing
  29864. // product code association.
  29865. //
  29866. // If you purchase a Reserved Instance to apply to an On-Demand Instance that
  29867. // was launched from an AMI with a billing product code, make sure that the
  29868. // Reserved Instance has the matching billing product code. If you purchase
  29869. // a Reserved Instance without the matching billing product code, the Reserved
  29870. // Instance will not be applied to the On-Demand Instance.
  29871. //
  29872. // If needed, you can deregister an AMI at any time. Any modifications you make
  29873. // to an AMI backed by an instance store volume invalidates its registration.
  29874. // If you make changes to an image, deregister the previous image and register
  29875. // the new image.
  29876. //
  29877. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29878. // with awserr.Error's Code and Message methods to get detailed information about
  29879. // the error.
  29880. //
  29881. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29882. // API operation RegisterImage for usage and error information.
  29883. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  29884. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  29885. req, out := c.RegisterImageRequest(input)
  29886. return out, req.Send()
  29887. }
  29888. // RegisterImageWithContext is the same as RegisterImage with the addition of
  29889. // the ability to pass a context and additional request options.
  29890. //
  29891. // See RegisterImage for details on how to use this API operation.
  29892. //
  29893. // The context must be non-nil and will be used for request cancellation. If
  29894. // the context is nil a panic will occur. In the future the SDK may create
  29895. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29896. // for more information on using Contexts.
  29897. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  29898. req, out := c.RegisterImageRequest(input)
  29899. req.SetContext(ctx)
  29900. req.ApplyOptions(opts...)
  29901. return out, req.Send()
  29902. }
  29903. const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
  29904. // RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
  29905. // client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
  29906. // value will be populated with the request's response once the request completes
  29907. // successfully.
  29908. //
  29909. // Use "Send" method on the returned Request to send the API call to the service.
  29910. // the "output" return value is not valid until after Send returns without error.
  29911. //
  29912. // See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
  29913. // API call, and error handling.
  29914. //
  29915. // This method is useful when you want to inject custom logic or configuration
  29916. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29917. //
  29918. //
  29919. // // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
  29920. // req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
  29921. //
  29922. // err := req.Send()
  29923. // if err == nil { // resp is now filled
  29924. // fmt.Println(resp)
  29925. // }
  29926. //
  29927. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
  29928. func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
  29929. op := &request.Operation{
  29930. Name: opRegisterTransitGatewayMulticastGroupMembers,
  29931. HTTPMethod: "POST",
  29932. HTTPPath: "/",
  29933. }
  29934. if input == nil {
  29935. input = &RegisterTransitGatewayMulticastGroupMembersInput{}
  29936. }
  29937. output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
  29938. req = c.newRequest(op, input, output)
  29939. return
  29940. }
  29941. // RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
  29942. //
  29943. // Registers members (network interfaces) with the transit gateway multicast
  29944. // group. A member is a network interface associated with a supported EC2 instance
  29945. // that receives multicast traffic. For information about supported instances,
  29946. // see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
  29947. // in Amazon VPC Transit Gateways.
  29948. //
  29949. // After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
  29950. // to verify that the members were added to the transit gateway multicast group.
  29951. //
  29952. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  29953. // with awserr.Error's Code and Message methods to get detailed information about
  29954. // the error.
  29955. //
  29956. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  29957. // API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
  29958. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
  29959. func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
  29960. req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
  29961. return out, req.Send()
  29962. }
  29963. // RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
  29964. // the ability to pass a context and additional request options.
  29965. //
  29966. // See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
  29967. //
  29968. // The context must be non-nil and will be used for request cancellation. If
  29969. // the context is nil a panic will occur. In the future the SDK may create
  29970. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  29971. // for more information on using Contexts.
  29972. func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
  29973. req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
  29974. req.SetContext(ctx)
  29975. req.ApplyOptions(opts...)
  29976. return out, req.Send()
  29977. }
  29978. const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
  29979. // RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
  29980. // client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
  29981. // value will be populated with the request's response once the request completes
  29982. // successfully.
  29983. //
  29984. // Use "Send" method on the returned Request to send the API call to the service.
  29985. // the "output" return value is not valid until after Send returns without error.
  29986. //
  29987. // See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
  29988. // API call, and error handling.
  29989. //
  29990. // This method is useful when you want to inject custom logic or configuration
  29991. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  29992. //
  29993. //
  29994. // // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
  29995. // req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
  29996. //
  29997. // err := req.Send()
  29998. // if err == nil { // resp is now filled
  29999. // fmt.Println(resp)
  30000. // }
  30001. //
  30002. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
  30003. func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
  30004. op := &request.Operation{
  30005. Name: opRegisterTransitGatewayMulticastGroupSources,
  30006. HTTPMethod: "POST",
  30007. HTTPPath: "/",
  30008. }
  30009. if input == nil {
  30010. input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
  30011. }
  30012. output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
  30013. req = c.newRequest(op, input, output)
  30014. return
  30015. }
  30016. // RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
  30017. //
  30018. // Registers sources (network interfaces) with the specified transit gateway
  30019. // multicast group.
  30020. //
  30021. // A multicast source is a network interface attached to a supported instance
  30022. // that sends multicast traffic. For information about supported instances,
  30023. // see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
  30024. // in Amazon VPC Transit Gateways.
  30025. //
  30026. // After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
  30027. // to verify that the source was added to the multicast group.
  30028. //
  30029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30030. // with awserr.Error's Code and Message methods to get detailed information about
  30031. // the error.
  30032. //
  30033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30034. // API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
  30035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
  30036. func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
  30037. req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
  30038. return out, req.Send()
  30039. }
  30040. // RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
  30041. // the ability to pass a context and additional request options.
  30042. //
  30043. // See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
  30044. //
  30045. // The context must be non-nil and will be used for request cancellation. If
  30046. // the context is nil a panic will occur. In the future the SDK may create
  30047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30048. // for more information on using Contexts.
  30049. func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
  30050. req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
  30051. req.SetContext(ctx)
  30052. req.ApplyOptions(opts...)
  30053. return out, req.Send()
  30054. }
  30055. const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
  30056. // RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
  30057. // client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
  30058. // value will be populated with the request's response once the request completes
  30059. // successfully.
  30060. //
  30061. // Use "Send" method on the returned Request to send the API call to the service.
  30062. // the "output" return value is not valid until after Send returns without error.
  30063. //
  30064. // See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
  30065. // API call, and error handling.
  30066. //
  30067. // This method is useful when you want to inject custom logic or configuration
  30068. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30069. //
  30070. //
  30071. // // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
  30072. // req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
  30073. //
  30074. // err := req.Send()
  30075. // if err == nil { // resp is now filled
  30076. // fmt.Println(resp)
  30077. // }
  30078. //
  30079. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
  30080. func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
  30081. op := &request.Operation{
  30082. Name: opRejectTransitGatewayPeeringAttachment,
  30083. HTTPMethod: "POST",
  30084. HTTPPath: "/",
  30085. }
  30086. if input == nil {
  30087. input = &RejectTransitGatewayPeeringAttachmentInput{}
  30088. }
  30089. output = &RejectTransitGatewayPeeringAttachmentOutput{}
  30090. req = c.newRequest(op, input, output)
  30091. return
  30092. }
  30093. // RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
  30094. //
  30095. // Rejects a transit gateway peering attachment request.
  30096. //
  30097. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30098. // with awserr.Error's Code and Message methods to get detailed information about
  30099. // the error.
  30100. //
  30101. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30102. // API operation RejectTransitGatewayPeeringAttachment for usage and error information.
  30103. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
  30104. func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
  30105. req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
  30106. return out, req.Send()
  30107. }
  30108. // RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
  30109. // the ability to pass a context and additional request options.
  30110. //
  30111. // See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
  30112. //
  30113. // The context must be non-nil and will be used for request cancellation. If
  30114. // the context is nil a panic will occur. In the future the SDK may create
  30115. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30116. // for more information on using Contexts.
  30117. func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
  30118. req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
  30119. req.SetContext(ctx)
  30120. req.ApplyOptions(opts...)
  30121. return out, req.Send()
  30122. }
  30123. const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
  30124. // RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  30125. // client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
  30126. // value will be populated with the request's response once the request completes
  30127. // successfully.
  30128. //
  30129. // Use "Send" method on the returned Request to send the API call to the service.
  30130. // the "output" return value is not valid until after Send returns without error.
  30131. //
  30132. // See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
  30133. // API call, and error handling.
  30134. //
  30135. // This method is useful when you want to inject custom logic or configuration
  30136. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30137. //
  30138. //
  30139. // // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
  30140. // req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
  30141. //
  30142. // err := req.Send()
  30143. // if err == nil { // resp is now filled
  30144. // fmt.Println(resp)
  30145. // }
  30146. //
  30147. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
  30148. func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
  30149. op := &request.Operation{
  30150. Name: opRejectTransitGatewayVpcAttachment,
  30151. HTTPMethod: "POST",
  30152. HTTPPath: "/",
  30153. }
  30154. if input == nil {
  30155. input = &RejectTransitGatewayVpcAttachmentInput{}
  30156. }
  30157. output = &RejectTransitGatewayVpcAttachmentOutput{}
  30158. req = c.newRequest(op, input, output)
  30159. return
  30160. }
  30161. // RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  30162. //
  30163. // Rejects a request to attach a VPC to a transit gateway.
  30164. //
  30165. // The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
  30166. // to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
  30167. // to accept a VPC attachment request.
  30168. //
  30169. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30170. // with awserr.Error's Code and Message methods to get detailed information about
  30171. // the error.
  30172. //
  30173. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30174. // API operation RejectTransitGatewayVpcAttachment for usage and error information.
  30175. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
  30176. func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
  30177. req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
  30178. return out, req.Send()
  30179. }
  30180. // RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
  30181. // the ability to pass a context and additional request options.
  30182. //
  30183. // See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
  30184. //
  30185. // The context must be non-nil and will be used for request cancellation. If
  30186. // the context is nil a panic will occur. In the future the SDK may create
  30187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30188. // for more information on using Contexts.
  30189. func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
  30190. req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
  30191. req.SetContext(ctx)
  30192. req.ApplyOptions(opts...)
  30193. return out, req.Send()
  30194. }
  30195. const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
  30196. // RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  30197. // client's request for the RejectVpcEndpointConnections operation. The "output" return
  30198. // value will be populated with the request's response once the request completes
  30199. // successfully.
  30200. //
  30201. // Use "Send" method on the returned Request to send the API call to the service.
  30202. // the "output" return value is not valid until after Send returns without error.
  30203. //
  30204. // See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
  30205. // API call, and error handling.
  30206. //
  30207. // This method is useful when you want to inject custom logic or configuration
  30208. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30209. //
  30210. //
  30211. // // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
  30212. // req, resp := client.RejectVpcEndpointConnectionsRequest(params)
  30213. //
  30214. // err := req.Send()
  30215. // if err == nil { // resp is now filled
  30216. // fmt.Println(resp)
  30217. // }
  30218. //
  30219. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  30220. func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
  30221. op := &request.Operation{
  30222. Name: opRejectVpcEndpointConnections,
  30223. HTTPMethod: "POST",
  30224. HTTPPath: "/",
  30225. }
  30226. if input == nil {
  30227. input = &RejectVpcEndpointConnectionsInput{}
  30228. }
  30229. output = &RejectVpcEndpointConnectionsOutput{}
  30230. req = c.newRequest(op, input, output)
  30231. return
  30232. }
  30233. // RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  30234. //
  30235. // Rejects one or more VPC endpoint connection requests to your VPC endpoint
  30236. // service.
  30237. //
  30238. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30239. // with awserr.Error's Code and Message methods to get detailed information about
  30240. // the error.
  30241. //
  30242. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30243. // API operation RejectVpcEndpointConnections for usage and error information.
  30244. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  30245. func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
  30246. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  30247. return out, req.Send()
  30248. }
  30249. // RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
  30250. // the ability to pass a context and additional request options.
  30251. //
  30252. // See RejectVpcEndpointConnections for details on how to use this API operation.
  30253. //
  30254. // The context must be non-nil and will be used for request cancellation. If
  30255. // the context is nil a panic will occur. In the future the SDK may create
  30256. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30257. // for more information on using Contexts.
  30258. func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
  30259. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  30260. req.SetContext(ctx)
  30261. req.ApplyOptions(opts...)
  30262. return out, req.Send()
  30263. }
  30264. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  30265. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  30266. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  30267. // value will be populated with the request's response once the request completes
  30268. // successfully.
  30269. //
  30270. // Use "Send" method on the returned Request to send the API call to the service.
  30271. // the "output" return value is not valid until after Send returns without error.
  30272. //
  30273. // See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
  30274. // API call, and error handling.
  30275. //
  30276. // This method is useful when you want to inject custom logic or configuration
  30277. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30278. //
  30279. //
  30280. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  30281. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  30282. //
  30283. // err := req.Send()
  30284. // if err == nil { // resp is now filled
  30285. // fmt.Println(resp)
  30286. // }
  30287. //
  30288. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  30289. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  30290. op := &request.Operation{
  30291. Name: opRejectVpcPeeringConnection,
  30292. HTTPMethod: "POST",
  30293. HTTPPath: "/",
  30294. }
  30295. if input == nil {
  30296. input = &RejectVpcPeeringConnectionInput{}
  30297. }
  30298. output = &RejectVpcPeeringConnectionOutput{}
  30299. req = c.newRequest(op, input, output)
  30300. return
  30301. }
  30302. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  30303. //
  30304. // Rejects a VPC peering connection request. The VPC peering connection must
  30305. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  30306. // request to view your outstanding VPC peering connection requests. To delete
  30307. // an active VPC peering connection, or to delete a VPC peering connection request
  30308. // that you initiated, use DeleteVpcPeeringConnection.
  30309. //
  30310. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30311. // with awserr.Error's Code and Message methods to get detailed information about
  30312. // the error.
  30313. //
  30314. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30315. // API operation RejectVpcPeeringConnection for usage and error information.
  30316. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  30317. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  30318. req, out := c.RejectVpcPeeringConnectionRequest(input)
  30319. return out, req.Send()
  30320. }
  30321. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  30322. // the ability to pass a context and additional request options.
  30323. //
  30324. // See RejectVpcPeeringConnection for details on how to use this API operation.
  30325. //
  30326. // The context must be non-nil and will be used for request cancellation. If
  30327. // the context is nil a panic will occur. In the future the SDK may create
  30328. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30329. // for more information on using Contexts.
  30330. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  30331. req, out := c.RejectVpcPeeringConnectionRequest(input)
  30332. req.SetContext(ctx)
  30333. req.ApplyOptions(opts...)
  30334. return out, req.Send()
  30335. }
  30336. const opReleaseAddress = "ReleaseAddress"
  30337. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  30338. // client's request for the ReleaseAddress operation. The "output" return
  30339. // value will be populated with the request's response once the request completes
  30340. // successfully.
  30341. //
  30342. // Use "Send" method on the returned Request to send the API call to the service.
  30343. // the "output" return value is not valid until after Send returns without error.
  30344. //
  30345. // See ReleaseAddress for more information on using the ReleaseAddress
  30346. // API call, and error handling.
  30347. //
  30348. // This method is useful when you want to inject custom logic or configuration
  30349. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30350. //
  30351. //
  30352. // // Example sending a request using the ReleaseAddressRequest method.
  30353. // req, resp := client.ReleaseAddressRequest(params)
  30354. //
  30355. // err := req.Send()
  30356. // if err == nil { // resp is now filled
  30357. // fmt.Println(resp)
  30358. // }
  30359. //
  30360. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  30361. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  30362. op := &request.Operation{
  30363. Name: opReleaseAddress,
  30364. HTTPMethod: "POST",
  30365. HTTPPath: "/",
  30366. }
  30367. if input == nil {
  30368. input = &ReleaseAddressInput{}
  30369. }
  30370. output = &ReleaseAddressOutput{}
  30371. req = c.newRequest(op, input, output)
  30372. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  30373. return
  30374. }
  30375. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  30376. //
  30377. // Releases the specified Elastic IP address.
  30378. //
  30379. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  30380. // disassociates it from any instance that it's associated with. To disassociate
  30381. // an Elastic IP address without releasing it, use DisassociateAddress.
  30382. //
  30383. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  30384. // IP address before you can release it. Otherwise, Amazon EC2 returns an error
  30385. // (InvalidIPAddress.InUse).
  30386. //
  30387. // After releasing an Elastic IP address, it is released to the IP address pool.
  30388. // Be sure to update your DNS records and any servers or devices that communicate
  30389. // with the address. If you attempt to release an Elastic IP address that you
  30390. // already released, you'll get an AuthFailure error if the address is already
  30391. // allocated to another AWS account.
  30392. //
  30393. // [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
  30394. // be able to recover it. For more information, see AllocateAddress.
  30395. //
  30396. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30397. // with awserr.Error's Code and Message methods to get detailed information about
  30398. // the error.
  30399. //
  30400. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30401. // API operation ReleaseAddress for usage and error information.
  30402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  30403. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  30404. req, out := c.ReleaseAddressRequest(input)
  30405. return out, req.Send()
  30406. }
  30407. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  30408. // the ability to pass a context and additional request options.
  30409. //
  30410. // See ReleaseAddress for details on how to use this API operation.
  30411. //
  30412. // The context must be non-nil and will be used for request cancellation. If
  30413. // the context is nil a panic will occur. In the future the SDK may create
  30414. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30415. // for more information on using Contexts.
  30416. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  30417. req, out := c.ReleaseAddressRequest(input)
  30418. req.SetContext(ctx)
  30419. req.ApplyOptions(opts...)
  30420. return out, req.Send()
  30421. }
  30422. const opReleaseHosts = "ReleaseHosts"
  30423. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  30424. // client's request for the ReleaseHosts operation. The "output" return
  30425. // value will be populated with the request's response once the request completes
  30426. // successfully.
  30427. //
  30428. // Use "Send" method on the returned Request to send the API call to the service.
  30429. // the "output" return value is not valid until after Send returns without error.
  30430. //
  30431. // See ReleaseHosts for more information on using the ReleaseHosts
  30432. // API call, and error handling.
  30433. //
  30434. // This method is useful when you want to inject custom logic or configuration
  30435. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30436. //
  30437. //
  30438. // // Example sending a request using the ReleaseHostsRequest method.
  30439. // req, resp := client.ReleaseHostsRequest(params)
  30440. //
  30441. // err := req.Send()
  30442. // if err == nil { // resp is now filled
  30443. // fmt.Println(resp)
  30444. // }
  30445. //
  30446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  30447. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  30448. op := &request.Operation{
  30449. Name: opReleaseHosts,
  30450. HTTPMethod: "POST",
  30451. HTTPPath: "/",
  30452. }
  30453. if input == nil {
  30454. input = &ReleaseHostsInput{}
  30455. }
  30456. output = &ReleaseHostsOutput{}
  30457. req = c.newRequest(op, input, output)
  30458. return
  30459. }
  30460. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  30461. //
  30462. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  30463. // On-Demand billing is stopped and the host goes into released state. The host
  30464. // ID of Dedicated Hosts that have been released can no longer be specified
  30465. // in another request, for example, to modify the host. You must stop or terminate
  30466. // all instances on a host before it can be released.
  30467. //
  30468. // When Dedicated Hosts are released, it may take some time for them to stop
  30469. // counting toward your limit and you may receive capacity errors when trying
  30470. // to allocate new Dedicated Hosts. Wait a few minutes and then try again.
  30471. //
  30472. // Released hosts still appear in a DescribeHosts response.
  30473. //
  30474. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30475. // with awserr.Error's Code and Message methods to get detailed information about
  30476. // the error.
  30477. //
  30478. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30479. // API operation ReleaseHosts for usage and error information.
  30480. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  30481. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  30482. req, out := c.ReleaseHostsRequest(input)
  30483. return out, req.Send()
  30484. }
  30485. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  30486. // the ability to pass a context and additional request options.
  30487. //
  30488. // See ReleaseHosts for details on how to use this API operation.
  30489. //
  30490. // The context must be non-nil and will be used for request cancellation. If
  30491. // the context is nil a panic will occur. In the future the SDK may create
  30492. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30493. // for more information on using Contexts.
  30494. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  30495. req, out := c.ReleaseHostsRequest(input)
  30496. req.SetContext(ctx)
  30497. req.ApplyOptions(opts...)
  30498. return out, req.Send()
  30499. }
  30500. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  30501. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  30502. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  30503. // value will be populated with the request's response once the request completes
  30504. // successfully.
  30505. //
  30506. // Use "Send" method on the returned Request to send the API call to the service.
  30507. // the "output" return value is not valid until after Send returns without error.
  30508. //
  30509. // See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
  30510. // API call, and error handling.
  30511. //
  30512. // This method is useful when you want to inject custom logic or configuration
  30513. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30514. //
  30515. //
  30516. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  30517. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  30518. //
  30519. // err := req.Send()
  30520. // if err == nil { // resp is now filled
  30521. // fmt.Println(resp)
  30522. // }
  30523. //
  30524. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  30525. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  30526. op := &request.Operation{
  30527. Name: opReplaceIamInstanceProfileAssociation,
  30528. HTTPMethod: "POST",
  30529. HTTPPath: "/",
  30530. }
  30531. if input == nil {
  30532. input = &ReplaceIamInstanceProfileAssociationInput{}
  30533. }
  30534. output = &ReplaceIamInstanceProfileAssociationOutput{}
  30535. req = c.newRequest(op, input, output)
  30536. return
  30537. }
  30538. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  30539. //
  30540. // Replaces an IAM instance profile for the specified running instance. You
  30541. // can use this action to change the IAM instance profile that's associated
  30542. // with an instance without having to disassociate the existing IAM instance
  30543. // profile first.
  30544. //
  30545. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  30546. //
  30547. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30548. // with awserr.Error's Code and Message methods to get detailed information about
  30549. // the error.
  30550. //
  30551. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30552. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  30553. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  30554. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  30555. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  30556. return out, req.Send()
  30557. }
  30558. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  30559. // the ability to pass a context and additional request options.
  30560. //
  30561. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  30562. //
  30563. // The context must be non-nil and will be used for request cancellation. If
  30564. // the context is nil a panic will occur. In the future the SDK may create
  30565. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30566. // for more information on using Contexts.
  30567. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  30568. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  30569. req.SetContext(ctx)
  30570. req.ApplyOptions(opts...)
  30571. return out, req.Send()
  30572. }
  30573. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  30574. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  30575. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  30576. // value will be populated with the request's response once the request completes
  30577. // successfully.
  30578. //
  30579. // Use "Send" method on the returned Request to send the API call to the service.
  30580. // the "output" return value is not valid until after Send returns without error.
  30581. //
  30582. // See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
  30583. // API call, and error handling.
  30584. //
  30585. // This method is useful when you want to inject custom logic or configuration
  30586. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30587. //
  30588. //
  30589. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  30590. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  30591. //
  30592. // err := req.Send()
  30593. // if err == nil { // resp is now filled
  30594. // fmt.Println(resp)
  30595. // }
  30596. //
  30597. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  30598. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  30599. op := &request.Operation{
  30600. Name: opReplaceNetworkAclAssociation,
  30601. HTTPMethod: "POST",
  30602. HTTPPath: "/",
  30603. }
  30604. if input == nil {
  30605. input = &ReplaceNetworkAclAssociationInput{}
  30606. }
  30607. output = &ReplaceNetworkAclAssociationOutput{}
  30608. req = c.newRequest(op, input, output)
  30609. return
  30610. }
  30611. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  30612. //
  30613. // Changes which network ACL a subnet is associated with. By default when you
  30614. // create a subnet, it's automatically associated with the default network ACL.
  30615. // For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
  30616. // in the Amazon Virtual Private Cloud User Guide.
  30617. //
  30618. // This is an idempotent operation.
  30619. //
  30620. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30621. // with awserr.Error's Code and Message methods to get detailed information about
  30622. // the error.
  30623. //
  30624. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30625. // API operation ReplaceNetworkAclAssociation for usage and error information.
  30626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  30627. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  30628. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  30629. return out, req.Send()
  30630. }
  30631. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  30632. // the ability to pass a context and additional request options.
  30633. //
  30634. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  30635. //
  30636. // The context must be non-nil and will be used for request cancellation. If
  30637. // the context is nil a panic will occur. In the future the SDK may create
  30638. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30639. // for more information on using Contexts.
  30640. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  30641. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  30642. req.SetContext(ctx)
  30643. req.ApplyOptions(opts...)
  30644. return out, req.Send()
  30645. }
  30646. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  30647. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  30648. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  30649. // value will be populated with the request's response once the request completes
  30650. // successfully.
  30651. //
  30652. // Use "Send" method on the returned Request to send the API call to the service.
  30653. // the "output" return value is not valid until after Send returns without error.
  30654. //
  30655. // See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
  30656. // API call, and error handling.
  30657. //
  30658. // This method is useful when you want to inject custom logic or configuration
  30659. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30660. //
  30661. //
  30662. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  30663. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  30664. //
  30665. // err := req.Send()
  30666. // if err == nil { // resp is now filled
  30667. // fmt.Println(resp)
  30668. // }
  30669. //
  30670. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  30671. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  30672. op := &request.Operation{
  30673. Name: opReplaceNetworkAclEntry,
  30674. HTTPMethod: "POST",
  30675. HTTPPath: "/",
  30676. }
  30677. if input == nil {
  30678. input = &ReplaceNetworkAclEntryInput{}
  30679. }
  30680. output = &ReplaceNetworkAclEntryOutput{}
  30681. req = c.newRequest(op, input, output)
  30682. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  30683. return
  30684. }
  30685. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  30686. //
  30687. // Replaces an entry (rule) in a network ACL. For more information, see Network
  30688. // ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in
  30689. // the Amazon Virtual Private Cloud User Guide.
  30690. //
  30691. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30692. // with awserr.Error's Code and Message methods to get detailed information about
  30693. // the error.
  30694. //
  30695. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30696. // API operation ReplaceNetworkAclEntry for usage and error information.
  30697. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  30698. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  30699. req, out := c.ReplaceNetworkAclEntryRequest(input)
  30700. return out, req.Send()
  30701. }
  30702. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  30703. // the ability to pass a context and additional request options.
  30704. //
  30705. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  30706. //
  30707. // The context must be non-nil and will be used for request cancellation. If
  30708. // the context is nil a panic will occur. In the future the SDK may create
  30709. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30710. // for more information on using Contexts.
  30711. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  30712. req, out := c.ReplaceNetworkAclEntryRequest(input)
  30713. req.SetContext(ctx)
  30714. req.ApplyOptions(opts...)
  30715. return out, req.Send()
  30716. }
  30717. const opReplaceRoute = "ReplaceRoute"
  30718. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  30719. // client's request for the ReplaceRoute operation. The "output" return
  30720. // value will be populated with the request's response once the request completes
  30721. // successfully.
  30722. //
  30723. // Use "Send" method on the returned Request to send the API call to the service.
  30724. // the "output" return value is not valid until after Send returns without error.
  30725. //
  30726. // See ReplaceRoute for more information on using the ReplaceRoute
  30727. // API call, and error handling.
  30728. //
  30729. // This method is useful when you want to inject custom logic or configuration
  30730. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30731. //
  30732. //
  30733. // // Example sending a request using the ReplaceRouteRequest method.
  30734. // req, resp := client.ReplaceRouteRequest(params)
  30735. //
  30736. // err := req.Send()
  30737. // if err == nil { // resp is now filled
  30738. // fmt.Println(resp)
  30739. // }
  30740. //
  30741. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  30742. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  30743. op := &request.Operation{
  30744. Name: opReplaceRoute,
  30745. HTTPMethod: "POST",
  30746. HTTPPath: "/",
  30747. }
  30748. if input == nil {
  30749. input = &ReplaceRouteInput{}
  30750. }
  30751. output = &ReplaceRouteOutput{}
  30752. req = c.newRequest(op, input, output)
  30753. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  30754. return
  30755. }
  30756. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  30757. //
  30758. // Replaces an existing route within a route table in a VPC. You must provide
  30759. // only one of the following: internet gateway, virtual private gateway, NAT
  30760. // instance, NAT gateway, VPC peering connection, network interface, egress-only
  30761. // internet gateway, or transit gateway.
  30762. //
  30763. // For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  30764. // in the Amazon Virtual Private Cloud User Guide.
  30765. //
  30766. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30767. // with awserr.Error's Code and Message methods to get detailed information about
  30768. // the error.
  30769. //
  30770. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30771. // API operation ReplaceRoute for usage and error information.
  30772. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  30773. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  30774. req, out := c.ReplaceRouteRequest(input)
  30775. return out, req.Send()
  30776. }
  30777. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  30778. // the ability to pass a context and additional request options.
  30779. //
  30780. // See ReplaceRoute for details on how to use this API operation.
  30781. //
  30782. // The context must be non-nil and will be used for request cancellation. If
  30783. // the context is nil a panic will occur. In the future the SDK may create
  30784. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30785. // for more information on using Contexts.
  30786. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  30787. req, out := c.ReplaceRouteRequest(input)
  30788. req.SetContext(ctx)
  30789. req.ApplyOptions(opts...)
  30790. return out, req.Send()
  30791. }
  30792. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  30793. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  30794. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  30795. // value will be populated with the request's response once the request completes
  30796. // successfully.
  30797. //
  30798. // Use "Send" method on the returned Request to send the API call to the service.
  30799. // the "output" return value is not valid until after Send returns without error.
  30800. //
  30801. // See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
  30802. // API call, and error handling.
  30803. //
  30804. // This method is useful when you want to inject custom logic or configuration
  30805. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30806. //
  30807. //
  30808. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  30809. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  30810. //
  30811. // err := req.Send()
  30812. // if err == nil { // resp is now filled
  30813. // fmt.Println(resp)
  30814. // }
  30815. //
  30816. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  30817. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  30818. op := &request.Operation{
  30819. Name: opReplaceRouteTableAssociation,
  30820. HTTPMethod: "POST",
  30821. HTTPPath: "/",
  30822. }
  30823. if input == nil {
  30824. input = &ReplaceRouteTableAssociationInput{}
  30825. }
  30826. output = &ReplaceRouteTableAssociationOutput{}
  30827. req = c.newRequest(op, input, output)
  30828. return
  30829. }
  30830. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  30831. //
  30832. // Changes the route table associated with a given subnet, internet gateway,
  30833. // or virtual private gateway in a VPC. After the operation completes, the subnet
  30834. // or gateway uses the routes in the new route table. For more information about
  30835. // route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
  30836. // in the Amazon Virtual Private Cloud User Guide.
  30837. //
  30838. // You can also use this operation to change which table is the main route table
  30839. // in the VPC. Specify the main route table's association ID and the route table
  30840. // ID of the new main route table.
  30841. //
  30842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30843. // with awserr.Error's Code and Message methods to get detailed information about
  30844. // the error.
  30845. //
  30846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30847. // API operation ReplaceRouteTableAssociation for usage and error information.
  30848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  30849. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  30850. req, out := c.ReplaceRouteTableAssociationRequest(input)
  30851. return out, req.Send()
  30852. }
  30853. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  30854. // the ability to pass a context and additional request options.
  30855. //
  30856. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  30857. //
  30858. // The context must be non-nil and will be used for request cancellation. If
  30859. // the context is nil a panic will occur. In the future the SDK may create
  30860. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30861. // for more information on using Contexts.
  30862. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  30863. req, out := c.ReplaceRouteTableAssociationRequest(input)
  30864. req.SetContext(ctx)
  30865. req.ApplyOptions(opts...)
  30866. return out, req.Send()
  30867. }
  30868. const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
  30869. // ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  30870. // client's request for the ReplaceTransitGatewayRoute operation. The "output" return
  30871. // value will be populated with the request's response once the request completes
  30872. // successfully.
  30873. //
  30874. // Use "Send" method on the returned Request to send the API call to the service.
  30875. // the "output" return value is not valid until after Send returns without error.
  30876. //
  30877. // See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
  30878. // API call, and error handling.
  30879. //
  30880. // This method is useful when you want to inject custom logic or configuration
  30881. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30882. //
  30883. //
  30884. // // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
  30885. // req, resp := client.ReplaceTransitGatewayRouteRequest(params)
  30886. //
  30887. // err := req.Send()
  30888. // if err == nil { // resp is now filled
  30889. // fmt.Println(resp)
  30890. // }
  30891. //
  30892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
  30893. func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
  30894. op := &request.Operation{
  30895. Name: opReplaceTransitGatewayRoute,
  30896. HTTPMethod: "POST",
  30897. HTTPPath: "/",
  30898. }
  30899. if input == nil {
  30900. input = &ReplaceTransitGatewayRouteInput{}
  30901. }
  30902. output = &ReplaceTransitGatewayRouteOutput{}
  30903. req = c.newRequest(op, input, output)
  30904. return
  30905. }
  30906. // ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  30907. //
  30908. // Replaces the specified route in the specified transit gateway route table.
  30909. //
  30910. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30911. // with awserr.Error's Code and Message methods to get detailed information about
  30912. // the error.
  30913. //
  30914. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30915. // API operation ReplaceTransitGatewayRoute for usage and error information.
  30916. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
  30917. func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
  30918. req, out := c.ReplaceTransitGatewayRouteRequest(input)
  30919. return out, req.Send()
  30920. }
  30921. // ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
  30922. // the ability to pass a context and additional request options.
  30923. //
  30924. // See ReplaceTransitGatewayRoute for details on how to use this API operation.
  30925. //
  30926. // The context must be non-nil and will be used for request cancellation. If
  30927. // the context is nil a panic will occur. In the future the SDK may create
  30928. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  30929. // for more information on using Contexts.
  30930. func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
  30931. req, out := c.ReplaceTransitGatewayRouteRequest(input)
  30932. req.SetContext(ctx)
  30933. req.ApplyOptions(opts...)
  30934. return out, req.Send()
  30935. }
  30936. const opReportInstanceStatus = "ReportInstanceStatus"
  30937. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  30938. // client's request for the ReportInstanceStatus operation. The "output" return
  30939. // value will be populated with the request's response once the request completes
  30940. // successfully.
  30941. //
  30942. // Use "Send" method on the returned Request to send the API call to the service.
  30943. // the "output" return value is not valid until after Send returns without error.
  30944. //
  30945. // See ReportInstanceStatus for more information on using the ReportInstanceStatus
  30946. // API call, and error handling.
  30947. //
  30948. // This method is useful when you want to inject custom logic or configuration
  30949. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  30950. //
  30951. //
  30952. // // Example sending a request using the ReportInstanceStatusRequest method.
  30953. // req, resp := client.ReportInstanceStatusRequest(params)
  30954. //
  30955. // err := req.Send()
  30956. // if err == nil { // resp is now filled
  30957. // fmt.Println(resp)
  30958. // }
  30959. //
  30960. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  30961. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  30962. op := &request.Operation{
  30963. Name: opReportInstanceStatus,
  30964. HTTPMethod: "POST",
  30965. HTTPPath: "/",
  30966. }
  30967. if input == nil {
  30968. input = &ReportInstanceStatusInput{}
  30969. }
  30970. output = &ReportInstanceStatusOutput{}
  30971. req = c.newRequest(op, input, output)
  30972. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  30973. return
  30974. }
  30975. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  30976. //
  30977. // Submits feedback about the status of an instance. The instance must be in
  30978. // the running state. If your experience with the instance differs from the
  30979. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  30980. // to report your experience with the instance. Amazon EC2 collects this information
  30981. // to improve the accuracy of status checks.
  30982. //
  30983. // Use of this action does not change the value returned by DescribeInstanceStatus.
  30984. //
  30985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  30986. // with awserr.Error's Code and Message methods to get detailed information about
  30987. // the error.
  30988. //
  30989. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  30990. // API operation ReportInstanceStatus for usage and error information.
  30991. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  30992. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  30993. req, out := c.ReportInstanceStatusRequest(input)
  30994. return out, req.Send()
  30995. }
  30996. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  30997. // the ability to pass a context and additional request options.
  30998. //
  30999. // See ReportInstanceStatus for details on how to use this API operation.
  31000. //
  31001. // The context must be non-nil and will be used for request cancellation. If
  31002. // the context is nil a panic will occur. In the future the SDK may create
  31003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31004. // for more information on using Contexts.
  31005. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  31006. req, out := c.ReportInstanceStatusRequest(input)
  31007. req.SetContext(ctx)
  31008. req.ApplyOptions(opts...)
  31009. return out, req.Send()
  31010. }
  31011. const opRequestSpotFleet = "RequestSpotFleet"
  31012. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  31013. // client's request for the RequestSpotFleet operation. The "output" return
  31014. // value will be populated with the request's response once the request completes
  31015. // successfully.
  31016. //
  31017. // Use "Send" method on the returned Request to send the API call to the service.
  31018. // the "output" return value is not valid until after Send returns without error.
  31019. //
  31020. // See RequestSpotFleet for more information on using the RequestSpotFleet
  31021. // API call, and error handling.
  31022. //
  31023. // This method is useful when you want to inject custom logic or configuration
  31024. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31025. //
  31026. //
  31027. // // Example sending a request using the RequestSpotFleetRequest method.
  31028. // req, resp := client.RequestSpotFleetRequest(params)
  31029. //
  31030. // err := req.Send()
  31031. // if err == nil { // resp is now filled
  31032. // fmt.Println(resp)
  31033. // }
  31034. //
  31035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  31036. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  31037. op := &request.Operation{
  31038. Name: opRequestSpotFleet,
  31039. HTTPMethod: "POST",
  31040. HTTPPath: "/",
  31041. }
  31042. if input == nil {
  31043. input = &RequestSpotFleetInput{}
  31044. }
  31045. output = &RequestSpotFleetOutput{}
  31046. req = c.newRequest(op, input, output)
  31047. return
  31048. }
  31049. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  31050. //
  31051. // Creates a Spot Fleet request.
  31052. //
  31053. // The Spot Fleet request specifies the total target capacity and the On-Demand
  31054. // target capacity. Amazon EC2 calculates the difference between the total capacity
  31055. // and On-Demand capacity, and launches the difference as Spot capacity.
  31056. //
  31057. // You can submit a single request that includes multiple launch specifications
  31058. // that vary by instance type, AMI, Availability Zone, or subnet.
  31059. //
  31060. // By default, the Spot Fleet requests Spot Instances in the Spot Instance pool
  31061. // where the price per unit is the lowest. Each launch specification can include
  31062. // its own instance weighting that reflects the value of the instance type to
  31063. // your application workload.
  31064. //
  31065. // Alternatively, you can specify that the Spot Fleet distribute the target
  31066. // capacity across the Spot pools included in its launch specifications. By
  31067. // ensuring that the Spot Instances in your Spot Fleet are in different Spot
  31068. // pools, you can improve the availability of your fleet.
  31069. //
  31070. // You can specify tags for the Spot Instances. You cannot tag other resource
  31071. // types in a Spot Fleet request because only the instance resource type is
  31072. // supported.
  31073. //
  31074. // For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  31075. // in the Amazon EC2 User Guide for Linux Instances.
  31076. //
  31077. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31078. // with awserr.Error's Code and Message methods to get detailed information about
  31079. // the error.
  31080. //
  31081. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31082. // API operation RequestSpotFleet for usage and error information.
  31083. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  31084. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  31085. req, out := c.RequestSpotFleetRequest(input)
  31086. return out, req.Send()
  31087. }
  31088. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  31089. // the ability to pass a context and additional request options.
  31090. //
  31091. // See RequestSpotFleet for details on how to use this API operation.
  31092. //
  31093. // The context must be non-nil and will be used for request cancellation. If
  31094. // the context is nil a panic will occur. In the future the SDK may create
  31095. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31096. // for more information on using Contexts.
  31097. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  31098. req, out := c.RequestSpotFleetRequest(input)
  31099. req.SetContext(ctx)
  31100. req.ApplyOptions(opts...)
  31101. return out, req.Send()
  31102. }
  31103. const opRequestSpotInstances = "RequestSpotInstances"
  31104. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  31105. // client's request for the RequestSpotInstances operation. The "output" return
  31106. // value will be populated with the request's response once the request completes
  31107. // successfully.
  31108. //
  31109. // Use "Send" method on the returned Request to send the API call to the service.
  31110. // the "output" return value is not valid until after Send returns without error.
  31111. //
  31112. // See RequestSpotInstances for more information on using the RequestSpotInstances
  31113. // API call, and error handling.
  31114. //
  31115. // This method is useful when you want to inject custom logic or configuration
  31116. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31117. //
  31118. //
  31119. // // Example sending a request using the RequestSpotInstancesRequest method.
  31120. // req, resp := client.RequestSpotInstancesRequest(params)
  31121. //
  31122. // err := req.Send()
  31123. // if err == nil { // resp is now filled
  31124. // fmt.Println(resp)
  31125. // }
  31126. //
  31127. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  31128. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  31129. op := &request.Operation{
  31130. Name: opRequestSpotInstances,
  31131. HTTPMethod: "POST",
  31132. HTTPPath: "/",
  31133. }
  31134. if input == nil {
  31135. input = &RequestSpotInstancesInput{}
  31136. }
  31137. output = &RequestSpotInstancesOutput{}
  31138. req = c.newRequest(op, input, output)
  31139. return
  31140. }
  31141. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  31142. //
  31143. // Creates a Spot Instance request.
  31144. //
  31145. // For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  31146. // in the Amazon EC2 User Guide for Linux Instances.
  31147. //
  31148. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31149. // with awserr.Error's Code and Message methods to get detailed information about
  31150. // the error.
  31151. //
  31152. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31153. // API operation RequestSpotInstances for usage and error information.
  31154. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  31155. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  31156. req, out := c.RequestSpotInstancesRequest(input)
  31157. return out, req.Send()
  31158. }
  31159. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  31160. // the ability to pass a context and additional request options.
  31161. //
  31162. // See RequestSpotInstances for details on how to use this API operation.
  31163. //
  31164. // The context must be non-nil and will be used for request cancellation. If
  31165. // the context is nil a panic will occur. In the future the SDK may create
  31166. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31167. // for more information on using Contexts.
  31168. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  31169. req, out := c.RequestSpotInstancesRequest(input)
  31170. req.SetContext(ctx)
  31171. req.ApplyOptions(opts...)
  31172. return out, req.Send()
  31173. }
  31174. const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
  31175. // ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
  31176. // client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
  31177. // value will be populated with the request's response once the request completes
  31178. // successfully.
  31179. //
  31180. // Use "Send" method on the returned Request to send the API call to the service.
  31181. // the "output" return value is not valid until after Send returns without error.
  31182. //
  31183. // See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
  31184. // API call, and error handling.
  31185. //
  31186. // This method is useful when you want to inject custom logic or configuration
  31187. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31188. //
  31189. //
  31190. // // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
  31191. // req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
  31192. //
  31193. // err := req.Send()
  31194. // if err == nil { // resp is now filled
  31195. // fmt.Println(resp)
  31196. // }
  31197. //
  31198. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
  31199. func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
  31200. op := &request.Operation{
  31201. Name: opResetEbsDefaultKmsKeyId,
  31202. HTTPMethod: "POST",
  31203. HTTPPath: "/",
  31204. }
  31205. if input == nil {
  31206. input = &ResetEbsDefaultKmsKeyIdInput{}
  31207. }
  31208. output = &ResetEbsDefaultKmsKeyIdOutput{}
  31209. req = c.newRequest(op, input, output)
  31210. return
  31211. }
  31212. // ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
  31213. //
  31214. // Resets the default customer master key (CMK) for EBS encryption for your
  31215. // account in this Region to the AWS managed CMK for EBS.
  31216. //
  31217. // After resetting the default CMK to the AWS managed CMK, you can continue
  31218. // to encrypt by a customer managed CMK by specifying it when you create the
  31219. // volume. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  31220. // in the Amazon Elastic Compute Cloud User Guide.
  31221. //
  31222. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31223. // with awserr.Error's Code and Message methods to get detailed information about
  31224. // the error.
  31225. //
  31226. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31227. // API operation ResetEbsDefaultKmsKeyId for usage and error information.
  31228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
  31229. func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
  31230. req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
  31231. return out, req.Send()
  31232. }
  31233. // ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
  31234. // the ability to pass a context and additional request options.
  31235. //
  31236. // See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
  31237. //
  31238. // The context must be non-nil and will be used for request cancellation. If
  31239. // the context is nil a panic will occur. In the future the SDK may create
  31240. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31241. // for more information on using Contexts.
  31242. func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
  31243. req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
  31244. req.SetContext(ctx)
  31245. req.ApplyOptions(opts...)
  31246. return out, req.Send()
  31247. }
  31248. const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
  31249. // ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  31250. // client's request for the ResetFpgaImageAttribute operation. The "output" return
  31251. // value will be populated with the request's response once the request completes
  31252. // successfully.
  31253. //
  31254. // Use "Send" method on the returned Request to send the API call to the service.
  31255. // the "output" return value is not valid until after Send returns without error.
  31256. //
  31257. // See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
  31258. // API call, and error handling.
  31259. //
  31260. // This method is useful when you want to inject custom logic or configuration
  31261. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31262. //
  31263. //
  31264. // // Example sending a request using the ResetFpgaImageAttributeRequest method.
  31265. // req, resp := client.ResetFpgaImageAttributeRequest(params)
  31266. //
  31267. // err := req.Send()
  31268. // if err == nil { // resp is now filled
  31269. // fmt.Println(resp)
  31270. // }
  31271. //
  31272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  31273. func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
  31274. op := &request.Operation{
  31275. Name: opResetFpgaImageAttribute,
  31276. HTTPMethod: "POST",
  31277. HTTPPath: "/",
  31278. }
  31279. if input == nil {
  31280. input = &ResetFpgaImageAttributeInput{}
  31281. }
  31282. output = &ResetFpgaImageAttributeOutput{}
  31283. req = c.newRequest(op, input, output)
  31284. return
  31285. }
  31286. // ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  31287. //
  31288. // Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
  31289. // its default value. You can only reset the load permission attribute.
  31290. //
  31291. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31292. // with awserr.Error's Code and Message methods to get detailed information about
  31293. // the error.
  31294. //
  31295. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31296. // API operation ResetFpgaImageAttribute for usage and error information.
  31297. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  31298. func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
  31299. req, out := c.ResetFpgaImageAttributeRequest(input)
  31300. return out, req.Send()
  31301. }
  31302. // ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
  31303. // the ability to pass a context and additional request options.
  31304. //
  31305. // See ResetFpgaImageAttribute for details on how to use this API operation.
  31306. //
  31307. // The context must be non-nil and will be used for request cancellation. If
  31308. // the context is nil a panic will occur. In the future the SDK may create
  31309. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31310. // for more information on using Contexts.
  31311. func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
  31312. req, out := c.ResetFpgaImageAttributeRequest(input)
  31313. req.SetContext(ctx)
  31314. req.ApplyOptions(opts...)
  31315. return out, req.Send()
  31316. }
  31317. const opResetImageAttribute = "ResetImageAttribute"
  31318. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  31319. // client's request for the ResetImageAttribute operation. The "output" return
  31320. // value will be populated with the request's response once the request completes
  31321. // successfully.
  31322. //
  31323. // Use "Send" method on the returned Request to send the API call to the service.
  31324. // the "output" return value is not valid until after Send returns without error.
  31325. //
  31326. // See ResetImageAttribute for more information on using the ResetImageAttribute
  31327. // API call, and error handling.
  31328. //
  31329. // This method is useful when you want to inject custom logic or configuration
  31330. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31331. //
  31332. //
  31333. // // Example sending a request using the ResetImageAttributeRequest method.
  31334. // req, resp := client.ResetImageAttributeRequest(params)
  31335. //
  31336. // err := req.Send()
  31337. // if err == nil { // resp is now filled
  31338. // fmt.Println(resp)
  31339. // }
  31340. //
  31341. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  31342. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  31343. op := &request.Operation{
  31344. Name: opResetImageAttribute,
  31345. HTTPMethod: "POST",
  31346. HTTPPath: "/",
  31347. }
  31348. if input == nil {
  31349. input = &ResetImageAttributeInput{}
  31350. }
  31351. output = &ResetImageAttributeOutput{}
  31352. req = c.newRequest(op, input, output)
  31353. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31354. return
  31355. }
  31356. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  31357. //
  31358. // Resets an attribute of an AMI to its default value.
  31359. //
  31360. // The productCodes attribute can't be reset.
  31361. //
  31362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31363. // with awserr.Error's Code and Message methods to get detailed information about
  31364. // the error.
  31365. //
  31366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31367. // API operation ResetImageAttribute for usage and error information.
  31368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  31369. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  31370. req, out := c.ResetImageAttributeRequest(input)
  31371. return out, req.Send()
  31372. }
  31373. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  31374. // the ability to pass a context and additional request options.
  31375. //
  31376. // See ResetImageAttribute for details on how to use this API operation.
  31377. //
  31378. // The context must be non-nil and will be used for request cancellation. If
  31379. // the context is nil a panic will occur. In the future the SDK may create
  31380. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31381. // for more information on using Contexts.
  31382. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  31383. req, out := c.ResetImageAttributeRequest(input)
  31384. req.SetContext(ctx)
  31385. req.ApplyOptions(opts...)
  31386. return out, req.Send()
  31387. }
  31388. const opResetInstanceAttribute = "ResetInstanceAttribute"
  31389. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  31390. // client's request for the ResetInstanceAttribute operation. The "output" return
  31391. // value will be populated with the request's response once the request completes
  31392. // successfully.
  31393. //
  31394. // Use "Send" method on the returned Request to send the API call to the service.
  31395. // the "output" return value is not valid until after Send returns without error.
  31396. //
  31397. // See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
  31398. // API call, and error handling.
  31399. //
  31400. // This method is useful when you want to inject custom logic or configuration
  31401. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31402. //
  31403. //
  31404. // // Example sending a request using the ResetInstanceAttributeRequest method.
  31405. // req, resp := client.ResetInstanceAttributeRequest(params)
  31406. //
  31407. // err := req.Send()
  31408. // if err == nil { // resp is now filled
  31409. // fmt.Println(resp)
  31410. // }
  31411. //
  31412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  31413. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  31414. op := &request.Operation{
  31415. Name: opResetInstanceAttribute,
  31416. HTTPMethod: "POST",
  31417. HTTPPath: "/",
  31418. }
  31419. if input == nil {
  31420. input = &ResetInstanceAttributeInput{}
  31421. }
  31422. output = &ResetInstanceAttributeOutput{}
  31423. req = c.newRequest(op, input, output)
  31424. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31425. return
  31426. }
  31427. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  31428. //
  31429. // Resets an attribute of an instance to its default value. To reset the kernel
  31430. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  31431. // the instance can be either running or stopped.
  31432. //
  31433. // The sourceDestCheck attribute controls whether source/destination checking
  31434. // is enabled. The default value is true, which means checking is enabled. This
  31435. // value must be false for a NAT instance to perform NAT. For more information,
  31436. // see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  31437. // in the Amazon Virtual Private Cloud User Guide.
  31438. //
  31439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31440. // with awserr.Error's Code and Message methods to get detailed information about
  31441. // the error.
  31442. //
  31443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31444. // API operation ResetInstanceAttribute for usage and error information.
  31445. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  31446. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  31447. req, out := c.ResetInstanceAttributeRequest(input)
  31448. return out, req.Send()
  31449. }
  31450. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  31451. // the ability to pass a context and additional request options.
  31452. //
  31453. // See ResetInstanceAttribute for details on how to use this API operation.
  31454. //
  31455. // The context must be non-nil and will be used for request cancellation. If
  31456. // the context is nil a panic will occur. In the future the SDK may create
  31457. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31458. // for more information on using Contexts.
  31459. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  31460. req, out := c.ResetInstanceAttributeRequest(input)
  31461. req.SetContext(ctx)
  31462. req.ApplyOptions(opts...)
  31463. return out, req.Send()
  31464. }
  31465. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  31466. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  31467. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  31468. // value will be populated with the request's response once the request completes
  31469. // successfully.
  31470. //
  31471. // Use "Send" method on the returned Request to send the API call to the service.
  31472. // the "output" return value is not valid until after Send returns without error.
  31473. //
  31474. // See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
  31475. // API call, and error handling.
  31476. //
  31477. // This method is useful when you want to inject custom logic or configuration
  31478. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31479. //
  31480. //
  31481. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  31482. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  31483. //
  31484. // err := req.Send()
  31485. // if err == nil { // resp is now filled
  31486. // fmt.Println(resp)
  31487. // }
  31488. //
  31489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  31490. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  31491. op := &request.Operation{
  31492. Name: opResetNetworkInterfaceAttribute,
  31493. HTTPMethod: "POST",
  31494. HTTPPath: "/",
  31495. }
  31496. if input == nil {
  31497. input = &ResetNetworkInterfaceAttributeInput{}
  31498. }
  31499. output = &ResetNetworkInterfaceAttributeOutput{}
  31500. req = c.newRequest(op, input, output)
  31501. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31502. return
  31503. }
  31504. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  31505. //
  31506. // Resets a network interface attribute. You can specify only one attribute
  31507. // at a time.
  31508. //
  31509. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31510. // with awserr.Error's Code and Message methods to get detailed information about
  31511. // the error.
  31512. //
  31513. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31514. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  31515. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  31516. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  31517. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  31518. return out, req.Send()
  31519. }
  31520. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  31521. // the ability to pass a context and additional request options.
  31522. //
  31523. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  31524. //
  31525. // The context must be non-nil and will be used for request cancellation. If
  31526. // the context is nil a panic will occur. In the future the SDK may create
  31527. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31528. // for more information on using Contexts.
  31529. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  31530. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  31531. req.SetContext(ctx)
  31532. req.ApplyOptions(opts...)
  31533. return out, req.Send()
  31534. }
  31535. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  31536. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  31537. // client's request for the ResetSnapshotAttribute operation. The "output" return
  31538. // value will be populated with the request's response once the request completes
  31539. // successfully.
  31540. //
  31541. // Use "Send" method on the returned Request to send the API call to the service.
  31542. // the "output" return value is not valid until after Send returns without error.
  31543. //
  31544. // See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
  31545. // API call, and error handling.
  31546. //
  31547. // This method is useful when you want to inject custom logic or configuration
  31548. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31549. //
  31550. //
  31551. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  31552. // req, resp := client.ResetSnapshotAttributeRequest(params)
  31553. //
  31554. // err := req.Send()
  31555. // if err == nil { // resp is now filled
  31556. // fmt.Println(resp)
  31557. // }
  31558. //
  31559. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  31560. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  31561. op := &request.Operation{
  31562. Name: opResetSnapshotAttribute,
  31563. HTTPMethod: "POST",
  31564. HTTPPath: "/",
  31565. }
  31566. if input == nil {
  31567. input = &ResetSnapshotAttributeInput{}
  31568. }
  31569. output = &ResetSnapshotAttributeOutput{}
  31570. req = c.newRequest(op, input, output)
  31571. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31572. return
  31573. }
  31574. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  31575. //
  31576. // Resets permission settings for the specified snapshot.
  31577. //
  31578. // For more information about modifying snapshot permissions, see Sharing Snapshots
  31579. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  31580. // in the Amazon Elastic Compute Cloud User Guide.
  31581. //
  31582. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31583. // with awserr.Error's Code and Message methods to get detailed information about
  31584. // the error.
  31585. //
  31586. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31587. // API operation ResetSnapshotAttribute for usage and error information.
  31588. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  31589. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  31590. req, out := c.ResetSnapshotAttributeRequest(input)
  31591. return out, req.Send()
  31592. }
  31593. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  31594. // the ability to pass a context and additional request options.
  31595. //
  31596. // See ResetSnapshotAttribute for details on how to use this API operation.
  31597. //
  31598. // The context must be non-nil and will be used for request cancellation. If
  31599. // the context is nil a panic will occur. In the future the SDK may create
  31600. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31601. // for more information on using Contexts.
  31602. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  31603. req, out := c.ResetSnapshotAttributeRequest(input)
  31604. req.SetContext(ctx)
  31605. req.ApplyOptions(opts...)
  31606. return out, req.Send()
  31607. }
  31608. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  31609. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  31610. // client's request for the RestoreAddressToClassic operation. The "output" return
  31611. // value will be populated with the request's response once the request completes
  31612. // successfully.
  31613. //
  31614. // Use "Send" method on the returned Request to send the API call to the service.
  31615. // the "output" return value is not valid until after Send returns without error.
  31616. //
  31617. // See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
  31618. // API call, and error handling.
  31619. //
  31620. // This method is useful when you want to inject custom logic or configuration
  31621. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31622. //
  31623. //
  31624. // // Example sending a request using the RestoreAddressToClassicRequest method.
  31625. // req, resp := client.RestoreAddressToClassicRequest(params)
  31626. //
  31627. // err := req.Send()
  31628. // if err == nil { // resp is now filled
  31629. // fmt.Println(resp)
  31630. // }
  31631. //
  31632. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  31633. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  31634. op := &request.Operation{
  31635. Name: opRestoreAddressToClassic,
  31636. HTTPMethod: "POST",
  31637. HTTPPath: "/",
  31638. }
  31639. if input == nil {
  31640. input = &RestoreAddressToClassicInput{}
  31641. }
  31642. output = &RestoreAddressToClassicOutput{}
  31643. req = c.newRequest(op, input, output)
  31644. return
  31645. }
  31646. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  31647. //
  31648. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  31649. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  31650. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  31651. // not be associated with an instance or network interface.
  31652. //
  31653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31654. // with awserr.Error's Code and Message methods to get detailed information about
  31655. // the error.
  31656. //
  31657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31658. // API operation RestoreAddressToClassic for usage and error information.
  31659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  31660. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  31661. req, out := c.RestoreAddressToClassicRequest(input)
  31662. return out, req.Send()
  31663. }
  31664. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  31665. // the ability to pass a context and additional request options.
  31666. //
  31667. // See RestoreAddressToClassic for details on how to use this API operation.
  31668. //
  31669. // The context must be non-nil and will be used for request cancellation. If
  31670. // the context is nil a panic will occur. In the future the SDK may create
  31671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31672. // for more information on using Contexts.
  31673. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  31674. req, out := c.RestoreAddressToClassicRequest(input)
  31675. req.SetContext(ctx)
  31676. req.ApplyOptions(opts...)
  31677. return out, req.Send()
  31678. }
  31679. const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
  31680. // RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
  31681. // client's request for the RevokeClientVpnIngress operation. The "output" return
  31682. // value will be populated with the request's response once the request completes
  31683. // successfully.
  31684. //
  31685. // Use "Send" method on the returned Request to send the API call to the service.
  31686. // the "output" return value is not valid until after Send returns without error.
  31687. //
  31688. // See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
  31689. // API call, and error handling.
  31690. //
  31691. // This method is useful when you want to inject custom logic or configuration
  31692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31693. //
  31694. //
  31695. // // Example sending a request using the RevokeClientVpnIngressRequest method.
  31696. // req, resp := client.RevokeClientVpnIngressRequest(params)
  31697. //
  31698. // err := req.Send()
  31699. // if err == nil { // resp is now filled
  31700. // fmt.Println(resp)
  31701. // }
  31702. //
  31703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
  31704. func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
  31705. op := &request.Operation{
  31706. Name: opRevokeClientVpnIngress,
  31707. HTTPMethod: "POST",
  31708. HTTPPath: "/",
  31709. }
  31710. if input == nil {
  31711. input = &RevokeClientVpnIngressInput{}
  31712. }
  31713. output = &RevokeClientVpnIngressOutput{}
  31714. req = c.newRequest(op, input, output)
  31715. return
  31716. }
  31717. // RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
  31718. //
  31719. // Removes an ingress authorization rule from a Client VPN endpoint.
  31720. //
  31721. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31722. // with awserr.Error's Code and Message methods to get detailed information about
  31723. // the error.
  31724. //
  31725. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31726. // API operation RevokeClientVpnIngress for usage and error information.
  31727. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
  31728. func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
  31729. req, out := c.RevokeClientVpnIngressRequest(input)
  31730. return out, req.Send()
  31731. }
  31732. // RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
  31733. // the ability to pass a context and additional request options.
  31734. //
  31735. // See RevokeClientVpnIngress for details on how to use this API operation.
  31736. //
  31737. // The context must be non-nil and will be used for request cancellation. If
  31738. // the context is nil a panic will occur. In the future the SDK may create
  31739. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31740. // for more information on using Contexts.
  31741. func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
  31742. req, out := c.RevokeClientVpnIngressRequest(input)
  31743. req.SetContext(ctx)
  31744. req.ApplyOptions(opts...)
  31745. return out, req.Send()
  31746. }
  31747. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  31748. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  31749. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  31750. // value will be populated with the request's response once the request completes
  31751. // successfully.
  31752. //
  31753. // Use "Send" method on the returned Request to send the API call to the service.
  31754. // the "output" return value is not valid until after Send returns without error.
  31755. //
  31756. // See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
  31757. // API call, and error handling.
  31758. //
  31759. // This method is useful when you want to inject custom logic or configuration
  31760. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31761. //
  31762. //
  31763. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  31764. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  31765. //
  31766. // err := req.Send()
  31767. // if err == nil { // resp is now filled
  31768. // fmt.Println(resp)
  31769. // }
  31770. //
  31771. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  31772. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  31773. op := &request.Operation{
  31774. Name: opRevokeSecurityGroupEgress,
  31775. HTTPMethod: "POST",
  31776. HTTPPath: "/",
  31777. }
  31778. if input == nil {
  31779. input = &RevokeSecurityGroupEgressInput{}
  31780. }
  31781. output = &RevokeSecurityGroupEgressOutput{}
  31782. req = c.newRequest(op, input, output)
  31783. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31784. return
  31785. }
  31786. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  31787. //
  31788. // [VPC only] Removes the specified egress rules from a security group for EC2-VPC.
  31789. // This action doesn't apply to security groups for use in EC2-Classic. To remove
  31790. // a rule, the values that you specify (for example, ports) must match the existing
  31791. // rule's values exactly.
  31792. //
  31793. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  31794. // security group. For the TCP and UDP protocols, you must also specify the
  31795. // destination port or range of ports. For the ICMP protocol, you must also
  31796. // specify the ICMP type and code. If the security group rule has a description,
  31797. // you do not have to specify the description to revoke the rule.
  31798. //
  31799. // Rule changes are propagated to instances within the security group as quickly
  31800. // as possible. However, a small delay might occur.
  31801. //
  31802. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31803. // with awserr.Error's Code and Message methods to get detailed information about
  31804. // the error.
  31805. //
  31806. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31807. // API operation RevokeSecurityGroupEgress for usage and error information.
  31808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  31809. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  31810. req, out := c.RevokeSecurityGroupEgressRequest(input)
  31811. return out, req.Send()
  31812. }
  31813. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  31814. // the ability to pass a context and additional request options.
  31815. //
  31816. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  31817. //
  31818. // The context must be non-nil and will be used for request cancellation. If
  31819. // the context is nil a panic will occur. In the future the SDK may create
  31820. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31821. // for more information on using Contexts.
  31822. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  31823. req, out := c.RevokeSecurityGroupEgressRequest(input)
  31824. req.SetContext(ctx)
  31825. req.ApplyOptions(opts...)
  31826. return out, req.Send()
  31827. }
  31828. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  31829. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  31830. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  31831. // value will be populated with the request's response once the request completes
  31832. // successfully.
  31833. //
  31834. // Use "Send" method on the returned Request to send the API call to the service.
  31835. // the "output" return value is not valid until after Send returns without error.
  31836. //
  31837. // See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
  31838. // API call, and error handling.
  31839. //
  31840. // This method is useful when you want to inject custom logic or configuration
  31841. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31842. //
  31843. //
  31844. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  31845. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  31846. //
  31847. // err := req.Send()
  31848. // if err == nil { // resp is now filled
  31849. // fmt.Println(resp)
  31850. // }
  31851. //
  31852. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  31853. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  31854. op := &request.Operation{
  31855. Name: opRevokeSecurityGroupIngress,
  31856. HTTPMethod: "POST",
  31857. HTTPPath: "/",
  31858. }
  31859. if input == nil {
  31860. input = &RevokeSecurityGroupIngressInput{}
  31861. }
  31862. output = &RevokeSecurityGroupIngressOutput{}
  31863. req = c.newRequest(op, input, output)
  31864. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  31865. return
  31866. }
  31867. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  31868. //
  31869. // Removes the specified ingress rules from a security group. To remove a rule,
  31870. // the values that you specify (for example, ports) must match the existing
  31871. // rule's values exactly.
  31872. //
  31873. // [EC2-Classic only] If the values you specify do not match the existing rule's
  31874. // values, no error is returned. Use DescribeSecurityGroups to verify that the
  31875. // rule has been removed.
  31876. //
  31877. // Each rule consists of the protocol and the CIDR range or source security
  31878. // group. For the TCP and UDP protocols, you must also specify the destination
  31879. // port or range of ports. For the ICMP protocol, you must also specify the
  31880. // ICMP type and code. If the security group rule has a description, you do
  31881. // not have to specify the description to revoke the rule.
  31882. //
  31883. // Rule changes are propagated to instances within the security group as quickly
  31884. // as possible. However, a small delay might occur.
  31885. //
  31886. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  31887. // with awserr.Error's Code and Message methods to get detailed information about
  31888. // the error.
  31889. //
  31890. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  31891. // API operation RevokeSecurityGroupIngress for usage and error information.
  31892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  31893. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  31894. req, out := c.RevokeSecurityGroupIngressRequest(input)
  31895. return out, req.Send()
  31896. }
  31897. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  31898. // the ability to pass a context and additional request options.
  31899. //
  31900. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  31901. //
  31902. // The context must be non-nil and will be used for request cancellation. If
  31903. // the context is nil a panic will occur. In the future the SDK may create
  31904. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  31905. // for more information on using Contexts.
  31906. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  31907. req, out := c.RevokeSecurityGroupIngressRequest(input)
  31908. req.SetContext(ctx)
  31909. req.ApplyOptions(opts...)
  31910. return out, req.Send()
  31911. }
  31912. const opRunInstances = "RunInstances"
  31913. // RunInstancesRequest generates a "aws/request.Request" representing the
  31914. // client's request for the RunInstances operation. The "output" return
  31915. // value will be populated with the request's response once the request completes
  31916. // successfully.
  31917. //
  31918. // Use "Send" method on the returned Request to send the API call to the service.
  31919. // the "output" return value is not valid until after Send returns without error.
  31920. //
  31921. // See RunInstances for more information on using the RunInstances
  31922. // API call, and error handling.
  31923. //
  31924. // This method is useful when you want to inject custom logic or configuration
  31925. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  31926. //
  31927. //
  31928. // // Example sending a request using the RunInstancesRequest method.
  31929. // req, resp := client.RunInstancesRequest(params)
  31930. //
  31931. // err := req.Send()
  31932. // if err == nil { // resp is now filled
  31933. // fmt.Println(resp)
  31934. // }
  31935. //
  31936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  31937. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  31938. op := &request.Operation{
  31939. Name: opRunInstances,
  31940. HTTPMethod: "POST",
  31941. HTTPPath: "/",
  31942. }
  31943. if input == nil {
  31944. input = &RunInstancesInput{}
  31945. }
  31946. output = &Reservation{}
  31947. req = c.newRequest(op, input, output)
  31948. return
  31949. }
  31950. // RunInstances API operation for Amazon Elastic Compute Cloud.
  31951. //
  31952. // Launches the specified number of instances using an AMI for which you have
  31953. // permissions.
  31954. //
  31955. // You can specify a number of options, or leave the default options. The following
  31956. // rules apply:
  31957. //
  31958. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  31959. // from your default VPC for you. If you don't have a default VPC, you must
  31960. // specify a subnet ID in the request.
  31961. //
  31962. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  31963. // you.
  31964. //
  31965. // * Some instance types must be launched into a VPC. If you do not have
  31966. // a default VPC, or if you do not specify a subnet ID, the request fails.
  31967. // For more information, see Instance Types Available Only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
  31968. //
  31969. // * [EC2-VPC] All instances have a network interface with a primary private
  31970. // IPv4 address. If you don't specify this address, we choose one from the
  31971. // IPv4 range of your subnet.
  31972. //
  31973. // * Not all instance types support IPv6 addresses. For more information,
  31974. // see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  31975. //
  31976. // * If you don't specify a security group ID, we use the default security
  31977. // group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  31978. //
  31979. // * If any of the AMIs have a product code attached for which the user has
  31980. // not subscribed, the request fails.
  31981. //
  31982. // You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
  31983. // which is a resource that contains the parameters to launch an instance. When
  31984. // you launch an instance using RunInstances, you can specify the launch template
  31985. // instead of specifying the launch parameters.
  31986. //
  31987. // To ensure faster instance launches, break up large requests into smaller
  31988. // batches. For example, create five separate launch requests for 100 instances
  31989. // each instead of one launch request for 500 instances.
  31990. //
  31991. // An instance is ready for you to use when it's in the running state. You can
  31992. // check the state of your instance using DescribeInstances. You can tag instances
  31993. // and EBS volumes during launch, after launch, or both. For more information,
  31994. // see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  31995. //
  31996. // Linux instances have access to the public key of the key pair at boot. You
  31997. // can use this key to provide secure access to the instance. Amazon EC2 public
  31998. // images use this feature to provide secure access without passwords. For more
  31999. // information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  32000. // in the Amazon Elastic Compute Cloud User Guide.
  32001. //
  32002. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  32003. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  32004. // and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  32005. // in the Amazon Elastic Compute Cloud User Guide.
  32006. //
  32007. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32008. // with awserr.Error's Code and Message methods to get detailed information about
  32009. // the error.
  32010. //
  32011. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32012. // API operation RunInstances for usage and error information.
  32013. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  32014. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  32015. req, out := c.RunInstancesRequest(input)
  32016. return out, req.Send()
  32017. }
  32018. // RunInstancesWithContext is the same as RunInstances with the addition of
  32019. // the ability to pass a context and additional request options.
  32020. //
  32021. // See RunInstances for details on how to use this API operation.
  32022. //
  32023. // The context must be non-nil and will be used for request cancellation. If
  32024. // the context is nil a panic will occur. In the future the SDK may create
  32025. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32026. // for more information on using Contexts.
  32027. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  32028. req, out := c.RunInstancesRequest(input)
  32029. req.SetContext(ctx)
  32030. req.ApplyOptions(opts...)
  32031. return out, req.Send()
  32032. }
  32033. const opRunScheduledInstances = "RunScheduledInstances"
  32034. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  32035. // client's request for the RunScheduledInstances operation. The "output" return
  32036. // value will be populated with the request's response once the request completes
  32037. // successfully.
  32038. //
  32039. // Use "Send" method on the returned Request to send the API call to the service.
  32040. // the "output" return value is not valid until after Send returns without error.
  32041. //
  32042. // See RunScheduledInstances for more information on using the RunScheduledInstances
  32043. // API call, and error handling.
  32044. //
  32045. // This method is useful when you want to inject custom logic or configuration
  32046. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32047. //
  32048. //
  32049. // // Example sending a request using the RunScheduledInstancesRequest method.
  32050. // req, resp := client.RunScheduledInstancesRequest(params)
  32051. //
  32052. // err := req.Send()
  32053. // if err == nil { // resp is now filled
  32054. // fmt.Println(resp)
  32055. // }
  32056. //
  32057. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  32058. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  32059. op := &request.Operation{
  32060. Name: opRunScheduledInstances,
  32061. HTTPMethod: "POST",
  32062. HTTPPath: "/",
  32063. }
  32064. if input == nil {
  32065. input = &RunScheduledInstancesInput{}
  32066. }
  32067. output = &RunScheduledInstancesOutput{}
  32068. req = c.newRequest(op, input, output)
  32069. return
  32070. }
  32071. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  32072. //
  32073. // Launches the specified Scheduled Instances.
  32074. //
  32075. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  32076. // an identifier using PurchaseScheduledInstances.
  32077. //
  32078. // You must launch a Scheduled Instance during its scheduled time period. You
  32079. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  32080. // If you terminate a Scheduled Instance before the current scheduled time period
  32081. // ends, you can launch it again after a few minutes. For more information,
  32082. // see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  32083. // in the Amazon Elastic Compute Cloud User Guide.
  32084. //
  32085. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32086. // with awserr.Error's Code and Message methods to get detailed information about
  32087. // the error.
  32088. //
  32089. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32090. // API operation RunScheduledInstances for usage and error information.
  32091. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  32092. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  32093. req, out := c.RunScheduledInstancesRequest(input)
  32094. return out, req.Send()
  32095. }
  32096. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  32097. // the ability to pass a context and additional request options.
  32098. //
  32099. // See RunScheduledInstances for details on how to use this API operation.
  32100. //
  32101. // The context must be non-nil and will be used for request cancellation. If
  32102. // the context is nil a panic will occur. In the future the SDK may create
  32103. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32104. // for more information on using Contexts.
  32105. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  32106. req, out := c.RunScheduledInstancesRequest(input)
  32107. req.SetContext(ctx)
  32108. req.ApplyOptions(opts...)
  32109. return out, req.Send()
  32110. }
  32111. const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
  32112. // SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
  32113. // client's request for the SearchLocalGatewayRoutes operation. The "output" return
  32114. // value will be populated with the request's response once the request completes
  32115. // successfully.
  32116. //
  32117. // Use "Send" method on the returned Request to send the API call to the service.
  32118. // the "output" return value is not valid until after Send returns without error.
  32119. //
  32120. // See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
  32121. // API call, and error handling.
  32122. //
  32123. // This method is useful when you want to inject custom logic or configuration
  32124. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32125. //
  32126. //
  32127. // // Example sending a request using the SearchLocalGatewayRoutesRequest method.
  32128. // req, resp := client.SearchLocalGatewayRoutesRequest(params)
  32129. //
  32130. // err := req.Send()
  32131. // if err == nil { // resp is now filled
  32132. // fmt.Println(resp)
  32133. // }
  32134. //
  32135. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
  32136. func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
  32137. op := &request.Operation{
  32138. Name: opSearchLocalGatewayRoutes,
  32139. HTTPMethod: "POST",
  32140. HTTPPath: "/",
  32141. }
  32142. if input == nil {
  32143. input = &SearchLocalGatewayRoutesInput{}
  32144. }
  32145. output = &SearchLocalGatewayRoutesOutput{}
  32146. req = c.newRequest(op, input, output)
  32147. return
  32148. }
  32149. // SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
  32150. //
  32151. // Searches for routes in the specified local gateway route table.
  32152. //
  32153. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32154. // with awserr.Error's Code and Message methods to get detailed information about
  32155. // the error.
  32156. //
  32157. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32158. // API operation SearchLocalGatewayRoutes for usage and error information.
  32159. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
  32160. func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
  32161. req, out := c.SearchLocalGatewayRoutesRequest(input)
  32162. return out, req.Send()
  32163. }
  32164. // SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
  32165. // the ability to pass a context and additional request options.
  32166. //
  32167. // See SearchLocalGatewayRoutes for details on how to use this API operation.
  32168. //
  32169. // The context must be non-nil and will be used for request cancellation. If
  32170. // the context is nil a panic will occur. In the future the SDK may create
  32171. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32172. // for more information on using Contexts.
  32173. func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
  32174. req, out := c.SearchLocalGatewayRoutesRequest(input)
  32175. req.SetContext(ctx)
  32176. req.ApplyOptions(opts...)
  32177. return out, req.Send()
  32178. }
  32179. const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
  32180. // SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
  32181. // client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
  32182. // value will be populated with the request's response once the request completes
  32183. // successfully.
  32184. //
  32185. // Use "Send" method on the returned Request to send the API call to the service.
  32186. // the "output" return value is not valid until after Send returns without error.
  32187. //
  32188. // See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
  32189. // API call, and error handling.
  32190. //
  32191. // This method is useful when you want to inject custom logic or configuration
  32192. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32193. //
  32194. //
  32195. // // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
  32196. // req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
  32197. //
  32198. // err := req.Send()
  32199. // if err == nil { // resp is now filled
  32200. // fmt.Println(resp)
  32201. // }
  32202. //
  32203. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
  32204. func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
  32205. op := &request.Operation{
  32206. Name: opSearchTransitGatewayMulticastGroups,
  32207. HTTPMethod: "POST",
  32208. HTTPPath: "/",
  32209. }
  32210. if input == nil {
  32211. input = &SearchTransitGatewayMulticastGroupsInput{}
  32212. }
  32213. output = &SearchTransitGatewayMulticastGroupsOutput{}
  32214. req = c.newRequest(op, input, output)
  32215. return
  32216. }
  32217. // SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
  32218. //
  32219. // Searches one or more transit gateway multicast groups and returns the group
  32220. // membership information.
  32221. //
  32222. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32223. // with awserr.Error's Code and Message methods to get detailed information about
  32224. // the error.
  32225. //
  32226. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32227. // API operation SearchTransitGatewayMulticastGroups for usage and error information.
  32228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
  32229. func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
  32230. req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
  32231. return out, req.Send()
  32232. }
  32233. // SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
  32234. // the ability to pass a context and additional request options.
  32235. //
  32236. // See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
  32237. //
  32238. // The context must be non-nil and will be used for request cancellation. If
  32239. // the context is nil a panic will occur. In the future the SDK may create
  32240. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32241. // for more information on using Contexts.
  32242. func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
  32243. req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
  32244. req.SetContext(ctx)
  32245. req.ApplyOptions(opts...)
  32246. return out, req.Send()
  32247. }
  32248. const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
  32249. // SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
  32250. // client's request for the SearchTransitGatewayRoutes operation. The "output" return
  32251. // value will be populated with the request's response once the request completes
  32252. // successfully.
  32253. //
  32254. // Use "Send" method on the returned Request to send the API call to the service.
  32255. // the "output" return value is not valid until after Send returns without error.
  32256. //
  32257. // See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
  32258. // API call, and error handling.
  32259. //
  32260. // This method is useful when you want to inject custom logic or configuration
  32261. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32262. //
  32263. //
  32264. // // Example sending a request using the SearchTransitGatewayRoutesRequest method.
  32265. // req, resp := client.SearchTransitGatewayRoutesRequest(params)
  32266. //
  32267. // err := req.Send()
  32268. // if err == nil { // resp is now filled
  32269. // fmt.Println(resp)
  32270. // }
  32271. //
  32272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
  32273. func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
  32274. op := &request.Operation{
  32275. Name: opSearchTransitGatewayRoutes,
  32276. HTTPMethod: "POST",
  32277. HTTPPath: "/",
  32278. }
  32279. if input == nil {
  32280. input = &SearchTransitGatewayRoutesInput{}
  32281. }
  32282. output = &SearchTransitGatewayRoutesOutput{}
  32283. req = c.newRequest(op, input, output)
  32284. return
  32285. }
  32286. // SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
  32287. //
  32288. // Searches for routes in the specified transit gateway route table.
  32289. //
  32290. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32291. // with awserr.Error's Code and Message methods to get detailed information about
  32292. // the error.
  32293. //
  32294. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32295. // API operation SearchTransitGatewayRoutes for usage and error information.
  32296. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
  32297. func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
  32298. req, out := c.SearchTransitGatewayRoutesRequest(input)
  32299. return out, req.Send()
  32300. }
  32301. // SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
  32302. // the ability to pass a context and additional request options.
  32303. //
  32304. // See SearchTransitGatewayRoutes for details on how to use this API operation.
  32305. //
  32306. // The context must be non-nil and will be used for request cancellation. If
  32307. // the context is nil a panic will occur. In the future the SDK may create
  32308. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32309. // for more information on using Contexts.
  32310. func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
  32311. req, out := c.SearchTransitGatewayRoutesRequest(input)
  32312. req.SetContext(ctx)
  32313. req.ApplyOptions(opts...)
  32314. return out, req.Send()
  32315. }
  32316. const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt"
  32317. // SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the
  32318. // client's request for the SendDiagnosticInterrupt operation. The "output" return
  32319. // value will be populated with the request's response once the request completes
  32320. // successfully.
  32321. //
  32322. // Use "Send" method on the returned Request to send the API call to the service.
  32323. // the "output" return value is not valid until after Send returns without error.
  32324. //
  32325. // See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt
  32326. // API call, and error handling.
  32327. //
  32328. // This method is useful when you want to inject custom logic or configuration
  32329. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32330. //
  32331. //
  32332. // // Example sending a request using the SendDiagnosticInterruptRequest method.
  32333. // req, resp := client.SendDiagnosticInterruptRequest(params)
  32334. //
  32335. // err := req.Send()
  32336. // if err == nil { // resp is now filled
  32337. // fmt.Println(resp)
  32338. // }
  32339. //
  32340. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
  32341. func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) {
  32342. op := &request.Operation{
  32343. Name: opSendDiagnosticInterrupt,
  32344. HTTPMethod: "POST",
  32345. HTTPPath: "/",
  32346. }
  32347. if input == nil {
  32348. input = &SendDiagnosticInterruptInput{}
  32349. }
  32350. output = &SendDiagnosticInterruptOutput{}
  32351. req = c.newRequest(op, input, output)
  32352. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  32353. return
  32354. }
  32355. // SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud.
  32356. //
  32357. // Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
  32358. // a kernel panic (on Linux instances), or a blue screen/stop error (on Windows
  32359. // instances). For instances based on Intel and AMD processors, the interrupt
  32360. // is received as a non-maskable interrupt (NMI).
  32361. //
  32362. // In general, the operating system crashes and reboots when a kernel panic
  32363. // or stop error is triggered. The operating system can also be configured to
  32364. // perform diagnostic tasks, such as generating a memory dump file, loading
  32365. // a secondary kernel, or obtaining a call trace.
  32366. //
  32367. // Before sending a diagnostic interrupt to your instance, ensure that its operating
  32368. // system is configured to perform the required diagnostic tasks.
  32369. //
  32370. // For more information about configuring your operating system to generate
  32371. // a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic
  32372. // Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html)
  32373. // (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html)
  32374. // (Windows instances).
  32375. //
  32376. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32377. // with awserr.Error's Code and Message methods to get detailed information about
  32378. // the error.
  32379. //
  32380. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32381. // API operation SendDiagnosticInterrupt for usage and error information.
  32382. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
  32383. func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) {
  32384. req, out := c.SendDiagnosticInterruptRequest(input)
  32385. return out, req.Send()
  32386. }
  32387. // SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of
  32388. // the ability to pass a context and additional request options.
  32389. //
  32390. // See SendDiagnosticInterrupt for details on how to use this API operation.
  32391. //
  32392. // The context must be non-nil and will be used for request cancellation. If
  32393. // the context is nil a panic will occur. In the future the SDK may create
  32394. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32395. // for more information on using Contexts.
  32396. func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) {
  32397. req, out := c.SendDiagnosticInterruptRequest(input)
  32398. req.SetContext(ctx)
  32399. req.ApplyOptions(opts...)
  32400. return out, req.Send()
  32401. }
  32402. const opStartInstances = "StartInstances"
  32403. // StartInstancesRequest generates a "aws/request.Request" representing the
  32404. // client's request for the StartInstances operation. The "output" return
  32405. // value will be populated with the request's response once the request completes
  32406. // successfully.
  32407. //
  32408. // Use "Send" method on the returned Request to send the API call to the service.
  32409. // the "output" return value is not valid until after Send returns without error.
  32410. //
  32411. // See StartInstances for more information on using the StartInstances
  32412. // API call, and error handling.
  32413. //
  32414. // This method is useful when you want to inject custom logic or configuration
  32415. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32416. //
  32417. //
  32418. // // Example sending a request using the StartInstancesRequest method.
  32419. // req, resp := client.StartInstancesRequest(params)
  32420. //
  32421. // err := req.Send()
  32422. // if err == nil { // resp is now filled
  32423. // fmt.Println(resp)
  32424. // }
  32425. //
  32426. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  32427. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  32428. op := &request.Operation{
  32429. Name: opStartInstances,
  32430. HTTPMethod: "POST",
  32431. HTTPPath: "/",
  32432. }
  32433. if input == nil {
  32434. input = &StartInstancesInput{}
  32435. }
  32436. output = &StartInstancesOutput{}
  32437. req = c.newRequest(op, input, output)
  32438. return
  32439. }
  32440. // StartInstances API operation for Amazon Elastic Compute Cloud.
  32441. //
  32442. // Starts an Amazon EBS-backed instance that you've previously stopped.
  32443. //
  32444. // Instances that use Amazon EBS volumes as their root devices can be quickly
  32445. // stopped and started. When an instance is stopped, the compute resources are
  32446. // released and you are not billed for instance usage. However, your root partition
  32447. // Amazon EBS volume remains and continues to persist your data, and you are
  32448. // charged for Amazon EBS volume usage. You can restart your instance at any
  32449. // time. Every time you start your Windows instance, Amazon EC2 charges you
  32450. // for a full instance hour. If you stop and restart your Windows instance,
  32451. // a new instance hour begins and Amazon EC2 charges you for another full instance
  32452. // hour even if you are still within the same 60-minute period when it was stopped.
  32453. // Every time you start your Linux instance, Amazon EC2 charges a one-minute
  32454. // minimum for instance usage, and thereafter charges per second for instance
  32455. // usage.
  32456. //
  32457. // Before stopping an instance, make sure it is in a state from which it can
  32458. // be restarted. Stopping an instance does not preserve data stored in RAM.
  32459. //
  32460. // Performing this operation on an instance that uses an instance store as its
  32461. // root device returns an error.
  32462. //
  32463. // For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  32464. // in the Amazon Elastic Compute Cloud User Guide.
  32465. //
  32466. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32467. // with awserr.Error's Code and Message methods to get detailed information about
  32468. // the error.
  32469. //
  32470. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32471. // API operation StartInstances for usage and error information.
  32472. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  32473. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  32474. req, out := c.StartInstancesRequest(input)
  32475. return out, req.Send()
  32476. }
  32477. // StartInstancesWithContext is the same as StartInstances with the addition of
  32478. // the ability to pass a context and additional request options.
  32479. //
  32480. // See StartInstances for details on how to use this API operation.
  32481. //
  32482. // The context must be non-nil and will be used for request cancellation. If
  32483. // the context is nil a panic will occur. In the future the SDK may create
  32484. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32485. // for more information on using Contexts.
  32486. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  32487. req, out := c.StartInstancesRequest(input)
  32488. req.SetContext(ctx)
  32489. req.ApplyOptions(opts...)
  32490. return out, req.Send()
  32491. }
  32492. const opStartVpcEndpointServicePrivateDnsVerification = "StartVpcEndpointServicePrivateDnsVerification"
  32493. // StartVpcEndpointServicePrivateDnsVerificationRequest generates a "aws/request.Request" representing the
  32494. // client's request for the StartVpcEndpointServicePrivateDnsVerification operation. The "output" return
  32495. // value will be populated with the request's response once the request completes
  32496. // successfully.
  32497. //
  32498. // Use "Send" method on the returned Request to send the API call to the service.
  32499. // the "output" return value is not valid until after Send returns without error.
  32500. //
  32501. // See StartVpcEndpointServicePrivateDnsVerification for more information on using the StartVpcEndpointServicePrivateDnsVerification
  32502. // API call, and error handling.
  32503. //
  32504. // This method is useful when you want to inject custom logic or configuration
  32505. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32506. //
  32507. //
  32508. // // Example sending a request using the StartVpcEndpointServicePrivateDnsVerificationRequest method.
  32509. // req, resp := client.StartVpcEndpointServicePrivateDnsVerificationRequest(params)
  32510. //
  32511. // err := req.Send()
  32512. // if err == nil { // resp is now filled
  32513. // fmt.Println(resp)
  32514. // }
  32515. //
  32516. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
  32517. func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationRequest(input *StartVpcEndpointServicePrivateDnsVerificationInput) (req *request.Request, output *StartVpcEndpointServicePrivateDnsVerificationOutput) {
  32518. op := &request.Operation{
  32519. Name: opStartVpcEndpointServicePrivateDnsVerification,
  32520. HTTPMethod: "POST",
  32521. HTTPPath: "/",
  32522. }
  32523. if input == nil {
  32524. input = &StartVpcEndpointServicePrivateDnsVerificationInput{}
  32525. }
  32526. output = &StartVpcEndpointServicePrivateDnsVerificationOutput{}
  32527. req = c.newRequest(op, input, output)
  32528. return
  32529. }
  32530. // StartVpcEndpointServicePrivateDnsVerification API operation for Amazon Elastic Compute Cloud.
  32531. //
  32532. // Initiates the verification process to prove that the service provider owns
  32533. // the private DNS name domain for the endpoint service.
  32534. //
  32535. // The service provider must successfully perform the verification before the
  32536. // consumer can use the name to access the service.
  32537. //
  32538. // Before the service provider runs this command, they must add a record to
  32539. // the DNS server. For more information, see Adding a TXT Record to Your Domain's
  32540. // DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record)
  32541. // in the Amazon VPC User Guide.
  32542. //
  32543. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32544. // with awserr.Error's Code and Message methods to get detailed information about
  32545. // the error.
  32546. //
  32547. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32548. // API operation StartVpcEndpointServicePrivateDnsVerification for usage and error information.
  32549. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
  32550. func (c *EC2) StartVpcEndpointServicePrivateDnsVerification(input *StartVpcEndpointServicePrivateDnsVerificationInput) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
  32551. req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
  32552. return out, req.Send()
  32553. }
  32554. // StartVpcEndpointServicePrivateDnsVerificationWithContext is the same as StartVpcEndpointServicePrivateDnsVerification with the addition of
  32555. // the ability to pass a context and additional request options.
  32556. //
  32557. // See StartVpcEndpointServicePrivateDnsVerification for details on how to use this API operation.
  32558. //
  32559. // The context must be non-nil and will be used for request cancellation. If
  32560. // the context is nil a panic will occur. In the future the SDK may create
  32561. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32562. // for more information on using Contexts.
  32563. func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationWithContext(ctx aws.Context, input *StartVpcEndpointServicePrivateDnsVerificationInput, opts ...request.Option) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
  32564. req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
  32565. req.SetContext(ctx)
  32566. req.ApplyOptions(opts...)
  32567. return out, req.Send()
  32568. }
  32569. const opStopInstances = "StopInstances"
  32570. // StopInstancesRequest generates a "aws/request.Request" representing the
  32571. // client's request for the StopInstances operation. The "output" return
  32572. // value will be populated with the request's response once the request completes
  32573. // successfully.
  32574. //
  32575. // Use "Send" method on the returned Request to send the API call to the service.
  32576. // the "output" return value is not valid until after Send returns without error.
  32577. //
  32578. // See StopInstances for more information on using the StopInstances
  32579. // API call, and error handling.
  32580. //
  32581. // This method is useful when you want to inject custom logic or configuration
  32582. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32583. //
  32584. //
  32585. // // Example sending a request using the StopInstancesRequest method.
  32586. // req, resp := client.StopInstancesRequest(params)
  32587. //
  32588. // err := req.Send()
  32589. // if err == nil { // resp is now filled
  32590. // fmt.Println(resp)
  32591. // }
  32592. //
  32593. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  32594. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  32595. op := &request.Operation{
  32596. Name: opStopInstances,
  32597. HTTPMethod: "POST",
  32598. HTTPPath: "/",
  32599. }
  32600. if input == nil {
  32601. input = &StopInstancesInput{}
  32602. }
  32603. output = &StopInstancesOutput{}
  32604. req = c.newRequest(op, input, output)
  32605. return
  32606. }
  32607. // StopInstances API operation for Amazon Elastic Compute Cloud.
  32608. //
  32609. // Stops an Amazon EBS-backed instance.
  32610. //
  32611. // You can use the Stop action to hibernate an instance if the instance is enabled
  32612. // for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
  32613. // and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  32614. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  32615. // in the Amazon Elastic Compute Cloud User Guide.
  32616. //
  32617. // We don't charge usage for a stopped instance, or data transfer fees; however,
  32618. // your root partition Amazon EBS volume remains and continues to persist your
  32619. // data, and you are charged for Amazon EBS volume usage. Every time you start
  32620. // your Windows instance, Amazon EC2 charges you for a full instance hour. If
  32621. // you stop and restart your Windows instance, a new instance hour begins and
  32622. // Amazon EC2 charges you for another full instance hour even if you are still
  32623. // within the same 60-minute period when it was stopped. Every time you start
  32624. // your Linux instance, Amazon EC2 charges a one-minute minimum for instance
  32625. // usage, and thereafter charges per second for instance usage.
  32626. //
  32627. // You can't start, stop, or hibernate Spot Instances, and you can't stop or
  32628. // hibernate instance store-backed instances. For information about using hibernation
  32629. // for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
  32630. // in the Amazon Elastic Compute Cloud User Guide.
  32631. //
  32632. // When you stop or hibernate an instance, we shut it down. You can restart
  32633. // your instance at any time. Before stopping or hibernating an instance, make
  32634. // sure it is in a state from which it can be restarted. Stopping an instance
  32635. // does not preserve data stored in RAM, but hibernating an instance does preserve
  32636. // data stored in RAM. If an instance cannot hibernate successfully, a normal
  32637. // shutdown occurs.
  32638. //
  32639. // Stopping and hibernating an instance is different to rebooting or terminating
  32640. // it. For example, when you stop or hibernate an instance, the root device
  32641. // and any other devices attached to the instance persist. When you terminate
  32642. // an instance, the root device and any other devices attached during the instance
  32643. // launch are automatically deleted. For more information about the differences
  32644. // between rebooting, stopping, hibernating, and terminating instances, see
  32645. // Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  32646. // in the Amazon Elastic Compute Cloud User Guide.
  32647. //
  32648. // When you stop an instance, we attempt to shut it down forcibly after a short
  32649. // while. If your instance appears stuck in the stopping state after a period
  32650. // of time, there may be an issue with the underlying host computer. For more
  32651. // information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  32652. // in the Amazon Elastic Compute Cloud User Guide.
  32653. //
  32654. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32655. // with awserr.Error's Code and Message methods to get detailed information about
  32656. // the error.
  32657. //
  32658. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32659. // API operation StopInstances for usage and error information.
  32660. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  32661. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  32662. req, out := c.StopInstancesRequest(input)
  32663. return out, req.Send()
  32664. }
  32665. // StopInstancesWithContext is the same as StopInstances with the addition of
  32666. // the ability to pass a context and additional request options.
  32667. //
  32668. // See StopInstances for details on how to use this API operation.
  32669. //
  32670. // The context must be non-nil and will be used for request cancellation. If
  32671. // the context is nil a panic will occur. In the future the SDK may create
  32672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32673. // for more information on using Contexts.
  32674. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  32675. req, out := c.StopInstancesRequest(input)
  32676. req.SetContext(ctx)
  32677. req.ApplyOptions(opts...)
  32678. return out, req.Send()
  32679. }
  32680. const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
  32681. // TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
  32682. // client's request for the TerminateClientVpnConnections operation. The "output" return
  32683. // value will be populated with the request's response once the request completes
  32684. // successfully.
  32685. //
  32686. // Use "Send" method on the returned Request to send the API call to the service.
  32687. // the "output" return value is not valid until after Send returns without error.
  32688. //
  32689. // See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
  32690. // API call, and error handling.
  32691. //
  32692. // This method is useful when you want to inject custom logic or configuration
  32693. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32694. //
  32695. //
  32696. // // Example sending a request using the TerminateClientVpnConnectionsRequest method.
  32697. // req, resp := client.TerminateClientVpnConnectionsRequest(params)
  32698. //
  32699. // err := req.Send()
  32700. // if err == nil { // resp is now filled
  32701. // fmt.Println(resp)
  32702. // }
  32703. //
  32704. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
  32705. func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
  32706. op := &request.Operation{
  32707. Name: opTerminateClientVpnConnections,
  32708. HTTPMethod: "POST",
  32709. HTTPPath: "/",
  32710. }
  32711. if input == nil {
  32712. input = &TerminateClientVpnConnectionsInput{}
  32713. }
  32714. output = &TerminateClientVpnConnectionsOutput{}
  32715. req = c.newRequest(op, input, output)
  32716. return
  32717. }
  32718. // TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
  32719. //
  32720. // Terminates active Client VPN endpoint connections. This action can be used
  32721. // to terminate a specific client connection, or up to five connections established
  32722. // by a specific user.
  32723. //
  32724. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32725. // with awserr.Error's Code and Message methods to get detailed information about
  32726. // the error.
  32727. //
  32728. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32729. // API operation TerminateClientVpnConnections for usage and error information.
  32730. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
  32731. func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
  32732. req, out := c.TerminateClientVpnConnectionsRequest(input)
  32733. return out, req.Send()
  32734. }
  32735. // TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
  32736. // the ability to pass a context and additional request options.
  32737. //
  32738. // See TerminateClientVpnConnections for details on how to use this API operation.
  32739. //
  32740. // The context must be non-nil and will be used for request cancellation. If
  32741. // the context is nil a panic will occur. In the future the SDK may create
  32742. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32743. // for more information on using Contexts.
  32744. func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
  32745. req, out := c.TerminateClientVpnConnectionsRequest(input)
  32746. req.SetContext(ctx)
  32747. req.ApplyOptions(opts...)
  32748. return out, req.Send()
  32749. }
  32750. const opTerminateInstances = "TerminateInstances"
  32751. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  32752. // client's request for the TerminateInstances operation. The "output" return
  32753. // value will be populated with the request's response once the request completes
  32754. // successfully.
  32755. //
  32756. // Use "Send" method on the returned Request to send the API call to the service.
  32757. // the "output" return value is not valid until after Send returns without error.
  32758. //
  32759. // See TerminateInstances for more information on using the TerminateInstances
  32760. // API call, and error handling.
  32761. //
  32762. // This method is useful when you want to inject custom logic or configuration
  32763. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32764. //
  32765. //
  32766. // // Example sending a request using the TerminateInstancesRequest method.
  32767. // req, resp := client.TerminateInstancesRequest(params)
  32768. //
  32769. // err := req.Send()
  32770. // if err == nil { // resp is now filled
  32771. // fmt.Println(resp)
  32772. // }
  32773. //
  32774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  32775. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  32776. op := &request.Operation{
  32777. Name: opTerminateInstances,
  32778. HTTPMethod: "POST",
  32779. HTTPPath: "/",
  32780. }
  32781. if input == nil {
  32782. input = &TerminateInstancesInput{}
  32783. }
  32784. output = &TerminateInstancesOutput{}
  32785. req = c.newRequest(op, input, output)
  32786. return
  32787. }
  32788. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  32789. //
  32790. // Shuts down the specified instances. This operation is idempotent; if you
  32791. // terminate an instance more than once, each call succeeds.
  32792. //
  32793. // If you specify multiple instances and the request fails (for example, because
  32794. // of a single incorrect instance ID), none of the instances are terminated.
  32795. //
  32796. // Terminated instances remain visible after termination (for approximately
  32797. // one hour).
  32798. //
  32799. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  32800. // instance launched. Volumes attached after instance launch continue running.
  32801. //
  32802. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  32803. // instance store-backed instances. What happens to an instance differs if you
  32804. // stop it or terminate it. For example, when you stop an instance, the root
  32805. // device and any other devices attached to the instance persist. When you terminate
  32806. // an instance, any attached EBS volumes with the DeleteOnTermination block
  32807. // device mapping parameter set to true are automatically deleted. For more
  32808. // information about the differences between stopping and terminating instances,
  32809. // see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  32810. // in the Amazon Elastic Compute Cloud User Guide.
  32811. //
  32812. // For more information about troubleshooting, see Troubleshooting Terminating
  32813. // Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  32814. // in the Amazon Elastic Compute Cloud User Guide.
  32815. //
  32816. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32817. // with awserr.Error's Code and Message methods to get detailed information about
  32818. // the error.
  32819. //
  32820. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32821. // API operation TerminateInstances for usage and error information.
  32822. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  32823. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  32824. req, out := c.TerminateInstancesRequest(input)
  32825. return out, req.Send()
  32826. }
  32827. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  32828. // the ability to pass a context and additional request options.
  32829. //
  32830. // See TerminateInstances for details on how to use this API operation.
  32831. //
  32832. // The context must be non-nil and will be used for request cancellation. If
  32833. // the context is nil a panic will occur. In the future the SDK may create
  32834. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32835. // for more information on using Contexts.
  32836. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  32837. req, out := c.TerminateInstancesRequest(input)
  32838. req.SetContext(ctx)
  32839. req.ApplyOptions(opts...)
  32840. return out, req.Send()
  32841. }
  32842. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  32843. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  32844. // client's request for the UnassignIpv6Addresses operation. The "output" return
  32845. // value will be populated with the request's response once the request completes
  32846. // successfully.
  32847. //
  32848. // Use "Send" method on the returned Request to send the API call to the service.
  32849. // the "output" return value is not valid until after Send returns without error.
  32850. //
  32851. // See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
  32852. // API call, and error handling.
  32853. //
  32854. // This method is useful when you want to inject custom logic or configuration
  32855. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32856. //
  32857. //
  32858. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  32859. // req, resp := client.UnassignIpv6AddressesRequest(params)
  32860. //
  32861. // err := req.Send()
  32862. // if err == nil { // resp is now filled
  32863. // fmt.Println(resp)
  32864. // }
  32865. //
  32866. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  32867. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  32868. op := &request.Operation{
  32869. Name: opUnassignIpv6Addresses,
  32870. HTTPMethod: "POST",
  32871. HTTPPath: "/",
  32872. }
  32873. if input == nil {
  32874. input = &UnassignIpv6AddressesInput{}
  32875. }
  32876. output = &UnassignIpv6AddressesOutput{}
  32877. req = c.newRequest(op, input, output)
  32878. return
  32879. }
  32880. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  32881. //
  32882. // Unassigns one or more IPv6 addresses from a network interface.
  32883. //
  32884. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32885. // with awserr.Error's Code and Message methods to get detailed information about
  32886. // the error.
  32887. //
  32888. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32889. // API operation UnassignIpv6Addresses for usage and error information.
  32890. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  32891. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  32892. req, out := c.UnassignIpv6AddressesRequest(input)
  32893. return out, req.Send()
  32894. }
  32895. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  32896. // the ability to pass a context and additional request options.
  32897. //
  32898. // See UnassignIpv6Addresses for details on how to use this API operation.
  32899. //
  32900. // The context must be non-nil and will be used for request cancellation. If
  32901. // the context is nil a panic will occur. In the future the SDK may create
  32902. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32903. // for more information on using Contexts.
  32904. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  32905. req, out := c.UnassignIpv6AddressesRequest(input)
  32906. req.SetContext(ctx)
  32907. req.ApplyOptions(opts...)
  32908. return out, req.Send()
  32909. }
  32910. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  32911. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  32912. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  32913. // value will be populated with the request's response once the request completes
  32914. // successfully.
  32915. //
  32916. // Use "Send" method on the returned Request to send the API call to the service.
  32917. // the "output" return value is not valid until after Send returns without error.
  32918. //
  32919. // See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
  32920. // API call, and error handling.
  32921. //
  32922. // This method is useful when you want to inject custom logic or configuration
  32923. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32924. //
  32925. //
  32926. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  32927. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  32928. //
  32929. // err := req.Send()
  32930. // if err == nil { // resp is now filled
  32931. // fmt.Println(resp)
  32932. // }
  32933. //
  32934. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  32935. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  32936. op := &request.Operation{
  32937. Name: opUnassignPrivateIpAddresses,
  32938. HTTPMethod: "POST",
  32939. HTTPPath: "/",
  32940. }
  32941. if input == nil {
  32942. input = &UnassignPrivateIpAddressesInput{}
  32943. }
  32944. output = &UnassignPrivateIpAddressesOutput{}
  32945. req = c.newRequest(op, input, output)
  32946. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  32947. return
  32948. }
  32949. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  32950. //
  32951. // Unassigns one or more secondary private IP addresses from a network interface.
  32952. //
  32953. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  32954. // with awserr.Error's Code and Message methods to get detailed information about
  32955. // the error.
  32956. //
  32957. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  32958. // API operation UnassignPrivateIpAddresses for usage and error information.
  32959. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  32960. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  32961. req, out := c.UnassignPrivateIpAddressesRequest(input)
  32962. return out, req.Send()
  32963. }
  32964. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  32965. // the ability to pass a context and additional request options.
  32966. //
  32967. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  32968. //
  32969. // The context must be non-nil and will be used for request cancellation. If
  32970. // the context is nil a panic will occur. In the future the SDK may create
  32971. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  32972. // for more information on using Contexts.
  32973. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  32974. req, out := c.UnassignPrivateIpAddressesRequest(input)
  32975. req.SetContext(ctx)
  32976. req.ApplyOptions(opts...)
  32977. return out, req.Send()
  32978. }
  32979. const opUnmonitorInstances = "UnmonitorInstances"
  32980. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  32981. // client's request for the UnmonitorInstances operation. The "output" return
  32982. // value will be populated with the request's response once the request completes
  32983. // successfully.
  32984. //
  32985. // Use "Send" method on the returned Request to send the API call to the service.
  32986. // the "output" return value is not valid until after Send returns without error.
  32987. //
  32988. // See UnmonitorInstances for more information on using the UnmonitorInstances
  32989. // API call, and error handling.
  32990. //
  32991. // This method is useful when you want to inject custom logic or configuration
  32992. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  32993. //
  32994. //
  32995. // // Example sending a request using the UnmonitorInstancesRequest method.
  32996. // req, resp := client.UnmonitorInstancesRequest(params)
  32997. //
  32998. // err := req.Send()
  32999. // if err == nil { // resp is now filled
  33000. // fmt.Println(resp)
  33001. // }
  33002. //
  33003. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  33004. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  33005. op := &request.Operation{
  33006. Name: opUnmonitorInstances,
  33007. HTTPMethod: "POST",
  33008. HTTPPath: "/",
  33009. }
  33010. if input == nil {
  33011. input = &UnmonitorInstancesInput{}
  33012. }
  33013. output = &UnmonitorInstancesOutput{}
  33014. req = c.newRequest(op, input, output)
  33015. return
  33016. }
  33017. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  33018. //
  33019. // Disables detailed monitoring for a running instance. For more information,
  33020. // see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  33021. // in the Amazon Elastic Compute Cloud User Guide.
  33022. //
  33023. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  33024. // with awserr.Error's Code and Message methods to get detailed information about
  33025. // the error.
  33026. //
  33027. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  33028. // API operation UnmonitorInstances for usage and error information.
  33029. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  33030. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  33031. req, out := c.UnmonitorInstancesRequest(input)
  33032. return out, req.Send()
  33033. }
  33034. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  33035. // the ability to pass a context and additional request options.
  33036. //
  33037. // See UnmonitorInstances for details on how to use this API operation.
  33038. //
  33039. // The context must be non-nil and will be used for request cancellation. If
  33040. // the context is nil a panic will occur. In the future the SDK may create
  33041. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  33042. // for more information on using Contexts.
  33043. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  33044. req, out := c.UnmonitorInstancesRequest(input)
  33045. req.SetContext(ctx)
  33046. req.ApplyOptions(opts...)
  33047. return out, req.Send()
  33048. }
  33049. const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
  33050. // UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
  33051. // client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
  33052. // value will be populated with the request's response once the request completes
  33053. // successfully.
  33054. //
  33055. // Use "Send" method on the returned Request to send the API call to the service.
  33056. // the "output" return value is not valid until after Send returns without error.
  33057. //
  33058. // See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
  33059. // API call, and error handling.
  33060. //
  33061. // This method is useful when you want to inject custom logic or configuration
  33062. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  33063. //
  33064. //
  33065. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
  33066. // req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
  33067. //
  33068. // err := req.Send()
  33069. // if err == nil { // resp is now filled
  33070. // fmt.Println(resp)
  33071. // }
  33072. //
  33073. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  33074. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
  33075. op := &request.Operation{
  33076. Name: opUpdateSecurityGroupRuleDescriptionsEgress,
  33077. HTTPMethod: "POST",
  33078. HTTPPath: "/",
  33079. }
  33080. if input == nil {
  33081. input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
  33082. }
  33083. output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
  33084. req = c.newRequest(op, input, output)
  33085. return
  33086. }
  33087. // UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
  33088. //
  33089. // [VPC only] Updates the description of an egress (outbound) security group
  33090. // rule. You can replace an existing description, or add a description to a
  33091. // rule that did not have one previously.
  33092. //
  33093. // You specify the description as part of the IP permissions structure. You
  33094. // can remove a description for a security group rule by omitting the description
  33095. // parameter in the request.
  33096. //
  33097. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  33098. // with awserr.Error's Code and Message methods to get detailed information about
  33099. // the error.
  33100. //
  33101. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  33102. // API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
  33103. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  33104. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  33105. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  33106. return out, req.Send()
  33107. }
  33108. // UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
  33109. // the ability to pass a context and additional request options.
  33110. //
  33111. // See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
  33112. //
  33113. // The context must be non-nil and will be used for request cancellation. If
  33114. // the context is nil a panic will occur. In the future the SDK may create
  33115. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  33116. // for more information on using Contexts.
  33117. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  33118. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  33119. req.SetContext(ctx)
  33120. req.ApplyOptions(opts...)
  33121. return out, req.Send()
  33122. }
  33123. const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
  33124. // UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
  33125. // client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
  33126. // value will be populated with the request's response once the request completes
  33127. // successfully.
  33128. //
  33129. // Use "Send" method on the returned Request to send the API call to the service.
  33130. // the "output" return value is not valid until after Send returns without error.
  33131. //
  33132. // See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
  33133. // API call, and error handling.
  33134. //
  33135. // This method is useful when you want to inject custom logic or configuration
  33136. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  33137. //
  33138. //
  33139. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
  33140. // req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
  33141. //
  33142. // err := req.Send()
  33143. // if err == nil { // resp is now filled
  33144. // fmt.Println(resp)
  33145. // }
  33146. //
  33147. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  33148. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
  33149. op := &request.Operation{
  33150. Name: opUpdateSecurityGroupRuleDescriptionsIngress,
  33151. HTTPMethod: "POST",
  33152. HTTPPath: "/",
  33153. }
  33154. if input == nil {
  33155. input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
  33156. }
  33157. output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
  33158. req = c.newRequest(op, input, output)
  33159. return
  33160. }
  33161. // UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
  33162. //
  33163. // Updates the description of an ingress (inbound) security group rule. You
  33164. // can replace an existing description, or add a description to a rule that
  33165. // did not have one previously.
  33166. //
  33167. // You specify the description as part of the IP permissions structure. You
  33168. // can remove a description for a security group rule by omitting the description
  33169. // parameter in the request.
  33170. //
  33171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  33172. // with awserr.Error's Code and Message methods to get detailed information about
  33173. // the error.
  33174. //
  33175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  33176. // API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
  33177. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  33178. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  33179. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  33180. return out, req.Send()
  33181. }
  33182. // UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
  33183. // the ability to pass a context and additional request options.
  33184. //
  33185. // See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
  33186. //
  33187. // The context must be non-nil and will be used for request cancellation. If
  33188. // the context is nil a panic will occur. In the future the SDK may create
  33189. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  33190. // for more information on using Contexts.
  33191. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  33192. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  33193. req.SetContext(ctx)
  33194. req.ApplyOptions(opts...)
  33195. return out, req.Send()
  33196. }
  33197. const opWithdrawByoipCidr = "WithdrawByoipCidr"
  33198. // WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
  33199. // client's request for the WithdrawByoipCidr operation. The "output" return
  33200. // value will be populated with the request's response once the request completes
  33201. // successfully.
  33202. //
  33203. // Use "Send" method on the returned Request to send the API call to the service.
  33204. // the "output" return value is not valid until after Send returns without error.
  33205. //
  33206. // See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
  33207. // API call, and error handling.
  33208. //
  33209. // This method is useful when you want to inject custom logic or configuration
  33210. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  33211. //
  33212. //
  33213. // // Example sending a request using the WithdrawByoipCidrRequest method.
  33214. // req, resp := client.WithdrawByoipCidrRequest(params)
  33215. //
  33216. // err := req.Send()
  33217. // if err == nil { // resp is now filled
  33218. // fmt.Println(resp)
  33219. // }
  33220. //
  33221. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
  33222. func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
  33223. op := &request.Operation{
  33224. Name: opWithdrawByoipCidr,
  33225. HTTPMethod: "POST",
  33226. HTTPPath: "/",
  33227. }
  33228. if input == nil {
  33229. input = &WithdrawByoipCidrInput{}
  33230. }
  33231. output = &WithdrawByoipCidrOutput{}
  33232. req = c.newRequest(op, input, output)
  33233. return
  33234. }
  33235. // WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
  33236. //
  33237. // Stops advertising an IPv4 address range that is provisioned as an address
  33238. // pool.
  33239. //
  33240. // You can perform this operation at most once every 10 seconds, even if you
  33241. // specify different address ranges each time.
  33242. //
  33243. // It can take a few minutes before traffic to the specified addresses stops
  33244. // routing to AWS because of BGP propagation delays.
  33245. //
  33246. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  33247. // with awserr.Error's Code and Message methods to get detailed information about
  33248. // the error.
  33249. //
  33250. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  33251. // API operation WithdrawByoipCidr for usage and error information.
  33252. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
  33253. func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
  33254. req, out := c.WithdrawByoipCidrRequest(input)
  33255. return out, req.Send()
  33256. }
  33257. // WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
  33258. // the ability to pass a context and additional request options.
  33259. //
  33260. // See WithdrawByoipCidr for details on how to use this API operation.
  33261. //
  33262. // The context must be non-nil and will be used for request cancellation. If
  33263. // the context is nil a panic will occur. In the future the SDK may create
  33264. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  33265. // for more information on using Contexts.
  33266. func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
  33267. req, out := c.WithdrawByoipCidrRequest(input)
  33268. req.SetContext(ctx)
  33269. req.ApplyOptions(opts...)
  33270. return out, req.Send()
  33271. }
  33272. // Contains the parameters for accepting the quote.
  33273. type AcceptReservedInstancesExchangeQuoteInput struct {
  33274. _ struct{} `type:"structure"`
  33275. // Checks whether you have the required permissions for the action, without
  33276. // actually making the request, and provides an error response. If you have
  33277. // the required permissions, the error response is DryRunOperation. Otherwise,
  33278. // it is UnauthorizedOperation.
  33279. DryRun *bool `type:"boolean"`
  33280. // The IDs of the Convertible Reserved Instances to exchange for another Convertible
  33281. // Reserved Instance of the same or higher value.
  33282. //
  33283. // ReservedInstanceIds is a required field
  33284. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  33285. // The configuration of the target Convertible Reserved Instance to exchange
  33286. // for your current Convertible Reserved Instances.
  33287. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  33288. }
  33289. // String returns the string representation
  33290. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  33291. return awsutil.Prettify(s)
  33292. }
  33293. // GoString returns the string representation
  33294. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  33295. return s.String()
  33296. }
  33297. // Validate inspects the fields of the type to determine if they are valid.
  33298. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  33299. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  33300. if s.ReservedInstanceIds == nil {
  33301. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  33302. }
  33303. if s.TargetConfigurations != nil {
  33304. for i, v := range s.TargetConfigurations {
  33305. if v == nil {
  33306. continue
  33307. }
  33308. if err := v.Validate(); err != nil {
  33309. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  33310. }
  33311. }
  33312. }
  33313. if invalidParams.Len() > 0 {
  33314. return invalidParams
  33315. }
  33316. return nil
  33317. }
  33318. // SetDryRun sets the DryRun field's value.
  33319. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  33320. s.DryRun = &v
  33321. return s
  33322. }
  33323. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  33324. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  33325. s.ReservedInstanceIds = v
  33326. return s
  33327. }
  33328. // SetTargetConfigurations sets the TargetConfigurations field's value.
  33329. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  33330. s.TargetConfigurations = v
  33331. return s
  33332. }
  33333. // The result of the exchange and whether it was successful.
  33334. type AcceptReservedInstancesExchangeQuoteOutput struct {
  33335. _ struct{} `type:"structure"`
  33336. // The ID of the successful exchange.
  33337. ExchangeId *string `locationName:"exchangeId" type:"string"`
  33338. }
  33339. // String returns the string representation
  33340. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  33341. return awsutil.Prettify(s)
  33342. }
  33343. // GoString returns the string representation
  33344. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  33345. return s.String()
  33346. }
  33347. // SetExchangeId sets the ExchangeId field's value.
  33348. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  33349. s.ExchangeId = &v
  33350. return s
  33351. }
  33352. type AcceptTransitGatewayPeeringAttachmentInput struct {
  33353. _ struct{} `type:"structure"`
  33354. // Checks whether you have the required permissions for the action, without
  33355. // actually making the request, and provides an error response. If you have
  33356. // the required permissions, the error response is DryRunOperation. Otherwise,
  33357. // it is UnauthorizedOperation.
  33358. DryRun *bool `type:"boolean"`
  33359. // The ID of the transit gateway attachment.
  33360. //
  33361. // TransitGatewayAttachmentId is a required field
  33362. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  33363. }
  33364. // String returns the string representation
  33365. func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
  33366. return awsutil.Prettify(s)
  33367. }
  33368. // GoString returns the string representation
  33369. func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
  33370. return s.String()
  33371. }
  33372. // Validate inspects the fields of the type to determine if they are valid.
  33373. func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
  33374. invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
  33375. if s.TransitGatewayAttachmentId == nil {
  33376. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  33377. }
  33378. if invalidParams.Len() > 0 {
  33379. return invalidParams
  33380. }
  33381. return nil
  33382. }
  33383. // SetDryRun sets the DryRun field's value.
  33384. func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
  33385. s.DryRun = &v
  33386. return s
  33387. }
  33388. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  33389. func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
  33390. s.TransitGatewayAttachmentId = &v
  33391. return s
  33392. }
  33393. type AcceptTransitGatewayPeeringAttachmentOutput struct {
  33394. _ struct{} `type:"structure"`
  33395. // The transit gateway peering attachment.
  33396. TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
  33397. }
  33398. // String returns the string representation
  33399. func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
  33400. return awsutil.Prettify(s)
  33401. }
  33402. // GoString returns the string representation
  33403. func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
  33404. return s.String()
  33405. }
  33406. // SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
  33407. func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
  33408. s.TransitGatewayPeeringAttachment = v
  33409. return s
  33410. }
  33411. type AcceptTransitGatewayVpcAttachmentInput struct {
  33412. _ struct{} `type:"structure"`
  33413. // Checks whether you have the required permissions for the action, without
  33414. // actually making the request, and provides an error response. If you have
  33415. // the required permissions, the error response is DryRunOperation. Otherwise,
  33416. // it is UnauthorizedOperation.
  33417. DryRun *bool `type:"boolean"`
  33418. // The ID of the attachment.
  33419. //
  33420. // TransitGatewayAttachmentId is a required field
  33421. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  33422. }
  33423. // String returns the string representation
  33424. func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
  33425. return awsutil.Prettify(s)
  33426. }
  33427. // GoString returns the string representation
  33428. func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
  33429. return s.String()
  33430. }
  33431. // Validate inspects the fields of the type to determine if they are valid.
  33432. func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
  33433. invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
  33434. if s.TransitGatewayAttachmentId == nil {
  33435. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  33436. }
  33437. if invalidParams.Len() > 0 {
  33438. return invalidParams
  33439. }
  33440. return nil
  33441. }
  33442. // SetDryRun sets the DryRun field's value.
  33443. func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
  33444. s.DryRun = &v
  33445. return s
  33446. }
  33447. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  33448. func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
  33449. s.TransitGatewayAttachmentId = &v
  33450. return s
  33451. }
  33452. type AcceptTransitGatewayVpcAttachmentOutput struct {
  33453. _ struct{} `type:"structure"`
  33454. // The VPC attachment.
  33455. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  33456. }
  33457. // String returns the string representation
  33458. func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
  33459. return awsutil.Prettify(s)
  33460. }
  33461. // GoString returns the string representation
  33462. func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
  33463. return s.String()
  33464. }
  33465. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  33466. func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
  33467. s.TransitGatewayVpcAttachment = v
  33468. return s
  33469. }
  33470. type AcceptVpcEndpointConnectionsInput struct {
  33471. _ struct{} `type:"structure"`
  33472. // Checks whether you have the required permissions for the action, without
  33473. // actually making the request, and provides an error response. If you have
  33474. // the required permissions, the error response is DryRunOperation. Otherwise,
  33475. // it is UnauthorizedOperation.
  33476. DryRun *bool `type:"boolean"`
  33477. // The ID of the VPC endpoint service.
  33478. //
  33479. // ServiceId is a required field
  33480. ServiceId *string `type:"string" required:"true"`
  33481. // The IDs of one or more interface VPC endpoints.
  33482. //
  33483. // VpcEndpointIds is a required field
  33484. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  33485. }
  33486. // String returns the string representation
  33487. func (s AcceptVpcEndpointConnectionsInput) String() string {
  33488. return awsutil.Prettify(s)
  33489. }
  33490. // GoString returns the string representation
  33491. func (s AcceptVpcEndpointConnectionsInput) GoString() string {
  33492. return s.String()
  33493. }
  33494. // Validate inspects the fields of the type to determine if they are valid.
  33495. func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
  33496. invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
  33497. if s.ServiceId == nil {
  33498. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  33499. }
  33500. if s.VpcEndpointIds == nil {
  33501. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  33502. }
  33503. if invalidParams.Len() > 0 {
  33504. return invalidParams
  33505. }
  33506. return nil
  33507. }
  33508. // SetDryRun sets the DryRun field's value.
  33509. func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
  33510. s.DryRun = &v
  33511. return s
  33512. }
  33513. // SetServiceId sets the ServiceId field's value.
  33514. func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
  33515. s.ServiceId = &v
  33516. return s
  33517. }
  33518. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  33519. func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
  33520. s.VpcEndpointIds = v
  33521. return s
  33522. }
  33523. type AcceptVpcEndpointConnectionsOutput struct {
  33524. _ struct{} `type:"structure"`
  33525. // Information about the interface endpoints that were not accepted, if applicable.
  33526. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  33527. }
  33528. // String returns the string representation
  33529. func (s AcceptVpcEndpointConnectionsOutput) String() string {
  33530. return awsutil.Prettify(s)
  33531. }
  33532. // GoString returns the string representation
  33533. func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
  33534. return s.String()
  33535. }
  33536. // SetUnsuccessful sets the Unsuccessful field's value.
  33537. func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
  33538. s.Unsuccessful = v
  33539. return s
  33540. }
  33541. type AcceptVpcPeeringConnectionInput struct {
  33542. _ struct{} `type:"structure"`
  33543. // Checks whether you have the required permissions for the action, without
  33544. // actually making the request, and provides an error response. If you have
  33545. // the required permissions, the error response is DryRunOperation. Otherwise,
  33546. // it is UnauthorizedOperation.
  33547. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33548. // The ID of the VPC peering connection. You must specify this parameter in
  33549. // the request.
  33550. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  33551. }
  33552. // String returns the string representation
  33553. func (s AcceptVpcPeeringConnectionInput) String() string {
  33554. return awsutil.Prettify(s)
  33555. }
  33556. // GoString returns the string representation
  33557. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  33558. return s.String()
  33559. }
  33560. // SetDryRun sets the DryRun field's value.
  33561. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  33562. s.DryRun = &v
  33563. return s
  33564. }
  33565. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  33566. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  33567. s.VpcPeeringConnectionId = &v
  33568. return s
  33569. }
  33570. type AcceptVpcPeeringConnectionOutput struct {
  33571. _ struct{} `type:"structure"`
  33572. // Information about the VPC peering connection.
  33573. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  33574. }
  33575. // String returns the string representation
  33576. func (s AcceptVpcPeeringConnectionOutput) String() string {
  33577. return awsutil.Prettify(s)
  33578. }
  33579. // GoString returns the string representation
  33580. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  33581. return s.String()
  33582. }
  33583. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  33584. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  33585. s.VpcPeeringConnection = v
  33586. return s
  33587. }
  33588. // Describes an account attribute.
  33589. type AccountAttribute struct {
  33590. _ struct{} `type:"structure"`
  33591. // The name of the account attribute.
  33592. AttributeName *string `locationName:"attributeName" type:"string"`
  33593. // The values for the account attribute.
  33594. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  33595. }
  33596. // String returns the string representation
  33597. func (s AccountAttribute) String() string {
  33598. return awsutil.Prettify(s)
  33599. }
  33600. // GoString returns the string representation
  33601. func (s AccountAttribute) GoString() string {
  33602. return s.String()
  33603. }
  33604. // SetAttributeName sets the AttributeName field's value.
  33605. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  33606. s.AttributeName = &v
  33607. return s
  33608. }
  33609. // SetAttributeValues sets the AttributeValues field's value.
  33610. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  33611. s.AttributeValues = v
  33612. return s
  33613. }
  33614. // Describes a value of an account attribute.
  33615. type AccountAttributeValue struct {
  33616. _ struct{} `type:"structure"`
  33617. // The value of the attribute.
  33618. AttributeValue *string `locationName:"attributeValue" type:"string"`
  33619. }
  33620. // String returns the string representation
  33621. func (s AccountAttributeValue) String() string {
  33622. return awsutil.Prettify(s)
  33623. }
  33624. // GoString returns the string representation
  33625. func (s AccountAttributeValue) GoString() string {
  33626. return s.String()
  33627. }
  33628. // SetAttributeValue sets the AttributeValue field's value.
  33629. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  33630. s.AttributeValue = &v
  33631. return s
  33632. }
  33633. // Describes a running instance in a Spot Fleet.
  33634. type ActiveInstance struct {
  33635. _ struct{} `type:"structure"`
  33636. // The health status of the instance. If the status of either the instance status
  33637. // check or the system status check is impaired, the health status of the instance
  33638. // is unhealthy. Otherwise, the health status is healthy.
  33639. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  33640. // The ID of the instance.
  33641. InstanceId *string `locationName:"instanceId" type:"string"`
  33642. // The instance type.
  33643. InstanceType *string `locationName:"instanceType" type:"string"`
  33644. // The ID of the Spot Instance request.
  33645. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  33646. }
  33647. // String returns the string representation
  33648. func (s ActiveInstance) String() string {
  33649. return awsutil.Prettify(s)
  33650. }
  33651. // GoString returns the string representation
  33652. func (s ActiveInstance) GoString() string {
  33653. return s.String()
  33654. }
  33655. // SetInstanceHealth sets the InstanceHealth field's value.
  33656. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  33657. s.InstanceHealth = &v
  33658. return s
  33659. }
  33660. // SetInstanceId sets the InstanceId field's value.
  33661. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  33662. s.InstanceId = &v
  33663. return s
  33664. }
  33665. // SetInstanceType sets the InstanceType field's value.
  33666. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  33667. s.InstanceType = &v
  33668. return s
  33669. }
  33670. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  33671. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  33672. s.SpotInstanceRequestId = &v
  33673. return s
  33674. }
  33675. // Describes an Elastic IP address.
  33676. type Address struct {
  33677. _ struct{} `type:"structure"`
  33678. // The ID representing the allocation of the address for use with EC2-VPC.
  33679. AllocationId *string `locationName:"allocationId" type:"string"`
  33680. // The ID representing the association of the address with an instance in a
  33681. // VPC.
  33682. AssociationId *string `locationName:"associationId" type:"string"`
  33683. // The customer-owned IP address.
  33684. CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
  33685. // The ID of the customer-owned address pool.
  33686. CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
  33687. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  33688. // (standard) or instances in a VPC (vpc).
  33689. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  33690. // The ID of the instance that the address is associated with (if any).
  33691. InstanceId *string `locationName:"instanceId" type:"string"`
  33692. // The name of the location from which the IP address is advertised.
  33693. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
  33694. // The ID of the network interface.
  33695. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  33696. // The ID of the AWS account that owns the network interface.
  33697. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  33698. // The private IP address associated with the Elastic IP address.
  33699. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  33700. // The Elastic IP address.
  33701. PublicIp *string `locationName:"publicIp" type:"string"`
  33702. // The ID of an address pool.
  33703. PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
  33704. // Any tags assigned to the Elastic IP address.
  33705. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  33706. }
  33707. // String returns the string representation
  33708. func (s Address) String() string {
  33709. return awsutil.Prettify(s)
  33710. }
  33711. // GoString returns the string representation
  33712. func (s Address) GoString() string {
  33713. return s.String()
  33714. }
  33715. // SetAllocationId sets the AllocationId field's value.
  33716. func (s *Address) SetAllocationId(v string) *Address {
  33717. s.AllocationId = &v
  33718. return s
  33719. }
  33720. // SetAssociationId sets the AssociationId field's value.
  33721. func (s *Address) SetAssociationId(v string) *Address {
  33722. s.AssociationId = &v
  33723. return s
  33724. }
  33725. // SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
  33726. func (s *Address) SetCustomerOwnedIp(v string) *Address {
  33727. s.CustomerOwnedIp = &v
  33728. return s
  33729. }
  33730. // SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
  33731. func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
  33732. s.CustomerOwnedIpv4Pool = &v
  33733. return s
  33734. }
  33735. // SetDomain sets the Domain field's value.
  33736. func (s *Address) SetDomain(v string) *Address {
  33737. s.Domain = &v
  33738. return s
  33739. }
  33740. // SetInstanceId sets the InstanceId field's value.
  33741. func (s *Address) SetInstanceId(v string) *Address {
  33742. s.InstanceId = &v
  33743. return s
  33744. }
  33745. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  33746. func (s *Address) SetNetworkBorderGroup(v string) *Address {
  33747. s.NetworkBorderGroup = &v
  33748. return s
  33749. }
  33750. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  33751. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  33752. s.NetworkInterfaceId = &v
  33753. return s
  33754. }
  33755. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  33756. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  33757. s.NetworkInterfaceOwnerId = &v
  33758. return s
  33759. }
  33760. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  33761. func (s *Address) SetPrivateIpAddress(v string) *Address {
  33762. s.PrivateIpAddress = &v
  33763. return s
  33764. }
  33765. // SetPublicIp sets the PublicIp field's value.
  33766. func (s *Address) SetPublicIp(v string) *Address {
  33767. s.PublicIp = &v
  33768. return s
  33769. }
  33770. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  33771. func (s *Address) SetPublicIpv4Pool(v string) *Address {
  33772. s.PublicIpv4Pool = &v
  33773. return s
  33774. }
  33775. // SetTags sets the Tags field's value.
  33776. func (s *Address) SetTags(v []*Tag) *Address {
  33777. s.Tags = v
  33778. return s
  33779. }
  33780. type AdvertiseByoipCidrInput struct {
  33781. _ struct{} `type:"structure"`
  33782. // The IPv4 address range, in CIDR notation. This must be the exact range that
  33783. // you provisioned. You can't advertise only a portion of the provisioned range.
  33784. //
  33785. // Cidr is a required field
  33786. Cidr *string `type:"string" required:"true"`
  33787. // Checks whether you have the required permissions for the action, without
  33788. // actually making the request, and provides an error response. If you have
  33789. // the required permissions, the error response is DryRunOperation. Otherwise,
  33790. // it is UnauthorizedOperation.
  33791. DryRun *bool `type:"boolean"`
  33792. }
  33793. // String returns the string representation
  33794. func (s AdvertiseByoipCidrInput) String() string {
  33795. return awsutil.Prettify(s)
  33796. }
  33797. // GoString returns the string representation
  33798. func (s AdvertiseByoipCidrInput) GoString() string {
  33799. return s.String()
  33800. }
  33801. // Validate inspects the fields of the type to determine if they are valid.
  33802. func (s *AdvertiseByoipCidrInput) Validate() error {
  33803. invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
  33804. if s.Cidr == nil {
  33805. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  33806. }
  33807. if invalidParams.Len() > 0 {
  33808. return invalidParams
  33809. }
  33810. return nil
  33811. }
  33812. // SetCidr sets the Cidr field's value.
  33813. func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
  33814. s.Cidr = &v
  33815. return s
  33816. }
  33817. // SetDryRun sets the DryRun field's value.
  33818. func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
  33819. s.DryRun = &v
  33820. return s
  33821. }
  33822. type AdvertiseByoipCidrOutput struct {
  33823. _ struct{} `type:"structure"`
  33824. // Information about the address range.
  33825. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  33826. }
  33827. // String returns the string representation
  33828. func (s AdvertiseByoipCidrOutput) String() string {
  33829. return awsutil.Prettify(s)
  33830. }
  33831. // GoString returns the string representation
  33832. func (s AdvertiseByoipCidrOutput) GoString() string {
  33833. return s.String()
  33834. }
  33835. // SetByoipCidr sets the ByoipCidr field's value.
  33836. func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
  33837. s.ByoipCidr = v
  33838. return s
  33839. }
  33840. type AllocateAddressInput struct {
  33841. _ struct{} `type:"structure"`
  33842. // [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
  33843. // pool.
  33844. Address *string `type:"string"`
  33845. // The ID of a customer-owned address pool. Use this parameter to let Amazon
  33846. // EC2 select an address from the address pool. Alternatively, specify a specific
  33847. // address from the address pool.
  33848. CustomerOwnedIpv4Pool *string `type:"string"`
  33849. // Set to vpc to allocate the address for use with instances in a VPC.
  33850. //
  33851. // Default: The address is for use with instances in EC2-Classic.
  33852. Domain *string `type:"string" enum:"DomainType"`
  33853. // Checks whether you have the required permissions for the action, without
  33854. // actually making the request, and provides an error response. If you have
  33855. // the required permissions, the error response is DryRunOperation. Otherwise,
  33856. // it is UnauthorizedOperation.
  33857. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33858. // The location from which the IP address is advertised. Use this parameter
  33859. // to limit the address to this location.
  33860. //
  33861. // Use DescribeVpcs (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
  33862. // to view the network border groups.
  33863. //
  33864. // You cannot use a network border group with EC2 Classic. If you attempt this
  33865. // operation on EC2 classic, you will receive an InvalidParameterCombination
  33866. // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  33867. NetworkBorderGroup *string `type:"string"`
  33868. // The ID of an address pool that you own. Use this parameter to let Amazon
  33869. // EC2 select an address from the address pool. To specify a specific address
  33870. // from the address pool, use the Address parameter instead.
  33871. PublicIpv4Pool *string `type:"string"`
  33872. }
  33873. // String returns the string representation
  33874. func (s AllocateAddressInput) String() string {
  33875. return awsutil.Prettify(s)
  33876. }
  33877. // GoString returns the string representation
  33878. func (s AllocateAddressInput) GoString() string {
  33879. return s.String()
  33880. }
  33881. // SetAddress sets the Address field's value.
  33882. func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
  33883. s.Address = &v
  33884. return s
  33885. }
  33886. // SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
  33887. func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
  33888. s.CustomerOwnedIpv4Pool = &v
  33889. return s
  33890. }
  33891. // SetDomain sets the Domain field's value.
  33892. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  33893. s.Domain = &v
  33894. return s
  33895. }
  33896. // SetDryRun sets the DryRun field's value.
  33897. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  33898. s.DryRun = &v
  33899. return s
  33900. }
  33901. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  33902. func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
  33903. s.NetworkBorderGroup = &v
  33904. return s
  33905. }
  33906. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  33907. func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
  33908. s.PublicIpv4Pool = &v
  33909. return s
  33910. }
  33911. type AllocateAddressOutput struct {
  33912. _ struct{} `type:"structure"`
  33913. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  33914. // IP address for use with instances in a VPC.
  33915. AllocationId *string `locationName:"allocationId" type:"string"`
  33916. // The customer-owned IP address.
  33917. CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
  33918. // The ID of the customer-owned address pool.
  33919. CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
  33920. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  33921. // (standard) or instances in a VPC (vpc).
  33922. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  33923. // The location from which the IP address is advertised.
  33924. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
  33925. // The Elastic IP address.
  33926. PublicIp *string `locationName:"publicIp" type:"string"`
  33927. // The ID of an address pool.
  33928. PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
  33929. }
  33930. // String returns the string representation
  33931. func (s AllocateAddressOutput) String() string {
  33932. return awsutil.Prettify(s)
  33933. }
  33934. // GoString returns the string representation
  33935. func (s AllocateAddressOutput) GoString() string {
  33936. return s.String()
  33937. }
  33938. // SetAllocationId sets the AllocationId field's value.
  33939. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  33940. s.AllocationId = &v
  33941. return s
  33942. }
  33943. // SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
  33944. func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
  33945. s.CustomerOwnedIp = &v
  33946. return s
  33947. }
  33948. // SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
  33949. func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
  33950. s.CustomerOwnedIpv4Pool = &v
  33951. return s
  33952. }
  33953. // SetDomain sets the Domain field's value.
  33954. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  33955. s.Domain = &v
  33956. return s
  33957. }
  33958. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  33959. func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
  33960. s.NetworkBorderGroup = &v
  33961. return s
  33962. }
  33963. // SetPublicIp sets the PublicIp field's value.
  33964. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  33965. s.PublicIp = &v
  33966. return s
  33967. }
  33968. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  33969. func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
  33970. s.PublicIpv4Pool = &v
  33971. return s
  33972. }
  33973. type AllocateHostsInput struct {
  33974. _ struct{} `type:"structure"`
  33975. // Indicates whether the host accepts any untargeted instance launches that
  33976. // match its instance type configuration, or if it only accepts Host tenancy
  33977. // instance launches that specify its unique host ID. For more information,
  33978. // see Understanding Instance Placement and Host Affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
  33979. // in the Amazon EC2 User Guide for Linux Instances.
  33980. //
  33981. // Default: on
  33982. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  33983. // The Availability Zone in which to allocate the Dedicated Host.
  33984. //
  33985. // AvailabilityZone is a required field
  33986. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  33987. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  33988. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  33989. ClientToken *string `locationName:"clientToken" type:"string"`
  33990. // Indicates whether to enable or disable host recovery for the Dedicated Host.
  33991. // Host recovery is disabled by default. For more information, see Host Recovery
  33992. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
  33993. // in the Amazon Elastic Compute Cloud User Guide.
  33994. //
  33995. // Default: off
  33996. HostRecovery *string `type:"string" enum:"HostRecovery"`
  33997. // Specifies the instance family to be supported by the Dedicated Hosts. If
  33998. // you specify an instance family, the Dedicated Hosts support multiple instance
  33999. // types within that instance family.
  34000. //
  34001. // If you want the Dedicated Hosts to support a specific instance type only,
  34002. // omit this parameter and specify InstanceType instead. You cannot specify
  34003. // InstanceFamily and InstanceType in the same request.
  34004. InstanceFamily *string `type:"string"`
  34005. // Specifies the instance type to be supported by the Dedicated Hosts. If you
  34006. // specify an instance type, the Dedicated Hosts support instances of the specified
  34007. // instance type only.
  34008. //
  34009. // If you want the Dedicated Hosts to support multiple instance types in a specific
  34010. // instance family, omit this parameter and specify InstanceFamily instead.
  34011. // You cannot specify InstanceType and InstanceFamily in the same request.
  34012. InstanceType *string `locationName:"instanceType" type:"string"`
  34013. // The number of Dedicated Hosts to allocate to your account with these parameters.
  34014. //
  34015. // Quantity is a required field
  34016. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  34017. // The tags to apply to the Dedicated Host during creation.
  34018. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  34019. }
  34020. // String returns the string representation
  34021. func (s AllocateHostsInput) String() string {
  34022. return awsutil.Prettify(s)
  34023. }
  34024. // GoString returns the string representation
  34025. func (s AllocateHostsInput) GoString() string {
  34026. return s.String()
  34027. }
  34028. // Validate inspects the fields of the type to determine if they are valid.
  34029. func (s *AllocateHostsInput) Validate() error {
  34030. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  34031. if s.AvailabilityZone == nil {
  34032. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  34033. }
  34034. if s.Quantity == nil {
  34035. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  34036. }
  34037. if invalidParams.Len() > 0 {
  34038. return invalidParams
  34039. }
  34040. return nil
  34041. }
  34042. // SetAutoPlacement sets the AutoPlacement field's value.
  34043. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  34044. s.AutoPlacement = &v
  34045. return s
  34046. }
  34047. // SetAvailabilityZone sets the AvailabilityZone field's value.
  34048. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  34049. s.AvailabilityZone = &v
  34050. return s
  34051. }
  34052. // SetClientToken sets the ClientToken field's value.
  34053. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  34054. s.ClientToken = &v
  34055. return s
  34056. }
  34057. // SetHostRecovery sets the HostRecovery field's value.
  34058. func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput {
  34059. s.HostRecovery = &v
  34060. return s
  34061. }
  34062. // SetInstanceFamily sets the InstanceFamily field's value.
  34063. func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput {
  34064. s.InstanceFamily = &v
  34065. return s
  34066. }
  34067. // SetInstanceType sets the InstanceType field's value.
  34068. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  34069. s.InstanceType = &v
  34070. return s
  34071. }
  34072. // SetQuantity sets the Quantity field's value.
  34073. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  34074. s.Quantity = &v
  34075. return s
  34076. }
  34077. // SetTagSpecifications sets the TagSpecifications field's value.
  34078. func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
  34079. s.TagSpecifications = v
  34080. return s
  34081. }
  34082. // Contains the output of AllocateHosts.
  34083. type AllocateHostsOutput struct {
  34084. _ struct{} `type:"structure"`
  34085. // The ID of the allocated Dedicated Host. This is used to launch an instance
  34086. // onto a specific host.
  34087. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  34088. }
  34089. // String returns the string representation
  34090. func (s AllocateHostsOutput) String() string {
  34091. return awsutil.Prettify(s)
  34092. }
  34093. // GoString returns the string representation
  34094. func (s AllocateHostsOutput) GoString() string {
  34095. return s.String()
  34096. }
  34097. // SetHostIds sets the HostIds field's value.
  34098. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  34099. s.HostIds = v
  34100. return s
  34101. }
  34102. // Describes a principal.
  34103. type AllowedPrincipal struct {
  34104. _ struct{} `type:"structure"`
  34105. // The Amazon Resource Name (ARN) of the principal.
  34106. Principal *string `locationName:"principal" type:"string"`
  34107. // The type of principal.
  34108. PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
  34109. }
  34110. // String returns the string representation
  34111. func (s AllowedPrincipal) String() string {
  34112. return awsutil.Prettify(s)
  34113. }
  34114. // GoString returns the string representation
  34115. func (s AllowedPrincipal) GoString() string {
  34116. return s.String()
  34117. }
  34118. // SetPrincipal sets the Principal field's value.
  34119. func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
  34120. s.Principal = &v
  34121. return s
  34122. }
  34123. // SetPrincipalType sets the PrincipalType field's value.
  34124. func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
  34125. s.PrincipalType = &v
  34126. return s
  34127. }
  34128. type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
  34129. _ struct{} `type:"structure"`
  34130. // The ID of the Client VPN endpoint.
  34131. //
  34132. // ClientVpnEndpointId is a required field
  34133. ClientVpnEndpointId *string `type:"string" required:"true"`
  34134. // Checks whether you have the required permissions for the action, without
  34135. // actually making the request, and provides an error response. If you have
  34136. // the required permissions, the error response is DryRunOperation. Otherwise,
  34137. // it is UnauthorizedOperation.
  34138. DryRun *bool `type:"boolean"`
  34139. // The IDs of the security groups to apply to the associated target network.
  34140. // Up to 5 security groups can be applied to an associated target network.
  34141. //
  34142. // SecurityGroupIds is a required field
  34143. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
  34144. // The ID of the VPC in which the associated target network is located.
  34145. //
  34146. // VpcId is a required field
  34147. VpcId *string `type:"string" required:"true"`
  34148. }
  34149. // String returns the string representation
  34150. func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
  34151. return awsutil.Prettify(s)
  34152. }
  34153. // GoString returns the string representation
  34154. func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
  34155. return s.String()
  34156. }
  34157. // Validate inspects the fields of the type to determine if they are valid.
  34158. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
  34159. invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
  34160. if s.ClientVpnEndpointId == nil {
  34161. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  34162. }
  34163. if s.SecurityGroupIds == nil {
  34164. invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
  34165. }
  34166. if s.VpcId == nil {
  34167. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  34168. }
  34169. if invalidParams.Len() > 0 {
  34170. return invalidParams
  34171. }
  34172. return nil
  34173. }
  34174. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  34175. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  34176. s.ClientVpnEndpointId = &v
  34177. return s
  34178. }
  34179. // SetDryRun sets the DryRun field's value.
  34180. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  34181. s.DryRun = &v
  34182. return s
  34183. }
  34184. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  34185. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  34186. s.SecurityGroupIds = v
  34187. return s
  34188. }
  34189. // SetVpcId sets the VpcId field's value.
  34190. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  34191. s.VpcId = &v
  34192. return s
  34193. }
  34194. type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
  34195. _ struct{} `type:"structure"`
  34196. // The IDs of the applied security groups.
  34197. SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
  34198. }
  34199. // String returns the string representation
  34200. func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
  34201. return awsutil.Prettify(s)
  34202. }
  34203. // GoString returns the string representation
  34204. func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
  34205. return s.String()
  34206. }
  34207. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  34208. func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
  34209. s.SecurityGroupIds = v
  34210. return s
  34211. }
  34212. type AssignIpv6AddressesInput struct {
  34213. _ struct{} `type:"structure"`
  34214. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  34215. // automatically selects the IPv6 addresses from the subnet range. You can't
  34216. // use this option if specifying specific IPv6 addresses.
  34217. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  34218. // One or more specific IPv6 addresses to be assigned to the network interface.
  34219. // You can't use this option if you're specifying a number of IPv6 addresses.
  34220. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  34221. // The ID of the network interface.
  34222. //
  34223. // NetworkInterfaceId is a required field
  34224. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  34225. }
  34226. // String returns the string representation
  34227. func (s AssignIpv6AddressesInput) String() string {
  34228. return awsutil.Prettify(s)
  34229. }
  34230. // GoString returns the string representation
  34231. func (s AssignIpv6AddressesInput) GoString() string {
  34232. return s.String()
  34233. }
  34234. // Validate inspects the fields of the type to determine if they are valid.
  34235. func (s *AssignIpv6AddressesInput) Validate() error {
  34236. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  34237. if s.NetworkInterfaceId == nil {
  34238. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  34239. }
  34240. if invalidParams.Len() > 0 {
  34241. return invalidParams
  34242. }
  34243. return nil
  34244. }
  34245. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  34246. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  34247. s.Ipv6AddressCount = &v
  34248. return s
  34249. }
  34250. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  34251. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  34252. s.Ipv6Addresses = v
  34253. return s
  34254. }
  34255. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34256. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  34257. s.NetworkInterfaceId = &v
  34258. return s
  34259. }
  34260. type AssignIpv6AddressesOutput struct {
  34261. _ struct{} `type:"structure"`
  34262. // The IPv6 addresses assigned to the network interface.
  34263. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  34264. // The ID of the network interface.
  34265. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  34266. }
  34267. // String returns the string representation
  34268. func (s AssignIpv6AddressesOutput) String() string {
  34269. return awsutil.Prettify(s)
  34270. }
  34271. // GoString returns the string representation
  34272. func (s AssignIpv6AddressesOutput) GoString() string {
  34273. return s.String()
  34274. }
  34275. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  34276. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  34277. s.AssignedIpv6Addresses = v
  34278. return s
  34279. }
  34280. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34281. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  34282. s.NetworkInterfaceId = &v
  34283. return s
  34284. }
  34285. // Contains the parameters for AssignPrivateIpAddresses.
  34286. type AssignPrivateIpAddressesInput struct {
  34287. _ struct{} `type:"structure"`
  34288. // Indicates whether to allow an IP address that is already assigned to another
  34289. // network interface or instance to be reassigned to the specified network interface.
  34290. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  34291. // The ID of the network interface.
  34292. //
  34293. // NetworkInterfaceId is a required field
  34294. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  34295. // One or more IP addresses to be assigned as a secondary private IP address
  34296. // to the network interface. You can't specify this parameter when also specifying
  34297. // a number of secondary IP addresses.
  34298. //
  34299. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  34300. // address within the subnet range.
  34301. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  34302. // The number of secondary IP addresses to assign to the network interface.
  34303. // You can't specify this parameter when also specifying private IP addresses.
  34304. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  34305. }
  34306. // String returns the string representation
  34307. func (s AssignPrivateIpAddressesInput) String() string {
  34308. return awsutil.Prettify(s)
  34309. }
  34310. // GoString returns the string representation
  34311. func (s AssignPrivateIpAddressesInput) GoString() string {
  34312. return s.String()
  34313. }
  34314. // Validate inspects the fields of the type to determine if they are valid.
  34315. func (s *AssignPrivateIpAddressesInput) Validate() error {
  34316. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  34317. if s.NetworkInterfaceId == nil {
  34318. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  34319. }
  34320. if invalidParams.Len() > 0 {
  34321. return invalidParams
  34322. }
  34323. return nil
  34324. }
  34325. // SetAllowReassignment sets the AllowReassignment field's value.
  34326. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  34327. s.AllowReassignment = &v
  34328. return s
  34329. }
  34330. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34331. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  34332. s.NetworkInterfaceId = &v
  34333. return s
  34334. }
  34335. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  34336. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  34337. s.PrivateIpAddresses = v
  34338. return s
  34339. }
  34340. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  34341. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  34342. s.SecondaryPrivateIpAddressCount = &v
  34343. return s
  34344. }
  34345. type AssignPrivateIpAddressesOutput struct {
  34346. _ struct{} `type:"structure"`
  34347. // The private IP addresses assigned to the network interface.
  34348. AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"`
  34349. // The ID of the network interface.
  34350. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  34351. }
  34352. // String returns the string representation
  34353. func (s AssignPrivateIpAddressesOutput) String() string {
  34354. return awsutil.Prettify(s)
  34355. }
  34356. // GoString returns the string representation
  34357. func (s AssignPrivateIpAddressesOutput) GoString() string {
  34358. return s.String()
  34359. }
  34360. // SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value.
  34361. func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput {
  34362. s.AssignedPrivateIpAddresses = v
  34363. return s
  34364. }
  34365. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34366. func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput {
  34367. s.NetworkInterfaceId = &v
  34368. return s
  34369. }
  34370. // Describes the private IP addresses assigned to a network interface.
  34371. type AssignedPrivateIpAddress struct {
  34372. _ struct{} `type:"structure"`
  34373. // The private IP address assigned to the network interface.
  34374. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  34375. }
  34376. // String returns the string representation
  34377. func (s AssignedPrivateIpAddress) String() string {
  34378. return awsutil.Prettify(s)
  34379. }
  34380. // GoString returns the string representation
  34381. func (s AssignedPrivateIpAddress) GoString() string {
  34382. return s.String()
  34383. }
  34384. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  34385. func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress {
  34386. s.PrivateIpAddress = &v
  34387. return s
  34388. }
  34389. type AssociateAddressInput struct {
  34390. _ struct{} `type:"structure"`
  34391. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  34392. AllocationId *string `type:"string"`
  34393. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  34394. // IP address that is already associated with an instance or network interface
  34395. // to be reassociated with the specified instance or network interface. Otherwise,
  34396. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  34397. // automatic, therefore you can specify false to ensure the operation fails
  34398. // if the Elastic IP address is already associated with another resource.
  34399. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  34400. // Checks whether you have the required permissions for the action, without
  34401. // actually making the request, and provides an error response. If you have
  34402. // the required permissions, the error response is DryRunOperation. Otherwise,
  34403. // it is UnauthorizedOperation.
  34404. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34405. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  34406. // can specify either the instance ID or the network interface ID, but not both.
  34407. // The operation fails if you specify an instance ID unless exactly one network
  34408. // interface is attached.
  34409. InstanceId *string `type:"string"`
  34410. // [EC2-VPC] The ID of the network interface. If the instance has more than
  34411. // one network interface, you must specify a network interface ID.
  34412. //
  34413. // For EC2-VPC, you can specify either the instance ID or the network interface
  34414. // ID, but not both.
  34415. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  34416. // [EC2-VPC] The primary or secondary private IP address to associate with the
  34417. // Elastic IP address. If no private IP address is specified, the Elastic IP
  34418. // address is associated with the primary private IP address.
  34419. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  34420. // The Elastic IP address to associate with the instance. This is required for
  34421. // EC2-Classic.
  34422. PublicIp *string `type:"string"`
  34423. }
  34424. // String returns the string representation
  34425. func (s AssociateAddressInput) String() string {
  34426. return awsutil.Prettify(s)
  34427. }
  34428. // GoString returns the string representation
  34429. func (s AssociateAddressInput) GoString() string {
  34430. return s.String()
  34431. }
  34432. // SetAllocationId sets the AllocationId field's value.
  34433. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  34434. s.AllocationId = &v
  34435. return s
  34436. }
  34437. // SetAllowReassociation sets the AllowReassociation field's value.
  34438. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  34439. s.AllowReassociation = &v
  34440. return s
  34441. }
  34442. // SetDryRun sets the DryRun field's value.
  34443. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  34444. s.DryRun = &v
  34445. return s
  34446. }
  34447. // SetInstanceId sets the InstanceId field's value.
  34448. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  34449. s.InstanceId = &v
  34450. return s
  34451. }
  34452. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34453. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  34454. s.NetworkInterfaceId = &v
  34455. return s
  34456. }
  34457. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  34458. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  34459. s.PrivateIpAddress = &v
  34460. return s
  34461. }
  34462. // SetPublicIp sets the PublicIp field's value.
  34463. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  34464. s.PublicIp = &v
  34465. return s
  34466. }
  34467. type AssociateAddressOutput struct {
  34468. _ struct{} `type:"structure"`
  34469. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  34470. // with an instance.
  34471. AssociationId *string `locationName:"associationId" type:"string"`
  34472. }
  34473. // String returns the string representation
  34474. func (s AssociateAddressOutput) String() string {
  34475. return awsutil.Prettify(s)
  34476. }
  34477. // GoString returns the string representation
  34478. func (s AssociateAddressOutput) GoString() string {
  34479. return s.String()
  34480. }
  34481. // SetAssociationId sets the AssociationId field's value.
  34482. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  34483. s.AssociationId = &v
  34484. return s
  34485. }
  34486. type AssociateClientVpnTargetNetworkInput struct {
  34487. _ struct{} `type:"structure"`
  34488. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  34489. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  34490. ClientToken *string `type:"string" idempotencyToken:"true"`
  34491. // The ID of the Client VPN endpoint.
  34492. //
  34493. // ClientVpnEndpointId is a required field
  34494. ClientVpnEndpointId *string `type:"string" required:"true"`
  34495. // Checks whether you have the required permissions for the action, without
  34496. // actually making the request, and provides an error response. If you have
  34497. // the required permissions, the error response is DryRunOperation. Otherwise,
  34498. // it is UnauthorizedOperation.
  34499. DryRun *bool `type:"boolean"`
  34500. // The ID of the subnet to associate with the Client VPN endpoint.
  34501. //
  34502. // SubnetId is a required field
  34503. SubnetId *string `type:"string" required:"true"`
  34504. }
  34505. // String returns the string representation
  34506. func (s AssociateClientVpnTargetNetworkInput) String() string {
  34507. return awsutil.Prettify(s)
  34508. }
  34509. // GoString returns the string representation
  34510. func (s AssociateClientVpnTargetNetworkInput) GoString() string {
  34511. return s.String()
  34512. }
  34513. // Validate inspects the fields of the type to determine if they are valid.
  34514. func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
  34515. invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
  34516. if s.ClientVpnEndpointId == nil {
  34517. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  34518. }
  34519. if s.SubnetId == nil {
  34520. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  34521. }
  34522. if invalidParams.Len() > 0 {
  34523. return invalidParams
  34524. }
  34525. return nil
  34526. }
  34527. // SetClientToken sets the ClientToken field's value.
  34528. func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
  34529. s.ClientToken = &v
  34530. return s
  34531. }
  34532. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  34533. func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
  34534. s.ClientVpnEndpointId = &v
  34535. return s
  34536. }
  34537. // SetDryRun sets the DryRun field's value.
  34538. func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
  34539. s.DryRun = &v
  34540. return s
  34541. }
  34542. // SetSubnetId sets the SubnetId field's value.
  34543. func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
  34544. s.SubnetId = &v
  34545. return s
  34546. }
  34547. type AssociateClientVpnTargetNetworkOutput struct {
  34548. _ struct{} `type:"structure"`
  34549. // The unique ID of the target network association.
  34550. AssociationId *string `locationName:"associationId" type:"string"`
  34551. // The current state of the target network association.
  34552. Status *AssociationStatus `locationName:"status" type:"structure"`
  34553. }
  34554. // String returns the string representation
  34555. func (s AssociateClientVpnTargetNetworkOutput) String() string {
  34556. return awsutil.Prettify(s)
  34557. }
  34558. // GoString returns the string representation
  34559. func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
  34560. return s.String()
  34561. }
  34562. // SetAssociationId sets the AssociationId field's value.
  34563. func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
  34564. s.AssociationId = &v
  34565. return s
  34566. }
  34567. // SetStatus sets the Status field's value.
  34568. func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
  34569. s.Status = v
  34570. return s
  34571. }
  34572. type AssociateDhcpOptionsInput struct {
  34573. _ struct{} `type:"structure"`
  34574. // The ID of the DHCP options set, or default to associate no DHCP options with
  34575. // the VPC.
  34576. //
  34577. // DhcpOptionsId is a required field
  34578. DhcpOptionsId *string `type:"string" required:"true"`
  34579. // Checks whether you have the required permissions for the action, without
  34580. // actually making the request, and provides an error response. If you have
  34581. // the required permissions, the error response is DryRunOperation. Otherwise,
  34582. // it is UnauthorizedOperation.
  34583. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34584. // The ID of the VPC.
  34585. //
  34586. // VpcId is a required field
  34587. VpcId *string `type:"string" required:"true"`
  34588. }
  34589. // String returns the string representation
  34590. func (s AssociateDhcpOptionsInput) String() string {
  34591. return awsutil.Prettify(s)
  34592. }
  34593. // GoString returns the string representation
  34594. func (s AssociateDhcpOptionsInput) GoString() string {
  34595. return s.String()
  34596. }
  34597. // Validate inspects the fields of the type to determine if they are valid.
  34598. func (s *AssociateDhcpOptionsInput) Validate() error {
  34599. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  34600. if s.DhcpOptionsId == nil {
  34601. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  34602. }
  34603. if s.VpcId == nil {
  34604. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  34605. }
  34606. if invalidParams.Len() > 0 {
  34607. return invalidParams
  34608. }
  34609. return nil
  34610. }
  34611. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  34612. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  34613. s.DhcpOptionsId = &v
  34614. return s
  34615. }
  34616. // SetDryRun sets the DryRun field's value.
  34617. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  34618. s.DryRun = &v
  34619. return s
  34620. }
  34621. // SetVpcId sets the VpcId field's value.
  34622. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  34623. s.VpcId = &v
  34624. return s
  34625. }
  34626. type AssociateDhcpOptionsOutput struct {
  34627. _ struct{} `type:"structure"`
  34628. }
  34629. // String returns the string representation
  34630. func (s AssociateDhcpOptionsOutput) String() string {
  34631. return awsutil.Prettify(s)
  34632. }
  34633. // GoString returns the string representation
  34634. func (s AssociateDhcpOptionsOutput) GoString() string {
  34635. return s.String()
  34636. }
  34637. type AssociateIamInstanceProfileInput struct {
  34638. _ struct{} `type:"structure"`
  34639. // The IAM instance profile.
  34640. //
  34641. // IamInstanceProfile is a required field
  34642. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  34643. // The ID of the instance.
  34644. //
  34645. // InstanceId is a required field
  34646. InstanceId *string `type:"string" required:"true"`
  34647. }
  34648. // String returns the string representation
  34649. func (s AssociateIamInstanceProfileInput) String() string {
  34650. return awsutil.Prettify(s)
  34651. }
  34652. // GoString returns the string representation
  34653. func (s AssociateIamInstanceProfileInput) GoString() string {
  34654. return s.String()
  34655. }
  34656. // Validate inspects the fields of the type to determine if they are valid.
  34657. func (s *AssociateIamInstanceProfileInput) Validate() error {
  34658. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  34659. if s.IamInstanceProfile == nil {
  34660. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  34661. }
  34662. if s.InstanceId == nil {
  34663. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  34664. }
  34665. if invalidParams.Len() > 0 {
  34666. return invalidParams
  34667. }
  34668. return nil
  34669. }
  34670. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  34671. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  34672. s.IamInstanceProfile = v
  34673. return s
  34674. }
  34675. // SetInstanceId sets the InstanceId field's value.
  34676. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  34677. s.InstanceId = &v
  34678. return s
  34679. }
  34680. type AssociateIamInstanceProfileOutput struct {
  34681. _ struct{} `type:"structure"`
  34682. // Information about the IAM instance profile association.
  34683. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  34684. }
  34685. // String returns the string representation
  34686. func (s AssociateIamInstanceProfileOutput) String() string {
  34687. return awsutil.Prettify(s)
  34688. }
  34689. // GoString returns the string representation
  34690. func (s AssociateIamInstanceProfileOutput) GoString() string {
  34691. return s.String()
  34692. }
  34693. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  34694. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  34695. s.IamInstanceProfileAssociation = v
  34696. return s
  34697. }
  34698. type AssociateRouteTableInput struct {
  34699. _ struct{} `type:"structure"`
  34700. // Checks whether you have the required permissions for the action, without
  34701. // actually making the request, and provides an error response. If you have
  34702. // the required permissions, the error response is DryRunOperation. Otherwise,
  34703. // it is UnauthorizedOperation.
  34704. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34705. // The ID of the internet gateway or virtual private gateway.
  34706. GatewayId *string `type:"string"`
  34707. // The ID of the route table.
  34708. //
  34709. // RouteTableId is a required field
  34710. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  34711. // The ID of the subnet.
  34712. SubnetId *string `locationName:"subnetId" type:"string"`
  34713. }
  34714. // String returns the string representation
  34715. func (s AssociateRouteTableInput) String() string {
  34716. return awsutil.Prettify(s)
  34717. }
  34718. // GoString returns the string representation
  34719. func (s AssociateRouteTableInput) GoString() string {
  34720. return s.String()
  34721. }
  34722. // Validate inspects the fields of the type to determine if they are valid.
  34723. func (s *AssociateRouteTableInput) Validate() error {
  34724. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  34725. if s.RouteTableId == nil {
  34726. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  34727. }
  34728. if invalidParams.Len() > 0 {
  34729. return invalidParams
  34730. }
  34731. return nil
  34732. }
  34733. // SetDryRun sets the DryRun field's value.
  34734. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  34735. s.DryRun = &v
  34736. return s
  34737. }
  34738. // SetGatewayId sets the GatewayId field's value.
  34739. func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
  34740. s.GatewayId = &v
  34741. return s
  34742. }
  34743. // SetRouteTableId sets the RouteTableId field's value.
  34744. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  34745. s.RouteTableId = &v
  34746. return s
  34747. }
  34748. // SetSubnetId sets the SubnetId field's value.
  34749. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  34750. s.SubnetId = &v
  34751. return s
  34752. }
  34753. type AssociateRouteTableOutput struct {
  34754. _ struct{} `type:"structure"`
  34755. // The route table association ID. This ID is required for disassociating the
  34756. // route table.
  34757. AssociationId *string `locationName:"associationId" type:"string"`
  34758. // The state of the association.
  34759. AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
  34760. }
  34761. // String returns the string representation
  34762. func (s AssociateRouteTableOutput) String() string {
  34763. return awsutil.Prettify(s)
  34764. }
  34765. // GoString returns the string representation
  34766. func (s AssociateRouteTableOutput) GoString() string {
  34767. return s.String()
  34768. }
  34769. // SetAssociationId sets the AssociationId field's value.
  34770. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  34771. s.AssociationId = &v
  34772. return s
  34773. }
  34774. // SetAssociationState sets the AssociationState field's value.
  34775. func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
  34776. s.AssociationState = v
  34777. return s
  34778. }
  34779. type AssociateSubnetCidrBlockInput struct {
  34780. _ struct{} `type:"structure"`
  34781. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  34782. //
  34783. // Ipv6CidrBlock is a required field
  34784. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  34785. // The ID of your subnet.
  34786. //
  34787. // SubnetId is a required field
  34788. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  34789. }
  34790. // String returns the string representation
  34791. func (s AssociateSubnetCidrBlockInput) String() string {
  34792. return awsutil.Prettify(s)
  34793. }
  34794. // GoString returns the string representation
  34795. func (s AssociateSubnetCidrBlockInput) GoString() string {
  34796. return s.String()
  34797. }
  34798. // Validate inspects the fields of the type to determine if they are valid.
  34799. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  34800. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  34801. if s.Ipv6CidrBlock == nil {
  34802. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  34803. }
  34804. if s.SubnetId == nil {
  34805. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  34806. }
  34807. if invalidParams.Len() > 0 {
  34808. return invalidParams
  34809. }
  34810. return nil
  34811. }
  34812. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  34813. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  34814. s.Ipv6CidrBlock = &v
  34815. return s
  34816. }
  34817. // SetSubnetId sets the SubnetId field's value.
  34818. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  34819. s.SubnetId = &v
  34820. return s
  34821. }
  34822. type AssociateSubnetCidrBlockOutput struct {
  34823. _ struct{} `type:"structure"`
  34824. // Information about the IPv6 CIDR block association.
  34825. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  34826. // The ID of the subnet.
  34827. SubnetId *string `locationName:"subnetId" type:"string"`
  34828. }
  34829. // String returns the string representation
  34830. func (s AssociateSubnetCidrBlockOutput) String() string {
  34831. return awsutil.Prettify(s)
  34832. }
  34833. // GoString returns the string representation
  34834. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  34835. return s.String()
  34836. }
  34837. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  34838. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  34839. s.Ipv6CidrBlockAssociation = v
  34840. return s
  34841. }
  34842. // SetSubnetId sets the SubnetId field's value.
  34843. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  34844. s.SubnetId = &v
  34845. return s
  34846. }
  34847. type AssociateTransitGatewayMulticastDomainInput struct {
  34848. _ struct{} `type:"structure"`
  34849. // Checks whether you have the required permissions for the action, without
  34850. // actually making the request, and provides an error response. If you have
  34851. // the required permissions, the error response is DryRunOperation. Otherwise,
  34852. // it is UnauthorizedOperation.
  34853. DryRun *bool `type:"boolean"`
  34854. // The IDs of the subnets to associate with the transit gateway multicast domain.
  34855. SubnetIds []*string `locationNameList:"item" type:"list"`
  34856. // The ID of the transit gateway attachment to associate with the transit gateway
  34857. // multicast domain.
  34858. TransitGatewayAttachmentId *string `type:"string"`
  34859. // The ID of the transit gateway multicast domain.
  34860. TransitGatewayMulticastDomainId *string `type:"string"`
  34861. }
  34862. // String returns the string representation
  34863. func (s AssociateTransitGatewayMulticastDomainInput) String() string {
  34864. return awsutil.Prettify(s)
  34865. }
  34866. // GoString returns the string representation
  34867. func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
  34868. return s.String()
  34869. }
  34870. // SetDryRun sets the DryRun field's value.
  34871. func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
  34872. s.DryRun = &v
  34873. return s
  34874. }
  34875. // SetSubnetIds sets the SubnetIds field's value.
  34876. func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
  34877. s.SubnetIds = v
  34878. return s
  34879. }
  34880. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  34881. func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
  34882. s.TransitGatewayAttachmentId = &v
  34883. return s
  34884. }
  34885. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  34886. func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
  34887. s.TransitGatewayMulticastDomainId = &v
  34888. return s
  34889. }
  34890. type AssociateTransitGatewayMulticastDomainOutput struct {
  34891. _ struct{} `type:"structure"`
  34892. // Information about the transit gateway multicast domain associations.
  34893. Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
  34894. }
  34895. // String returns the string representation
  34896. func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
  34897. return awsutil.Prettify(s)
  34898. }
  34899. // GoString returns the string representation
  34900. func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
  34901. return s.String()
  34902. }
  34903. // SetAssociations sets the Associations field's value.
  34904. func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
  34905. s.Associations = v
  34906. return s
  34907. }
  34908. type AssociateTransitGatewayRouteTableInput struct {
  34909. _ struct{} `type:"structure"`
  34910. // Checks whether you have the required permissions for the action, without
  34911. // actually making the request, and provides an error response. If you have
  34912. // the required permissions, the error response is DryRunOperation. Otherwise,
  34913. // it is UnauthorizedOperation.
  34914. DryRun *bool `type:"boolean"`
  34915. // The ID of the attachment.
  34916. //
  34917. // TransitGatewayAttachmentId is a required field
  34918. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  34919. // The ID of the transit gateway route table.
  34920. //
  34921. // TransitGatewayRouteTableId is a required field
  34922. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  34923. }
  34924. // String returns the string representation
  34925. func (s AssociateTransitGatewayRouteTableInput) String() string {
  34926. return awsutil.Prettify(s)
  34927. }
  34928. // GoString returns the string representation
  34929. func (s AssociateTransitGatewayRouteTableInput) GoString() string {
  34930. return s.String()
  34931. }
  34932. // Validate inspects the fields of the type to determine if they are valid.
  34933. func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
  34934. invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
  34935. if s.TransitGatewayAttachmentId == nil {
  34936. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  34937. }
  34938. if s.TransitGatewayRouteTableId == nil {
  34939. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  34940. }
  34941. if invalidParams.Len() > 0 {
  34942. return invalidParams
  34943. }
  34944. return nil
  34945. }
  34946. // SetDryRun sets the DryRun field's value.
  34947. func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
  34948. s.DryRun = &v
  34949. return s
  34950. }
  34951. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  34952. func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
  34953. s.TransitGatewayAttachmentId = &v
  34954. return s
  34955. }
  34956. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  34957. func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
  34958. s.TransitGatewayRouteTableId = &v
  34959. return s
  34960. }
  34961. type AssociateTransitGatewayRouteTableOutput struct {
  34962. _ struct{} `type:"structure"`
  34963. // The ID of the association.
  34964. Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
  34965. }
  34966. // String returns the string representation
  34967. func (s AssociateTransitGatewayRouteTableOutput) String() string {
  34968. return awsutil.Prettify(s)
  34969. }
  34970. // GoString returns the string representation
  34971. func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
  34972. return s.String()
  34973. }
  34974. // SetAssociation sets the Association field's value.
  34975. func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
  34976. s.Association = v
  34977. return s
  34978. }
  34979. type AssociateVpcCidrBlockInput struct {
  34980. _ struct{} `type:"structure"`
  34981. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  34982. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  34983. // CIDR block.
  34984. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  34985. // An IPv4 CIDR block to associate with the VPC.
  34986. CidrBlock *string `type:"string"`
  34987. // The name of the location from which we advertise the IPV6 CIDR block. Use
  34988. // this parameter to limit the CiDR block to this location.
  34989. //
  34990. // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
  34991. //
  34992. // You can have one IPv6 CIDR block association per network border group.
  34993. Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
  34994. // The ID of the VPC.
  34995. //
  34996. // VpcId is a required field
  34997. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  34998. }
  34999. // String returns the string representation
  35000. func (s AssociateVpcCidrBlockInput) String() string {
  35001. return awsutil.Prettify(s)
  35002. }
  35003. // GoString returns the string representation
  35004. func (s AssociateVpcCidrBlockInput) GoString() string {
  35005. return s.String()
  35006. }
  35007. // Validate inspects the fields of the type to determine if they are valid.
  35008. func (s *AssociateVpcCidrBlockInput) Validate() error {
  35009. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  35010. if s.VpcId == nil {
  35011. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  35012. }
  35013. if invalidParams.Len() > 0 {
  35014. return invalidParams
  35015. }
  35016. return nil
  35017. }
  35018. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  35019. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  35020. s.AmazonProvidedIpv6CidrBlock = &v
  35021. return s
  35022. }
  35023. // SetCidrBlock sets the CidrBlock field's value.
  35024. func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
  35025. s.CidrBlock = &v
  35026. return s
  35027. }
  35028. // SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
  35029. func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
  35030. s.Ipv6CidrBlockNetworkBorderGroup = &v
  35031. return s
  35032. }
  35033. // SetVpcId sets the VpcId field's value.
  35034. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  35035. s.VpcId = &v
  35036. return s
  35037. }
  35038. type AssociateVpcCidrBlockOutput struct {
  35039. _ struct{} `type:"structure"`
  35040. // Information about the IPv4 CIDR block association.
  35041. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  35042. // Information about the IPv6 CIDR block association.
  35043. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  35044. // The ID of the VPC.
  35045. VpcId *string `locationName:"vpcId" type:"string"`
  35046. }
  35047. // String returns the string representation
  35048. func (s AssociateVpcCidrBlockOutput) String() string {
  35049. return awsutil.Prettify(s)
  35050. }
  35051. // GoString returns the string representation
  35052. func (s AssociateVpcCidrBlockOutput) GoString() string {
  35053. return s.String()
  35054. }
  35055. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  35056. func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  35057. s.CidrBlockAssociation = v
  35058. return s
  35059. }
  35060. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  35061. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  35062. s.Ipv6CidrBlockAssociation = v
  35063. return s
  35064. }
  35065. // SetVpcId sets the VpcId field's value.
  35066. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  35067. s.VpcId = &v
  35068. return s
  35069. }
  35070. // Describes a target network that is associated with a Client VPN endpoint.
  35071. // A target network is a subnet in a VPC.
  35072. type AssociatedTargetNetwork struct {
  35073. _ struct{} `type:"structure"`
  35074. // The ID of the subnet.
  35075. NetworkId *string `locationName:"networkId" type:"string"`
  35076. // The target network type.
  35077. NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
  35078. }
  35079. // String returns the string representation
  35080. func (s AssociatedTargetNetwork) String() string {
  35081. return awsutil.Prettify(s)
  35082. }
  35083. // GoString returns the string representation
  35084. func (s AssociatedTargetNetwork) GoString() string {
  35085. return s.String()
  35086. }
  35087. // SetNetworkId sets the NetworkId field's value.
  35088. func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
  35089. s.NetworkId = &v
  35090. return s
  35091. }
  35092. // SetNetworkType sets the NetworkType field's value.
  35093. func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
  35094. s.NetworkType = &v
  35095. return s
  35096. }
  35097. // Describes the state of a target network association.
  35098. type AssociationStatus struct {
  35099. _ struct{} `type:"structure"`
  35100. // The state of the target network association.
  35101. Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
  35102. // A message about the status of the target network association, if applicable.
  35103. Message *string `locationName:"message" type:"string"`
  35104. }
  35105. // String returns the string representation
  35106. func (s AssociationStatus) String() string {
  35107. return awsutil.Prettify(s)
  35108. }
  35109. // GoString returns the string representation
  35110. func (s AssociationStatus) GoString() string {
  35111. return s.String()
  35112. }
  35113. // SetCode sets the Code field's value.
  35114. func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
  35115. s.Code = &v
  35116. return s
  35117. }
  35118. // SetMessage sets the Message field's value.
  35119. func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
  35120. s.Message = &v
  35121. return s
  35122. }
  35123. type AttachClassicLinkVpcInput struct {
  35124. _ struct{} `type:"structure"`
  35125. // Checks whether you have the required permissions for the action, without
  35126. // actually making the request, and provides an error response. If you have
  35127. // the required permissions, the error response is DryRunOperation. Otherwise,
  35128. // it is UnauthorizedOperation.
  35129. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35130. // The ID of one or more of the VPC's security groups. You cannot specify security
  35131. // groups from a different VPC.
  35132. //
  35133. // Groups is a required field
  35134. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  35135. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  35136. //
  35137. // InstanceId is a required field
  35138. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  35139. // The ID of a ClassicLink-enabled VPC.
  35140. //
  35141. // VpcId is a required field
  35142. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  35143. }
  35144. // String returns the string representation
  35145. func (s AttachClassicLinkVpcInput) String() string {
  35146. return awsutil.Prettify(s)
  35147. }
  35148. // GoString returns the string representation
  35149. func (s AttachClassicLinkVpcInput) GoString() string {
  35150. return s.String()
  35151. }
  35152. // Validate inspects the fields of the type to determine if they are valid.
  35153. func (s *AttachClassicLinkVpcInput) Validate() error {
  35154. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  35155. if s.Groups == nil {
  35156. invalidParams.Add(request.NewErrParamRequired("Groups"))
  35157. }
  35158. if s.InstanceId == nil {
  35159. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35160. }
  35161. if s.VpcId == nil {
  35162. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  35163. }
  35164. if invalidParams.Len() > 0 {
  35165. return invalidParams
  35166. }
  35167. return nil
  35168. }
  35169. // SetDryRun sets the DryRun field's value.
  35170. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  35171. s.DryRun = &v
  35172. return s
  35173. }
  35174. // SetGroups sets the Groups field's value.
  35175. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  35176. s.Groups = v
  35177. return s
  35178. }
  35179. // SetInstanceId sets the InstanceId field's value.
  35180. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  35181. s.InstanceId = &v
  35182. return s
  35183. }
  35184. // SetVpcId sets the VpcId field's value.
  35185. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  35186. s.VpcId = &v
  35187. return s
  35188. }
  35189. type AttachClassicLinkVpcOutput struct {
  35190. _ struct{} `type:"structure"`
  35191. // Returns true if the request succeeds; otherwise, it returns an error.
  35192. Return *bool `locationName:"return" type:"boolean"`
  35193. }
  35194. // String returns the string representation
  35195. func (s AttachClassicLinkVpcOutput) String() string {
  35196. return awsutil.Prettify(s)
  35197. }
  35198. // GoString returns the string representation
  35199. func (s AttachClassicLinkVpcOutput) GoString() string {
  35200. return s.String()
  35201. }
  35202. // SetReturn sets the Return field's value.
  35203. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  35204. s.Return = &v
  35205. return s
  35206. }
  35207. type AttachInternetGatewayInput struct {
  35208. _ struct{} `type:"structure"`
  35209. // Checks whether you have the required permissions for the action, without
  35210. // actually making the request, and provides an error response. If you have
  35211. // the required permissions, the error response is DryRunOperation. Otherwise,
  35212. // it is UnauthorizedOperation.
  35213. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35214. // The ID of the internet gateway.
  35215. //
  35216. // InternetGatewayId is a required field
  35217. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  35218. // The ID of the VPC.
  35219. //
  35220. // VpcId is a required field
  35221. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  35222. }
  35223. // String returns the string representation
  35224. func (s AttachInternetGatewayInput) String() string {
  35225. return awsutil.Prettify(s)
  35226. }
  35227. // GoString returns the string representation
  35228. func (s AttachInternetGatewayInput) GoString() string {
  35229. return s.String()
  35230. }
  35231. // Validate inspects the fields of the type to determine if they are valid.
  35232. func (s *AttachInternetGatewayInput) Validate() error {
  35233. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  35234. if s.InternetGatewayId == nil {
  35235. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  35236. }
  35237. if s.VpcId == nil {
  35238. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  35239. }
  35240. if invalidParams.Len() > 0 {
  35241. return invalidParams
  35242. }
  35243. return nil
  35244. }
  35245. // SetDryRun sets the DryRun field's value.
  35246. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  35247. s.DryRun = &v
  35248. return s
  35249. }
  35250. // SetInternetGatewayId sets the InternetGatewayId field's value.
  35251. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  35252. s.InternetGatewayId = &v
  35253. return s
  35254. }
  35255. // SetVpcId sets the VpcId field's value.
  35256. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  35257. s.VpcId = &v
  35258. return s
  35259. }
  35260. type AttachInternetGatewayOutput struct {
  35261. _ struct{} `type:"structure"`
  35262. }
  35263. // String returns the string representation
  35264. func (s AttachInternetGatewayOutput) String() string {
  35265. return awsutil.Prettify(s)
  35266. }
  35267. // GoString returns the string representation
  35268. func (s AttachInternetGatewayOutput) GoString() string {
  35269. return s.String()
  35270. }
  35271. // Contains the parameters for AttachNetworkInterface.
  35272. type AttachNetworkInterfaceInput struct {
  35273. _ struct{} `type:"structure"`
  35274. // The index of the device for the network interface attachment.
  35275. //
  35276. // DeviceIndex is a required field
  35277. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  35278. // Checks whether you have the required permissions for the action, without
  35279. // actually making the request, and provides an error response. If you have
  35280. // the required permissions, the error response is DryRunOperation. Otherwise,
  35281. // it is UnauthorizedOperation.
  35282. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35283. // The ID of the instance.
  35284. //
  35285. // InstanceId is a required field
  35286. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  35287. // The ID of the network interface.
  35288. //
  35289. // NetworkInterfaceId is a required field
  35290. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  35291. }
  35292. // String returns the string representation
  35293. func (s AttachNetworkInterfaceInput) String() string {
  35294. return awsutil.Prettify(s)
  35295. }
  35296. // GoString returns the string representation
  35297. func (s AttachNetworkInterfaceInput) GoString() string {
  35298. return s.String()
  35299. }
  35300. // Validate inspects the fields of the type to determine if they are valid.
  35301. func (s *AttachNetworkInterfaceInput) Validate() error {
  35302. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  35303. if s.DeviceIndex == nil {
  35304. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  35305. }
  35306. if s.InstanceId == nil {
  35307. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35308. }
  35309. if s.NetworkInterfaceId == nil {
  35310. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  35311. }
  35312. if invalidParams.Len() > 0 {
  35313. return invalidParams
  35314. }
  35315. return nil
  35316. }
  35317. // SetDeviceIndex sets the DeviceIndex field's value.
  35318. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  35319. s.DeviceIndex = &v
  35320. return s
  35321. }
  35322. // SetDryRun sets the DryRun field's value.
  35323. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  35324. s.DryRun = &v
  35325. return s
  35326. }
  35327. // SetInstanceId sets the InstanceId field's value.
  35328. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  35329. s.InstanceId = &v
  35330. return s
  35331. }
  35332. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  35333. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  35334. s.NetworkInterfaceId = &v
  35335. return s
  35336. }
  35337. // Contains the output of AttachNetworkInterface.
  35338. type AttachNetworkInterfaceOutput struct {
  35339. _ struct{} `type:"structure"`
  35340. // The ID of the network interface attachment.
  35341. AttachmentId *string `locationName:"attachmentId" type:"string"`
  35342. }
  35343. // String returns the string representation
  35344. func (s AttachNetworkInterfaceOutput) String() string {
  35345. return awsutil.Prettify(s)
  35346. }
  35347. // GoString returns the string representation
  35348. func (s AttachNetworkInterfaceOutput) GoString() string {
  35349. return s.String()
  35350. }
  35351. // SetAttachmentId sets the AttachmentId field's value.
  35352. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  35353. s.AttachmentId = &v
  35354. return s
  35355. }
  35356. type AttachVolumeInput struct {
  35357. _ struct{} `type:"structure"`
  35358. // The device name (for example, /dev/sdh or xvdh).
  35359. //
  35360. // Device is a required field
  35361. Device *string `type:"string" required:"true"`
  35362. // Checks whether you have the required permissions for the action, without
  35363. // actually making the request, and provides an error response. If you have
  35364. // the required permissions, the error response is DryRunOperation. Otherwise,
  35365. // it is UnauthorizedOperation.
  35366. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35367. // The ID of the instance.
  35368. //
  35369. // InstanceId is a required field
  35370. InstanceId *string `type:"string" required:"true"`
  35371. // The ID of the EBS volume. The volume and instance must be within the same
  35372. // Availability Zone.
  35373. //
  35374. // VolumeId is a required field
  35375. VolumeId *string `type:"string" required:"true"`
  35376. }
  35377. // String returns the string representation
  35378. func (s AttachVolumeInput) String() string {
  35379. return awsutil.Prettify(s)
  35380. }
  35381. // GoString returns the string representation
  35382. func (s AttachVolumeInput) GoString() string {
  35383. return s.String()
  35384. }
  35385. // Validate inspects the fields of the type to determine if they are valid.
  35386. func (s *AttachVolumeInput) Validate() error {
  35387. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  35388. if s.Device == nil {
  35389. invalidParams.Add(request.NewErrParamRequired("Device"))
  35390. }
  35391. if s.InstanceId == nil {
  35392. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35393. }
  35394. if s.VolumeId == nil {
  35395. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  35396. }
  35397. if invalidParams.Len() > 0 {
  35398. return invalidParams
  35399. }
  35400. return nil
  35401. }
  35402. // SetDevice sets the Device field's value.
  35403. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  35404. s.Device = &v
  35405. return s
  35406. }
  35407. // SetDryRun sets the DryRun field's value.
  35408. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  35409. s.DryRun = &v
  35410. return s
  35411. }
  35412. // SetInstanceId sets the InstanceId field's value.
  35413. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  35414. s.InstanceId = &v
  35415. return s
  35416. }
  35417. // SetVolumeId sets the VolumeId field's value.
  35418. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  35419. s.VolumeId = &v
  35420. return s
  35421. }
  35422. // Contains the parameters for AttachVpnGateway.
  35423. type AttachVpnGatewayInput struct {
  35424. _ struct{} `type:"structure"`
  35425. // Checks whether you have the required permissions for the action, without
  35426. // actually making the request, and provides an error response. If you have
  35427. // the required permissions, the error response is DryRunOperation. Otherwise,
  35428. // it is UnauthorizedOperation.
  35429. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35430. // The ID of the VPC.
  35431. //
  35432. // VpcId is a required field
  35433. VpcId *string `type:"string" required:"true"`
  35434. // The ID of the virtual private gateway.
  35435. //
  35436. // VpnGatewayId is a required field
  35437. VpnGatewayId *string `type:"string" required:"true"`
  35438. }
  35439. // String returns the string representation
  35440. func (s AttachVpnGatewayInput) String() string {
  35441. return awsutil.Prettify(s)
  35442. }
  35443. // GoString returns the string representation
  35444. func (s AttachVpnGatewayInput) GoString() string {
  35445. return s.String()
  35446. }
  35447. // Validate inspects the fields of the type to determine if they are valid.
  35448. func (s *AttachVpnGatewayInput) Validate() error {
  35449. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  35450. if s.VpcId == nil {
  35451. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  35452. }
  35453. if s.VpnGatewayId == nil {
  35454. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  35455. }
  35456. if invalidParams.Len() > 0 {
  35457. return invalidParams
  35458. }
  35459. return nil
  35460. }
  35461. // SetDryRun sets the DryRun field's value.
  35462. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  35463. s.DryRun = &v
  35464. return s
  35465. }
  35466. // SetVpcId sets the VpcId field's value.
  35467. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  35468. s.VpcId = &v
  35469. return s
  35470. }
  35471. // SetVpnGatewayId sets the VpnGatewayId field's value.
  35472. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  35473. s.VpnGatewayId = &v
  35474. return s
  35475. }
  35476. // Contains the output of AttachVpnGateway.
  35477. type AttachVpnGatewayOutput struct {
  35478. _ struct{} `type:"structure"`
  35479. // Information about the attachment.
  35480. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  35481. }
  35482. // String returns the string representation
  35483. func (s AttachVpnGatewayOutput) String() string {
  35484. return awsutil.Prettify(s)
  35485. }
  35486. // GoString returns the string representation
  35487. func (s AttachVpnGatewayOutput) GoString() string {
  35488. return s.String()
  35489. }
  35490. // SetVpcAttachment sets the VpcAttachment field's value.
  35491. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  35492. s.VpcAttachment = v
  35493. return s
  35494. }
  35495. // Describes a value for a resource attribute that is a Boolean value.
  35496. type AttributeBooleanValue struct {
  35497. _ struct{} `type:"structure"`
  35498. // The attribute value. The valid values are true or false.
  35499. Value *bool `locationName:"value" type:"boolean"`
  35500. }
  35501. // String returns the string representation
  35502. func (s AttributeBooleanValue) String() string {
  35503. return awsutil.Prettify(s)
  35504. }
  35505. // GoString returns the string representation
  35506. func (s AttributeBooleanValue) GoString() string {
  35507. return s.String()
  35508. }
  35509. // SetValue sets the Value field's value.
  35510. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  35511. s.Value = &v
  35512. return s
  35513. }
  35514. // Describes a value for a resource attribute that is a String.
  35515. type AttributeValue struct {
  35516. _ struct{} `type:"structure"`
  35517. // The attribute value. The value is case-sensitive.
  35518. Value *string `locationName:"value" type:"string"`
  35519. }
  35520. // String returns the string representation
  35521. func (s AttributeValue) String() string {
  35522. return awsutil.Prettify(s)
  35523. }
  35524. // GoString returns the string representation
  35525. func (s AttributeValue) GoString() string {
  35526. return s.String()
  35527. }
  35528. // SetValue sets the Value field's value.
  35529. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  35530. s.Value = &v
  35531. return s
  35532. }
  35533. // Information about an authorization rule.
  35534. type AuthorizationRule struct {
  35535. _ struct{} `type:"structure"`
  35536. // Indicates whether the authorization rule grants access to all clients.
  35537. AccessAll *bool `locationName:"accessAll" type:"boolean"`
  35538. // The ID of the Client VPN endpoint with which the authorization rule is associated.
  35539. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  35540. // A brief description of the authorization rule.
  35541. Description *string `locationName:"description" type:"string"`
  35542. // The IPv4 address range, in CIDR notation, of the network to which the authorization
  35543. // rule applies.
  35544. DestinationCidr *string `locationName:"destinationCidr" type:"string"`
  35545. // The ID of the Active Directory group to which the authorization rule grants
  35546. // access.
  35547. GroupId *string `locationName:"groupId" type:"string"`
  35548. // The current state of the authorization rule.
  35549. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  35550. }
  35551. // String returns the string representation
  35552. func (s AuthorizationRule) String() string {
  35553. return awsutil.Prettify(s)
  35554. }
  35555. // GoString returns the string representation
  35556. func (s AuthorizationRule) GoString() string {
  35557. return s.String()
  35558. }
  35559. // SetAccessAll sets the AccessAll field's value.
  35560. func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
  35561. s.AccessAll = &v
  35562. return s
  35563. }
  35564. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  35565. func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
  35566. s.ClientVpnEndpointId = &v
  35567. return s
  35568. }
  35569. // SetDescription sets the Description field's value.
  35570. func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
  35571. s.Description = &v
  35572. return s
  35573. }
  35574. // SetDestinationCidr sets the DestinationCidr field's value.
  35575. func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
  35576. s.DestinationCidr = &v
  35577. return s
  35578. }
  35579. // SetGroupId sets the GroupId field's value.
  35580. func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
  35581. s.GroupId = &v
  35582. return s
  35583. }
  35584. // SetStatus sets the Status field's value.
  35585. func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
  35586. s.Status = v
  35587. return s
  35588. }
  35589. type AuthorizeClientVpnIngressInput struct {
  35590. _ struct{} `type:"structure"`
  35591. // The ID of the Active Directory group to grant access.
  35592. AccessGroupId *string `type:"string"`
  35593. // Indicates whether to grant access to all clients. Use true to grant all clients
  35594. // who successfully establish a VPN connection access to the network.
  35595. AuthorizeAllGroups *bool `type:"boolean"`
  35596. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  35597. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  35598. ClientToken *string `type:"string" idempotencyToken:"true"`
  35599. // The ID of the Client VPN endpoint.
  35600. //
  35601. // ClientVpnEndpointId is a required field
  35602. ClientVpnEndpointId *string `type:"string" required:"true"`
  35603. // A brief description of the authorization rule.
  35604. Description *string `type:"string"`
  35605. // Checks whether you have the required permissions for the action, without
  35606. // actually making the request, and provides an error response. If you have
  35607. // the required permissions, the error response is DryRunOperation. Otherwise,
  35608. // it is UnauthorizedOperation.
  35609. DryRun *bool `type:"boolean"`
  35610. // The IPv4 address range, in CIDR notation, of the network for which access
  35611. // is being authorized.
  35612. //
  35613. // TargetNetworkCidr is a required field
  35614. TargetNetworkCidr *string `type:"string" required:"true"`
  35615. }
  35616. // String returns the string representation
  35617. func (s AuthorizeClientVpnIngressInput) String() string {
  35618. return awsutil.Prettify(s)
  35619. }
  35620. // GoString returns the string representation
  35621. func (s AuthorizeClientVpnIngressInput) GoString() string {
  35622. return s.String()
  35623. }
  35624. // Validate inspects the fields of the type to determine if they are valid.
  35625. func (s *AuthorizeClientVpnIngressInput) Validate() error {
  35626. invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
  35627. if s.ClientVpnEndpointId == nil {
  35628. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  35629. }
  35630. if s.TargetNetworkCidr == nil {
  35631. invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
  35632. }
  35633. if invalidParams.Len() > 0 {
  35634. return invalidParams
  35635. }
  35636. return nil
  35637. }
  35638. // SetAccessGroupId sets the AccessGroupId field's value.
  35639. func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
  35640. s.AccessGroupId = &v
  35641. return s
  35642. }
  35643. // SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
  35644. func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
  35645. s.AuthorizeAllGroups = &v
  35646. return s
  35647. }
  35648. // SetClientToken sets the ClientToken field's value.
  35649. func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
  35650. s.ClientToken = &v
  35651. return s
  35652. }
  35653. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  35654. func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
  35655. s.ClientVpnEndpointId = &v
  35656. return s
  35657. }
  35658. // SetDescription sets the Description field's value.
  35659. func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
  35660. s.Description = &v
  35661. return s
  35662. }
  35663. // SetDryRun sets the DryRun field's value.
  35664. func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
  35665. s.DryRun = &v
  35666. return s
  35667. }
  35668. // SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
  35669. func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
  35670. s.TargetNetworkCidr = &v
  35671. return s
  35672. }
  35673. type AuthorizeClientVpnIngressOutput struct {
  35674. _ struct{} `type:"structure"`
  35675. // The current state of the authorization rule.
  35676. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  35677. }
  35678. // String returns the string representation
  35679. func (s AuthorizeClientVpnIngressOutput) String() string {
  35680. return awsutil.Prettify(s)
  35681. }
  35682. // GoString returns the string representation
  35683. func (s AuthorizeClientVpnIngressOutput) GoString() string {
  35684. return s.String()
  35685. }
  35686. // SetStatus sets the Status field's value.
  35687. func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
  35688. s.Status = v
  35689. return s
  35690. }
  35691. type AuthorizeSecurityGroupEgressInput struct {
  35692. _ struct{} `type:"structure"`
  35693. // Not supported. Use a set of IP permissions to specify the CIDR.
  35694. CidrIp *string `locationName:"cidrIp" type:"string"`
  35695. // Checks whether you have the required permissions for the action, without
  35696. // actually making the request, and provides an error response. If you have
  35697. // the required permissions, the error response is DryRunOperation. Otherwise,
  35698. // it is UnauthorizedOperation.
  35699. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35700. // Not supported. Use a set of IP permissions to specify the port.
  35701. FromPort *int64 `locationName:"fromPort" type:"integer"`
  35702. // The ID of the security group.
  35703. //
  35704. // GroupId is a required field
  35705. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  35706. // The sets of IP permissions. You can't specify a destination security group
  35707. // and a CIDR IP address range in the same set of permissions.
  35708. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  35709. // Not supported. Use a set of IP permissions to specify the protocol name or
  35710. // number.
  35711. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  35712. // Not supported. Use a set of IP permissions to specify a destination security
  35713. // group.
  35714. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  35715. // Not supported. Use a set of IP permissions to specify a destination security
  35716. // group.
  35717. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  35718. // Not supported. Use a set of IP permissions to specify the port.
  35719. ToPort *int64 `locationName:"toPort" type:"integer"`
  35720. }
  35721. // String returns the string representation
  35722. func (s AuthorizeSecurityGroupEgressInput) String() string {
  35723. return awsutil.Prettify(s)
  35724. }
  35725. // GoString returns the string representation
  35726. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  35727. return s.String()
  35728. }
  35729. // Validate inspects the fields of the type to determine if they are valid.
  35730. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  35731. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  35732. if s.GroupId == nil {
  35733. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  35734. }
  35735. if invalidParams.Len() > 0 {
  35736. return invalidParams
  35737. }
  35738. return nil
  35739. }
  35740. // SetCidrIp sets the CidrIp field's value.
  35741. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  35742. s.CidrIp = &v
  35743. return s
  35744. }
  35745. // SetDryRun sets the DryRun field's value.
  35746. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  35747. s.DryRun = &v
  35748. return s
  35749. }
  35750. // SetFromPort sets the FromPort field's value.
  35751. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  35752. s.FromPort = &v
  35753. return s
  35754. }
  35755. // SetGroupId sets the GroupId field's value.
  35756. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  35757. s.GroupId = &v
  35758. return s
  35759. }
  35760. // SetIpPermissions sets the IpPermissions field's value.
  35761. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  35762. s.IpPermissions = v
  35763. return s
  35764. }
  35765. // SetIpProtocol sets the IpProtocol field's value.
  35766. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  35767. s.IpProtocol = &v
  35768. return s
  35769. }
  35770. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  35771. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  35772. s.SourceSecurityGroupName = &v
  35773. return s
  35774. }
  35775. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  35776. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  35777. s.SourceSecurityGroupOwnerId = &v
  35778. return s
  35779. }
  35780. // SetToPort sets the ToPort field's value.
  35781. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  35782. s.ToPort = &v
  35783. return s
  35784. }
  35785. type AuthorizeSecurityGroupEgressOutput struct {
  35786. _ struct{} `type:"structure"`
  35787. }
  35788. // String returns the string representation
  35789. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  35790. return awsutil.Prettify(s)
  35791. }
  35792. // GoString returns the string representation
  35793. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  35794. return s.String()
  35795. }
  35796. type AuthorizeSecurityGroupIngressInput struct {
  35797. _ struct{} `type:"structure"`
  35798. // The IPv4 address range, in CIDR format. You can't specify this parameter
  35799. // when specifying a source security group. To specify an IPv6 address range,
  35800. // use a set of IP permissions.
  35801. //
  35802. // Alternatively, use a set of IP permissions to specify multiple rules and
  35803. // a description for the rule.
  35804. CidrIp *string `type:"string"`
  35805. // Checks whether you have the required permissions for the action, without
  35806. // actually making the request, and provides an error response. If you have
  35807. // the required permissions, the error response is DryRunOperation. Otherwise,
  35808. // it is UnauthorizedOperation.
  35809. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35810. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  35811. // For the ICMP type number, use -1 to specify all types. If you specify all
  35812. // ICMP types, you must specify all codes.
  35813. //
  35814. // Alternatively, use a set of IP permissions to specify multiple rules and
  35815. // a description for the rule.
  35816. FromPort *int64 `type:"integer"`
  35817. // The ID of the security group. You must specify either the security group
  35818. // ID or the security group name in the request. For security groups in a nondefault
  35819. // VPC, you must specify the security group ID.
  35820. GroupId *string `type:"string"`
  35821. // [EC2-Classic, default VPC] The name of the security group. You must specify
  35822. // either the security group ID or the security group name in the request.
  35823. GroupName *string `type:"string"`
  35824. // The sets of IP permissions.
  35825. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  35826. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  35827. // To specify icmpv6, use a set of IP permissions.
  35828. //
  35829. // [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
  35830. // other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
  35831. // of any ports you specify.
  35832. //
  35833. // Alternatively, use a set of IP permissions to specify multiple rules and
  35834. // a description for the rule.
  35835. IpProtocol *string `type:"string"`
  35836. // [EC2-Classic, default VPC] The name of the source security group. You can't
  35837. // specify this parameter in combination with the following parameters: the
  35838. // CIDR IP address range, the start of the port range, the IP protocol, and
  35839. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  35840. // access. To create a rule with a specific IP protocol and port range, use
  35841. // a set of IP permissions instead. For EC2-VPC, the source security group must
  35842. // be in the same VPC.
  35843. SourceSecurityGroupName *string `type:"string"`
  35844. // [nondefault VPC] The AWS account ID for the source security group, if the
  35845. // source security group is in a different account. You can't specify this parameter
  35846. // in combination with the following parameters: the CIDR IP address range,
  35847. // the IP protocol, the start of the port range, and the end of the port range.
  35848. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  35849. // with a specific IP protocol and port range, use a set of IP permissions instead.
  35850. SourceSecurityGroupOwnerId *string `type:"string"`
  35851. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  35852. // For the ICMP code number, use -1 to specify all codes. If you specify all
  35853. // ICMP types, you must specify all codes.
  35854. //
  35855. // Alternatively, use a set of IP permissions to specify multiple rules and
  35856. // a description for the rule.
  35857. ToPort *int64 `type:"integer"`
  35858. }
  35859. // String returns the string representation
  35860. func (s AuthorizeSecurityGroupIngressInput) String() string {
  35861. return awsutil.Prettify(s)
  35862. }
  35863. // GoString returns the string representation
  35864. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  35865. return s.String()
  35866. }
  35867. // SetCidrIp sets the CidrIp field's value.
  35868. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  35869. s.CidrIp = &v
  35870. return s
  35871. }
  35872. // SetDryRun sets the DryRun field's value.
  35873. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  35874. s.DryRun = &v
  35875. return s
  35876. }
  35877. // SetFromPort sets the FromPort field's value.
  35878. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  35879. s.FromPort = &v
  35880. return s
  35881. }
  35882. // SetGroupId sets the GroupId field's value.
  35883. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  35884. s.GroupId = &v
  35885. return s
  35886. }
  35887. // SetGroupName sets the GroupName field's value.
  35888. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  35889. s.GroupName = &v
  35890. return s
  35891. }
  35892. // SetIpPermissions sets the IpPermissions field's value.
  35893. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  35894. s.IpPermissions = v
  35895. return s
  35896. }
  35897. // SetIpProtocol sets the IpProtocol field's value.
  35898. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  35899. s.IpProtocol = &v
  35900. return s
  35901. }
  35902. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  35903. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  35904. s.SourceSecurityGroupName = &v
  35905. return s
  35906. }
  35907. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  35908. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  35909. s.SourceSecurityGroupOwnerId = &v
  35910. return s
  35911. }
  35912. // SetToPort sets the ToPort field's value.
  35913. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  35914. s.ToPort = &v
  35915. return s
  35916. }
  35917. type AuthorizeSecurityGroupIngressOutput struct {
  35918. _ struct{} `type:"structure"`
  35919. }
  35920. // String returns the string representation
  35921. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  35922. return awsutil.Prettify(s)
  35923. }
  35924. // GoString returns the string representation
  35925. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  35926. return s.String()
  35927. }
  35928. // Describes an Availability Zone or Local Zone.
  35929. type AvailabilityZone struct {
  35930. _ struct{} `type:"structure"`
  35931. // For Availability Zones, this parameter has the same value as the Region name.
  35932. //
  35933. // For Local Zones, the name of the associated group, for example us-west-2-lax-1.
  35934. GroupName *string `locationName:"groupName" type:"string"`
  35935. // Any messages about the Availability Zone or Local Zone.
  35936. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  35937. // The name of the location from which the address is advertised.
  35938. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
  35939. // For Availability Zones, this parameter always has the value of opt-in-not-required.
  35940. //
  35941. // For Local Zones, this parameter is the opt in status. The possible values
  35942. // are opted-in, and not-opted-in.
  35943. OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
  35944. // The name of the Region.
  35945. RegionName *string `locationName:"regionName" type:"string"`
  35946. // The state of the Availability Zone or Local Zone.
  35947. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  35948. // The ID of the Availability Zone or Local Zone.
  35949. ZoneId *string `locationName:"zoneId" type:"string"`
  35950. // The name of the Availability Zone or Local Zone.
  35951. ZoneName *string `locationName:"zoneName" type:"string"`
  35952. }
  35953. // String returns the string representation
  35954. func (s AvailabilityZone) String() string {
  35955. return awsutil.Prettify(s)
  35956. }
  35957. // GoString returns the string representation
  35958. func (s AvailabilityZone) GoString() string {
  35959. return s.String()
  35960. }
  35961. // SetGroupName sets the GroupName field's value.
  35962. func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
  35963. s.GroupName = &v
  35964. return s
  35965. }
  35966. // SetMessages sets the Messages field's value.
  35967. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  35968. s.Messages = v
  35969. return s
  35970. }
  35971. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  35972. func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
  35973. s.NetworkBorderGroup = &v
  35974. return s
  35975. }
  35976. // SetOptInStatus sets the OptInStatus field's value.
  35977. func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
  35978. s.OptInStatus = &v
  35979. return s
  35980. }
  35981. // SetRegionName sets the RegionName field's value.
  35982. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  35983. s.RegionName = &v
  35984. return s
  35985. }
  35986. // SetState sets the State field's value.
  35987. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  35988. s.State = &v
  35989. return s
  35990. }
  35991. // SetZoneId sets the ZoneId field's value.
  35992. func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
  35993. s.ZoneId = &v
  35994. return s
  35995. }
  35996. // SetZoneName sets the ZoneName field's value.
  35997. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  35998. s.ZoneName = &v
  35999. return s
  36000. }
  36001. // Describes a message about an Availability Zone or Local Zone.
  36002. type AvailabilityZoneMessage struct {
  36003. _ struct{} `type:"structure"`
  36004. // The message about the Availability Zone or Local Zone.
  36005. Message *string `locationName:"message" type:"string"`
  36006. }
  36007. // String returns the string representation
  36008. func (s AvailabilityZoneMessage) String() string {
  36009. return awsutil.Prettify(s)
  36010. }
  36011. // GoString returns the string representation
  36012. func (s AvailabilityZoneMessage) GoString() string {
  36013. return s.String()
  36014. }
  36015. // SetMessage sets the Message field's value.
  36016. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  36017. s.Message = &v
  36018. return s
  36019. }
  36020. // The capacity information for instances that can be launched onto the Dedicated
  36021. // Host.
  36022. type AvailableCapacity struct {
  36023. _ struct{} `type:"structure"`
  36024. // The number of instances that can be launched onto the Dedicated Host depending
  36025. // on the host's available capacity. For Dedicated Hosts that support multiple
  36026. // instance types, this parameter represents the number of instances for each
  36027. // instance size that is supported on the host.
  36028. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  36029. // The number of vCPUs available for launching instances onto the Dedicated
  36030. // Host.
  36031. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  36032. }
  36033. // String returns the string representation
  36034. func (s AvailableCapacity) String() string {
  36035. return awsutil.Prettify(s)
  36036. }
  36037. // GoString returns the string representation
  36038. func (s AvailableCapacity) GoString() string {
  36039. return s.String()
  36040. }
  36041. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  36042. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  36043. s.AvailableInstanceCapacity = v
  36044. return s
  36045. }
  36046. // SetAvailableVCpus sets the AvailableVCpus field's value.
  36047. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  36048. s.AvailableVCpus = &v
  36049. return s
  36050. }
  36051. type BlobAttributeValue struct {
  36052. _ struct{} `type:"structure"`
  36053. // Value is automatically base64 encoded/decoded by the SDK.
  36054. Value []byte `locationName:"value" type:"blob"`
  36055. }
  36056. // String returns the string representation
  36057. func (s BlobAttributeValue) String() string {
  36058. return awsutil.Prettify(s)
  36059. }
  36060. // GoString returns the string representation
  36061. func (s BlobAttributeValue) GoString() string {
  36062. return s.String()
  36063. }
  36064. // SetValue sets the Value field's value.
  36065. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  36066. s.Value = v
  36067. return s
  36068. }
  36069. // Describes a block device mapping.
  36070. type BlockDeviceMapping struct {
  36071. _ struct{} `type:"structure"`
  36072. // The device name (for example, /dev/sdh or xvdh).
  36073. DeviceName *string `locationName:"deviceName" type:"string"`
  36074. // Parameters used to automatically set up EBS volumes when the instance is
  36075. // launched.
  36076. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  36077. // Suppresses the specified device included in the block device mapping of the
  36078. // AMI.
  36079. NoDevice *string `locationName:"noDevice" type:"string"`
  36080. // The virtual device name (ephemeralN). Instance store volumes are numbered
  36081. // starting from 0. An instance type with 2 available instance store volumes
  36082. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  36083. // instance store volumes depends on the instance type. After you connect to
  36084. // the instance, you must mount the volume.
  36085. //
  36086. // NVMe instance store volumes are automatically enumerated and assigned a device
  36087. // name. Including them in your block device mapping has no effect.
  36088. //
  36089. // Constraints: For M3 instances, you must specify instance store volumes in
  36090. // the block device mapping for the instance. When you launch an M3 instance,
  36091. // we ignore any instance store volumes specified in the block device mapping
  36092. // for the AMI.
  36093. VirtualName *string `locationName:"virtualName" type:"string"`
  36094. }
  36095. // String returns the string representation
  36096. func (s BlockDeviceMapping) String() string {
  36097. return awsutil.Prettify(s)
  36098. }
  36099. // GoString returns the string representation
  36100. func (s BlockDeviceMapping) GoString() string {
  36101. return s.String()
  36102. }
  36103. // SetDeviceName sets the DeviceName field's value.
  36104. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  36105. s.DeviceName = &v
  36106. return s
  36107. }
  36108. // SetEbs sets the Ebs field's value.
  36109. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  36110. s.Ebs = v
  36111. return s
  36112. }
  36113. // SetNoDevice sets the NoDevice field's value.
  36114. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  36115. s.NoDevice = &v
  36116. return s
  36117. }
  36118. // SetVirtualName sets the VirtualName field's value.
  36119. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  36120. s.VirtualName = &v
  36121. return s
  36122. }
  36123. // Contains the parameters for BundleInstance.
  36124. type BundleInstanceInput struct {
  36125. _ struct{} `type:"structure"`
  36126. // Checks whether you have the required permissions for the action, without
  36127. // actually making the request, and provides an error response. If you have
  36128. // the required permissions, the error response is DryRunOperation. Otherwise,
  36129. // it is UnauthorizedOperation.
  36130. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36131. // The ID of the instance to bundle.
  36132. //
  36133. // Type: String
  36134. //
  36135. // Default: None
  36136. //
  36137. // Required: Yes
  36138. //
  36139. // InstanceId is a required field
  36140. InstanceId *string `type:"string" required:"true"`
  36141. // The bucket in which to store the AMI. You can specify a bucket that you already
  36142. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  36143. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  36144. //
  36145. // Storage is a required field
  36146. Storage *Storage `type:"structure" required:"true"`
  36147. }
  36148. // String returns the string representation
  36149. func (s BundleInstanceInput) String() string {
  36150. return awsutil.Prettify(s)
  36151. }
  36152. // GoString returns the string representation
  36153. func (s BundleInstanceInput) GoString() string {
  36154. return s.String()
  36155. }
  36156. // Validate inspects the fields of the type to determine if they are valid.
  36157. func (s *BundleInstanceInput) Validate() error {
  36158. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  36159. if s.InstanceId == nil {
  36160. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  36161. }
  36162. if s.Storage == nil {
  36163. invalidParams.Add(request.NewErrParamRequired("Storage"))
  36164. }
  36165. if invalidParams.Len() > 0 {
  36166. return invalidParams
  36167. }
  36168. return nil
  36169. }
  36170. // SetDryRun sets the DryRun field's value.
  36171. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  36172. s.DryRun = &v
  36173. return s
  36174. }
  36175. // SetInstanceId sets the InstanceId field's value.
  36176. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  36177. s.InstanceId = &v
  36178. return s
  36179. }
  36180. // SetStorage sets the Storage field's value.
  36181. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  36182. s.Storage = v
  36183. return s
  36184. }
  36185. // Contains the output of BundleInstance.
  36186. type BundleInstanceOutput struct {
  36187. _ struct{} `type:"structure"`
  36188. // Information about the bundle task.
  36189. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  36190. }
  36191. // String returns the string representation
  36192. func (s BundleInstanceOutput) String() string {
  36193. return awsutil.Prettify(s)
  36194. }
  36195. // GoString returns the string representation
  36196. func (s BundleInstanceOutput) GoString() string {
  36197. return s.String()
  36198. }
  36199. // SetBundleTask sets the BundleTask field's value.
  36200. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  36201. s.BundleTask = v
  36202. return s
  36203. }
  36204. // Describes a bundle task.
  36205. type BundleTask struct {
  36206. _ struct{} `type:"structure"`
  36207. // The ID of the bundle task.
  36208. BundleId *string `locationName:"bundleId" type:"string"`
  36209. // If the task fails, a description of the error.
  36210. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  36211. // The ID of the instance associated with this bundle task.
  36212. InstanceId *string `locationName:"instanceId" type:"string"`
  36213. // The level of task completion, as a percent (for example, 20%).
  36214. Progress *string `locationName:"progress" type:"string"`
  36215. // The time this task started.
  36216. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  36217. // The state of the task.
  36218. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  36219. // The Amazon S3 storage locations.
  36220. Storage *Storage `locationName:"storage" type:"structure"`
  36221. // The time of the most recent update for the task.
  36222. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  36223. }
  36224. // String returns the string representation
  36225. func (s BundleTask) String() string {
  36226. return awsutil.Prettify(s)
  36227. }
  36228. // GoString returns the string representation
  36229. func (s BundleTask) GoString() string {
  36230. return s.String()
  36231. }
  36232. // SetBundleId sets the BundleId field's value.
  36233. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  36234. s.BundleId = &v
  36235. return s
  36236. }
  36237. // SetBundleTaskError sets the BundleTaskError field's value.
  36238. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  36239. s.BundleTaskError = v
  36240. return s
  36241. }
  36242. // SetInstanceId sets the InstanceId field's value.
  36243. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  36244. s.InstanceId = &v
  36245. return s
  36246. }
  36247. // SetProgress sets the Progress field's value.
  36248. func (s *BundleTask) SetProgress(v string) *BundleTask {
  36249. s.Progress = &v
  36250. return s
  36251. }
  36252. // SetStartTime sets the StartTime field's value.
  36253. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  36254. s.StartTime = &v
  36255. return s
  36256. }
  36257. // SetState sets the State field's value.
  36258. func (s *BundleTask) SetState(v string) *BundleTask {
  36259. s.State = &v
  36260. return s
  36261. }
  36262. // SetStorage sets the Storage field's value.
  36263. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  36264. s.Storage = v
  36265. return s
  36266. }
  36267. // SetUpdateTime sets the UpdateTime field's value.
  36268. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  36269. s.UpdateTime = &v
  36270. return s
  36271. }
  36272. // Describes an error for BundleInstance.
  36273. type BundleTaskError struct {
  36274. _ struct{} `type:"structure"`
  36275. // The error code.
  36276. Code *string `locationName:"code" type:"string"`
  36277. // The error message.
  36278. Message *string `locationName:"message" type:"string"`
  36279. }
  36280. // String returns the string representation
  36281. func (s BundleTaskError) String() string {
  36282. return awsutil.Prettify(s)
  36283. }
  36284. // GoString returns the string representation
  36285. func (s BundleTaskError) GoString() string {
  36286. return s.String()
  36287. }
  36288. // SetCode sets the Code field's value.
  36289. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  36290. s.Code = &v
  36291. return s
  36292. }
  36293. // SetMessage sets the Message field's value.
  36294. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  36295. s.Message = &v
  36296. return s
  36297. }
  36298. // Information about an address range that is provisioned for use with your
  36299. // AWS resources through bring your own IP addresses (BYOIP).
  36300. type ByoipCidr struct {
  36301. _ struct{} `type:"structure"`
  36302. // The public IPv4 address range, in CIDR notation.
  36303. Cidr *string `locationName:"cidr" type:"string"`
  36304. // The description of the address range.
  36305. Description *string `locationName:"description" type:"string"`
  36306. // The state of the address pool.
  36307. State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
  36308. // Upon success, contains the ID of the address pool. Otherwise, contains an
  36309. // error message.
  36310. StatusMessage *string `locationName:"statusMessage" type:"string"`
  36311. }
  36312. // String returns the string representation
  36313. func (s ByoipCidr) String() string {
  36314. return awsutil.Prettify(s)
  36315. }
  36316. // GoString returns the string representation
  36317. func (s ByoipCidr) GoString() string {
  36318. return s.String()
  36319. }
  36320. // SetCidr sets the Cidr field's value.
  36321. func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
  36322. s.Cidr = &v
  36323. return s
  36324. }
  36325. // SetDescription sets the Description field's value.
  36326. func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
  36327. s.Description = &v
  36328. return s
  36329. }
  36330. // SetState sets the State field's value.
  36331. func (s *ByoipCidr) SetState(v string) *ByoipCidr {
  36332. s.State = &v
  36333. return s
  36334. }
  36335. // SetStatusMessage sets the StatusMessage field's value.
  36336. func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
  36337. s.StatusMessage = &v
  36338. return s
  36339. }
  36340. // Contains the parameters for CancelBundleTask.
  36341. type CancelBundleTaskInput struct {
  36342. _ struct{} `type:"structure"`
  36343. // The ID of the bundle task.
  36344. //
  36345. // BundleId is a required field
  36346. BundleId *string `type:"string" required:"true"`
  36347. // Checks whether you have the required permissions for the action, without
  36348. // actually making the request, and provides an error response. If you have
  36349. // the required permissions, the error response is DryRunOperation. Otherwise,
  36350. // it is UnauthorizedOperation.
  36351. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36352. }
  36353. // String returns the string representation
  36354. func (s CancelBundleTaskInput) String() string {
  36355. return awsutil.Prettify(s)
  36356. }
  36357. // GoString returns the string representation
  36358. func (s CancelBundleTaskInput) GoString() string {
  36359. return s.String()
  36360. }
  36361. // Validate inspects the fields of the type to determine if they are valid.
  36362. func (s *CancelBundleTaskInput) Validate() error {
  36363. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  36364. if s.BundleId == nil {
  36365. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  36366. }
  36367. if invalidParams.Len() > 0 {
  36368. return invalidParams
  36369. }
  36370. return nil
  36371. }
  36372. // SetBundleId sets the BundleId field's value.
  36373. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  36374. s.BundleId = &v
  36375. return s
  36376. }
  36377. // SetDryRun sets the DryRun field's value.
  36378. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  36379. s.DryRun = &v
  36380. return s
  36381. }
  36382. // Contains the output of CancelBundleTask.
  36383. type CancelBundleTaskOutput struct {
  36384. _ struct{} `type:"structure"`
  36385. // Information about the bundle task.
  36386. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  36387. }
  36388. // String returns the string representation
  36389. func (s CancelBundleTaskOutput) String() string {
  36390. return awsutil.Prettify(s)
  36391. }
  36392. // GoString returns the string representation
  36393. func (s CancelBundleTaskOutput) GoString() string {
  36394. return s.String()
  36395. }
  36396. // SetBundleTask sets the BundleTask field's value.
  36397. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  36398. s.BundleTask = v
  36399. return s
  36400. }
  36401. type CancelCapacityReservationInput struct {
  36402. _ struct{} `type:"structure"`
  36403. // The ID of the Capacity Reservation to be cancelled.
  36404. //
  36405. // CapacityReservationId is a required field
  36406. CapacityReservationId *string `type:"string" required:"true"`
  36407. // Checks whether you have the required permissions for the action, without
  36408. // actually making the request, and provides an error response. If you have
  36409. // the required permissions, the error response is DryRunOperation. Otherwise,
  36410. // it is UnauthorizedOperation.
  36411. DryRun *bool `type:"boolean"`
  36412. }
  36413. // String returns the string representation
  36414. func (s CancelCapacityReservationInput) String() string {
  36415. return awsutil.Prettify(s)
  36416. }
  36417. // GoString returns the string representation
  36418. func (s CancelCapacityReservationInput) GoString() string {
  36419. return s.String()
  36420. }
  36421. // Validate inspects the fields of the type to determine if they are valid.
  36422. func (s *CancelCapacityReservationInput) Validate() error {
  36423. invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
  36424. if s.CapacityReservationId == nil {
  36425. invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
  36426. }
  36427. if invalidParams.Len() > 0 {
  36428. return invalidParams
  36429. }
  36430. return nil
  36431. }
  36432. // SetCapacityReservationId sets the CapacityReservationId field's value.
  36433. func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
  36434. s.CapacityReservationId = &v
  36435. return s
  36436. }
  36437. // SetDryRun sets the DryRun field's value.
  36438. func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
  36439. s.DryRun = &v
  36440. return s
  36441. }
  36442. type CancelCapacityReservationOutput struct {
  36443. _ struct{} `type:"structure"`
  36444. // Returns true if the request succeeds; otherwise, it returns an error.
  36445. Return *bool `locationName:"return" type:"boolean"`
  36446. }
  36447. // String returns the string representation
  36448. func (s CancelCapacityReservationOutput) String() string {
  36449. return awsutil.Prettify(s)
  36450. }
  36451. // GoString returns the string representation
  36452. func (s CancelCapacityReservationOutput) GoString() string {
  36453. return s.String()
  36454. }
  36455. // SetReturn sets the Return field's value.
  36456. func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
  36457. s.Return = &v
  36458. return s
  36459. }
  36460. type CancelConversionTaskInput struct {
  36461. _ struct{} `type:"structure"`
  36462. // The ID of the conversion task.
  36463. //
  36464. // ConversionTaskId is a required field
  36465. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  36466. // Checks whether you have the required permissions for the action, without
  36467. // actually making the request, and provides an error response. If you have
  36468. // the required permissions, the error response is DryRunOperation. Otherwise,
  36469. // it is UnauthorizedOperation.
  36470. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36471. // The reason for canceling the conversion task.
  36472. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  36473. }
  36474. // String returns the string representation
  36475. func (s CancelConversionTaskInput) String() string {
  36476. return awsutil.Prettify(s)
  36477. }
  36478. // GoString returns the string representation
  36479. func (s CancelConversionTaskInput) GoString() string {
  36480. return s.String()
  36481. }
  36482. // Validate inspects the fields of the type to determine if they are valid.
  36483. func (s *CancelConversionTaskInput) Validate() error {
  36484. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  36485. if s.ConversionTaskId == nil {
  36486. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  36487. }
  36488. if invalidParams.Len() > 0 {
  36489. return invalidParams
  36490. }
  36491. return nil
  36492. }
  36493. // SetConversionTaskId sets the ConversionTaskId field's value.
  36494. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  36495. s.ConversionTaskId = &v
  36496. return s
  36497. }
  36498. // SetDryRun sets the DryRun field's value.
  36499. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  36500. s.DryRun = &v
  36501. return s
  36502. }
  36503. // SetReasonMessage sets the ReasonMessage field's value.
  36504. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  36505. s.ReasonMessage = &v
  36506. return s
  36507. }
  36508. type CancelConversionTaskOutput struct {
  36509. _ struct{} `type:"structure"`
  36510. }
  36511. // String returns the string representation
  36512. func (s CancelConversionTaskOutput) String() string {
  36513. return awsutil.Prettify(s)
  36514. }
  36515. // GoString returns the string representation
  36516. func (s CancelConversionTaskOutput) GoString() string {
  36517. return s.String()
  36518. }
  36519. type CancelExportTaskInput struct {
  36520. _ struct{} `type:"structure"`
  36521. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  36522. //
  36523. // ExportTaskId is a required field
  36524. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  36525. }
  36526. // String returns the string representation
  36527. func (s CancelExportTaskInput) String() string {
  36528. return awsutil.Prettify(s)
  36529. }
  36530. // GoString returns the string representation
  36531. func (s CancelExportTaskInput) GoString() string {
  36532. return s.String()
  36533. }
  36534. // Validate inspects the fields of the type to determine if they are valid.
  36535. func (s *CancelExportTaskInput) Validate() error {
  36536. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  36537. if s.ExportTaskId == nil {
  36538. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  36539. }
  36540. if invalidParams.Len() > 0 {
  36541. return invalidParams
  36542. }
  36543. return nil
  36544. }
  36545. // SetExportTaskId sets the ExportTaskId field's value.
  36546. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  36547. s.ExportTaskId = &v
  36548. return s
  36549. }
  36550. type CancelExportTaskOutput struct {
  36551. _ struct{} `type:"structure"`
  36552. }
  36553. // String returns the string representation
  36554. func (s CancelExportTaskOutput) String() string {
  36555. return awsutil.Prettify(s)
  36556. }
  36557. // GoString returns the string representation
  36558. func (s CancelExportTaskOutput) GoString() string {
  36559. return s.String()
  36560. }
  36561. type CancelImportTaskInput struct {
  36562. _ struct{} `type:"structure"`
  36563. // The reason for canceling the task.
  36564. CancelReason *string `type:"string"`
  36565. // Checks whether you have the required permissions for the action, without
  36566. // actually making the request, and provides an error response. If you have
  36567. // the required permissions, the error response is DryRunOperation. Otherwise,
  36568. // it is UnauthorizedOperation.
  36569. DryRun *bool `type:"boolean"`
  36570. // The ID of the import image or import snapshot task to be canceled.
  36571. ImportTaskId *string `type:"string"`
  36572. }
  36573. // String returns the string representation
  36574. func (s CancelImportTaskInput) String() string {
  36575. return awsutil.Prettify(s)
  36576. }
  36577. // GoString returns the string representation
  36578. func (s CancelImportTaskInput) GoString() string {
  36579. return s.String()
  36580. }
  36581. // SetCancelReason sets the CancelReason field's value.
  36582. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  36583. s.CancelReason = &v
  36584. return s
  36585. }
  36586. // SetDryRun sets the DryRun field's value.
  36587. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  36588. s.DryRun = &v
  36589. return s
  36590. }
  36591. // SetImportTaskId sets the ImportTaskId field's value.
  36592. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  36593. s.ImportTaskId = &v
  36594. return s
  36595. }
  36596. type CancelImportTaskOutput struct {
  36597. _ struct{} `type:"structure"`
  36598. // The ID of the task being canceled.
  36599. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  36600. // The current state of the task being canceled.
  36601. PreviousState *string `locationName:"previousState" type:"string"`
  36602. // The current state of the task being canceled.
  36603. State *string `locationName:"state" type:"string"`
  36604. }
  36605. // String returns the string representation
  36606. func (s CancelImportTaskOutput) String() string {
  36607. return awsutil.Prettify(s)
  36608. }
  36609. // GoString returns the string representation
  36610. func (s CancelImportTaskOutput) GoString() string {
  36611. return s.String()
  36612. }
  36613. // SetImportTaskId sets the ImportTaskId field's value.
  36614. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  36615. s.ImportTaskId = &v
  36616. return s
  36617. }
  36618. // SetPreviousState sets the PreviousState field's value.
  36619. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  36620. s.PreviousState = &v
  36621. return s
  36622. }
  36623. // SetState sets the State field's value.
  36624. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  36625. s.State = &v
  36626. return s
  36627. }
  36628. // Contains the parameters for CancelReservedInstancesListing.
  36629. type CancelReservedInstancesListingInput struct {
  36630. _ struct{} `type:"structure"`
  36631. // The ID of the Reserved Instance listing.
  36632. //
  36633. // ReservedInstancesListingId is a required field
  36634. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  36635. }
  36636. // String returns the string representation
  36637. func (s CancelReservedInstancesListingInput) String() string {
  36638. return awsutil.Prettify(s)
  36639. }
  36640. // GoString returns the string representation
  36641. func (s CancelReservedInstancesListingInput) GoString() string {
  36642. return s.String()
  36643. }
  36644. // Validate inspects the fields of the type to determine if they are valid.
  36645. func (s *CancelReservedInstancesListingInput) Validate() error {
  36646. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  36647. if s.ReservedInstancesListingId == nil {
  36648. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  36649. }
  36650. if invalidParams.Len() > 0 {
  36651. return invalidParams
  36652. }
  36653. return nil
  36654. }
  36655. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  36656. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  36657. s.ReservedInstancesListingId = &v
  36658. return s
  36659. }
  36660. // Contains the output of CancelReservedInstancesListing.
  36661. type CancelReservedInstancesListingOutput struct {
  36662. _ struct{} `type:"structure"`
  36663. // The Reserved Instance listing.
  36664. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  36665. }
  36666. // String returns the string representation
  36667. func (s CancelReservedInstancesListingOutput) String() string {
  36668. return awsutil.Prettify(s)
  36669. }
  36670. // GoString returns the string representation
  36671. func (s CancelReservedInstancesListingOutput) GoString() string {
  36672. return s.String()
  36673. }
  36674. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  36675. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  36676. s.ReservedInstancesListings = v
  36677. return s
  36678. }
  36679. // Describes a Spot Fleet error.
  36680. type CancelSpotFleetRequestsError struct {
  36681. _ struct{} `type:"structure"`
  36682. // The error code.
  36683. Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
  36684. // The description for the error code.
  36685. Message *string `locationName:"message" type:"string"`
  36686. }
  36687. // String returns the string representation
  36688. func (s CancelSpotFleetRequestsError) String() string {
  36689. return awsutil.Prettify(s)
  36690. }
  36691. // GoString returns the string representation
  36692. func (s CancelSpotFleetRequestsError) GoString() string {
  36693. return s.String()
  36694. }
  36695. // SetCode sets the Code field's value.
  36696. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  36697. s.Code = &v
  36698. return s
  36699. }
  36700. // SetMessage sets the Message field's value.
  36701. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  36702. s.Message = &v
  36703. return s
  36704. }
  36705. // Describes a Spot Fleet request that was not successfully canceled.
  36706. type CancelSpotFleetRequestsErrorItem struct {
  36707. _ struct{} `type:"structure"`
  36708. // The error.
  36709. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
  36710. // The ID of the Spot Fleet request.
  36711. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  36712. }
  36713. // String returns the string representation
  36714. func (s CancelSpotFleetRequestsErrorItem) String() string {
  36715. return awsutil.Prettify(s)
  36716. }
  36717. // GoString returns the string representation
  36718. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  36719. return s.String()
  36720. }
  36721. // SetError sets the Error field's value.
  36722. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  36723. s.Error = v
  36724. return s
  36725. }
  36726. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36727. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  36728. s.SpotFleetRequestId = &v
  36729. return s
  36730. }
  36731. // Contains the parameters for CancelSpotFleetRequests.
  36732. type CancelSpotFleetRequestsInput struct {
  36733. _ struct{} `type:"structure"`
  36734. // Checks whether you have the required permissions for the action, without
  36735. // actually making the request, and provides an error response. If you have
  36736. // the required permissions, the error response is DryRunOperation. Otherwise,
  36737. // it is UnauthorizedOperation.
  36738. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36739. // The IDs of the Spot Fleet requests.
  36740. //
  36741. // SpotFleetRequestIds is a required field
  36742. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  36743. // Indicates whether to terminate instances for a Spot Fleet request if it is
  36744. // canceled successfully.
  36745. //
  36746. // TerminateInstances is a required field
  36747. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  36748. }
  36749. // String returns the string representation
  36750. func (s CancelSpotFleetRequestsInput) String() string {
  36751. return awsutil.Prettify(s)
  36752. }
  36753. // GoString returns the string representation
  36754. func (s CancelSpotFleetRequestsInput) GoString() string {
  36755. return s.String()
  36756. }
  36757. // Validate inspects the fields of the type to determine if they are valid.
  36758. func (s *CancelSpotFleetRequestsInput) Validate() error {
  36759. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  36760. if s.SpotFleetRequestIds == nil {
  36761. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  36762. }
  36763. if s.TerminateInstances == nil {
  36764. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  36765. }
  36766. if invalidParams.Len() > 0 {
  36767. return invalidParams
  36768. }
  36769. return nil
  36770. }
  36771. // SetDryRun sets the DryRun field's value.
  36772. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  36773. s.DryRun = &v
  36774. return s
  36775. }
  36776. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  36777. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  36778. s.SpotFleetRequestIds = v
  36779. return s
  36780. }
  36781. // SetTerminateInstances sets the TerminateInstances field's value.
  36782. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  36783. s.TerminateInstances = &v
  36784. return s
  36785. }
  36786. // Contains the output of CancelSpotFleetRequests.
  36787. type CancelSpotFleetRequestsOutput struct {
  36788. _ struct{} `type:"structure"`
  36789. // Information about the Spot Fleet requests that are successfully canceled.
  36790. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  36791. // Information about the Spot Fleet requests that are not successfully canceled.
  36792. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  36793. }
  36794. // String returns the string representation
  36795. func (s CancelSpotFleetRequestsOutput) String() string {
  36796. return awsutil.Prettify(s)
  36797. }
  36798. // GoString returns the string representation
  36799. func (s CancelSpotFleetRequestsOutput) GoString() string {
  36800. return s.String()
  36801. }
  36802. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  36803. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  36804. s.SuccessfulFleetRequests = v
  36805. return s
  36806. }
  36807. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  36808. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  36809. s.UnsuccessfulFleetRequests = v
  36810. return s
  36811. }
  36812. // Describes a Spot Fleet request that was successfully canceled.
  36813. type CancelSpotFleetRequestsSuccessItem struct {
  36814. _ struct{} `type:"structure"`
  36815. // The current state of the Spot Fleet request.
  36816. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
  36817. // The previous state of the Spot Fleet request.
  36818. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
  36819. // The ID of the Spot Fleet request.
  36820. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  36821. }
  36822. // String returns the string representation
  36823. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  36824. return awsutil.Prettify(s)
  36825. }
  36826. // GoString returns the string representation
  36827. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  36828. return s.String()
  36829. }
  36830. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  36831. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  36832. s.CurrentSpotFleetRequestState = &v
  36833. return s
  36834. }
  36835. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  36836. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  36837. s.PreviousSpotFleetRequestState = &v
  36838. return s
  36839. }
  36840. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  36841. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  36842. s.SpotFleetRequestId = &v
  36843. return s
  36844. }
  36845. // Contains the parameters for CancelSpotInstanceRequests.
  36846. type CancelSpotInstanceRequestsInput struct {
  36847. _ struct{} `type:"structure"`
  36848. // Checks whether you have the required permissions for the action, without
  36849. // actually making the request, and provides an error response. If you have
  36850. // the required permissions, the error response is DryRunOperation. Otherwise,
  36851. // it is UnauthorizedOperation.
  36852. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36853. // One or more Spot Instance request IDs.
  36854. //
  36855. // SpotInstanceRequestIds is a required field
  36856. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  36857. }
  36858. // String returns the string representation
  36859. func (s CancelSpotInstanceRequestsInput) String() string {
  36860. return awsutil.Prettify(s)
  36861. }
  36862. // GoString returns the string representation
  36863. func (s CancelSpotInstanceRequestsInput) GoString() string {
  36864. return s.String()
  36865. }
  36866. // Validate inspects the fields of the type to determine if they are valid.
  36867. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  36868. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  36869. if s.SpotInstanceRequestIds == nil {
  36870. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  36871. }
  36872. if invalidParams.Len() > 0 {
  36873. return invalidParams
  36874. }
  36875. return nil
  36876. }
  36877. // SetDryRun sets the DryRun field's value.
  36878. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  36879. s.DryRun = &v
  36880. return s
  36881. }
  36882. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  36883. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  36884. s.SpotInstanceRequestIds = v
  36885. return s
  36886. }
  36887. // Contains the output of CancelSpotInstanceRequests.
  36888. type CancelSpotInstanceRequestsOutput struct {
  36889. _ struct{} `type:"structure"`
  36890. // One or more Spot Instance requests.
  36891. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  36892. }
  36893. // String returns the string representation
  36894. func (s CancelSpotInstanceRequestsOutput) String() string {
  36895. return awsutil.Prettify(s)
  36896. }
  36897. // GoString returns the string representation
  36898. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  36899. return s.String()
  36900. }
  36901. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  36902. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  36903. s.CancelledSpotInstanceRequests = v
  36904. return s
  36905. }
  36906. // Describes a request to cancel a Spot Instance.
  36907. type CancelledSpotInstanceRequest struct {
  36908. _ struct{} `type:"structure"`
  36909. // The ID of the Spot Instance request.
  36910. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  36911. // The state of the Spot Instance request.
  36912. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  36913. }
  36914. // String returns the string representation
  36915. func (s CancelledSpotInstanceRequest) String() string {
  36916. return awsutil.Prettify(s)
  36917. }
  36918. // GoString returns the string representation
  36919. func (s CancelledSpotInstanceRequest) GoString() string {
  36920. return s.String()
  36921. }
  36922. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  36923. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  36924. s.SpotInstanceRequestId = &v
  36925. return s
  36926. }
  36927. // SetState sets the State field's value.
  36928. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  36929. s.State = &v
  36930. return s
  36931. }
  36932. // Describes a Capacity Reservation.
  36933. type CapacityReservation struct {
  36934. _ struct{} `type:"structure"`
  36935. // The Availability Zone in which the capacity is reserved.
  36936. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  36937. // The Availability Zone ID of the Capacity Reservation.
  36938. AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
  36939. // The remaining capacity. Indicates the number of instances that can be launched
  36940. // in the Capacity Reservation.
  36941. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  36942. // The Amazon Resource Name (ARN) of the Capacity Reservation.
  36943. CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"`
  36944. // The ID of the Capacity Reservation.
  36945. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  36946. // The date and time at which the Capacity Reservation was created.
  36947. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  36948. // Indicates whether the Capacity Reservation supports EBS-optimized instances.
  36949. // This optimization provides dedicated throughput to Amazon EBS and an optimized
  36950. // configuration stack to provide optimal I/O performance. This optimization
  36951. // isn't available with all instance types. Additional usage charges apply when
  36952. // using an EBS- optimized instance.
  36953. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  36954. // The date and time at which the Capacity Reservation expires. When a Capacity
  36955. // Reservation expires, the reserved capacity is released and you can no longer
  36956. // launch instances into it. The Capacity Reservation's state changes to expired
  36957. // when it reaches its end date and time.
  36958. EndDate *time.Time `locationName:"endDate" type:"timestamp"`
  36959. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  36960. // can have one of the following end types:
  36961. //
  36962. // * unlimited - The Capacity Reservation remains active until you explicitly
  36963. // cancel it.
  36964. //
  36965. // * limited - The Capacity Reservation expires automatically at a specified
  36966. // date and time.
  36967. EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
  36968. // Indicates whether the Capacity Reservation supports instances with temporary,
  36969. // block-level storage.
  36970. EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
  36971. // Indicates the type of instance launches that the Capacity Reservation accepts.
  36972. // The options include:
  36973. //
  36974. // * open - The Capacity Reservation accepts all instances that have matching
  36975. // attributes (instance type, platform, and Availability Zone). Instances
  36976. // that have matching attributes launch into the Capacity Reservation automatically
  36977. // without specifying any additional parameters.
  36978. //
  36979. // * targeted - The Capacity Reservation only accepts instances that have
  36980. // matching attributes (instance type, platform, and Availability Zone),
  36981. // and explicitly target the Capacity Reservation. This ensures that only
  36982. // permitted instances can use the reserved capacity.
  36983. InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
  36984. // The type of operating system for which the Capacity Reservation reserves
  36985. // capacity.
  36986. InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
  36987. // The type of instance for which the Capacity Reservation reserves capacity.
  36988. InstanceType *string `locationName:"instanceType" type:"string"`
  36989. // The ID of the AWS account that owns the Capacity Reservation.
  36990. OwnerId *string `locationName:"ownerId" type:"string"`
  36991. // The current state of the Capacity Reservation. A Capacity Reservation can
  36992. // be in one of the following states:
  36993. //
  36994. // * active - The Capacity Reservation is active and the capacity is available
  36995. // for your use.
  36996. //
  36997. // * expired - The Capacity Reservation expired automatically at the date
  36998. // and time specified in your request. The reserved capacity is no longer
  36999. // available for your use.
  37000. //
  37001. // * cancelled - The Capacity Reservation was manually cancelled. The reserved
  37002. // capacity is no longer available for your use.
  37003. //
  37004. // * pending - The Capacity Reservation request was successful but the capacity
  37005. // provisioning is still pending.
  37006. //
  37007. // * failed - The Capacity Reservation request has failed. A request might
  37008. // fail due to invalid request parameters, capacity constraints, or instance
  37009. // limit constraints. Failed requests are retained for 60 minutes.
  37010. State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
  37011. // Any tags assigned to the Capacity Reservation.
  37012. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37013. // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
  37014. // can have one of the following tenancy settings:
  37015. //
  37016. // * default - The Capacity Reservation is created on hardware that is shared
  37017. // with other AWS accounts.
  37018. //
  37019. // * dedicated - The Capacity Reservation is created on single-tenant hardware
  37020. // that is dedicated to a single AWS account.
  37021. Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
  37022. // The total number of instances for which the Capacity Reservation reserves
  37023. // capacity.
  37024. TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
  37025. }
  37026. // String returns the string representation
  37027. func (s CapacityReservation) String() string {
  37028. return awsutil.Prettify(s)
  37029. }
  37030. // GoString returns the string representation
  37031. func (s CapacityReservation) GoString() string {
  37032. return s.String()
  37033. }
  37034. // SetAvailabilityZone sets the AvailabilityZone field's value.
  37035. func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
  37036. s.AvailabilityZone = &v
  37037. return s
  37038. }
  37039. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  37040. func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation {
  37041. s.AvailabilityZoneId = &v
  37042. return s
  37043. }
  37044. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  37045. func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
  37046. s.AvailableInstanceCount = &v
  37047. return s
  37048. }
  37049. // SetCapacityReservationArn sets the CapacityReservationArn field's value.
  37050. func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation {
  37051. s.CapacityReservationArn = &v
  37052. return s
  37053. }
  37054. // SetCapacityReservationId sets the CapacityReservationId field's value.
  37055. func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
  37056. s.CapacityReservationId = &v
  37057. return s
  37058. }
  37059. // SetCreateDate sets the CreateDate field's value.
  37060. func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
  37061. s.CreateDate = &v
  37062. return s
  37063. }
  37064. // SetEbsOptimized sets the EbsOptimized field's value.
  37065. func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
  37066. s.EbsOptimized = &v
  37067. return s
  37068. }
  37069. // SetEndDate sets the EndDate field's value.
  37070. func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
  37071. s.EndDate = &v
  37072. return s
  37073. }
  37074. // SetEndDateType sets the EndDateType field's value.
  37075. func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
  37076. s.EndDateType = &v
  37077. return s
  37078. }
  37079. // SetEphemeralStorage sets the EphemeralStorage field's value.
  37080. func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
  37081. s.EphemeralStorage = &v
  37082. return s
  37083. }
  37084. // SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
  37085. func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
  37086. s.InstanceMatchCriteria = &v
  37087. return s
  37088. }
  37089. // SetInstancePlatform sets the InstancePlatform field's value.
  37090. func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
  37091. s.InstancePlatform = &v
  37092. return s
  37093. }
  37094. // SetInstanceType sets the InstanceType field's value.
  37095. func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
  37096. s.InstanceType = &v
  37097. return s
  37098. }
  37099. // SetOwnerId sets the OwnerId field's value.
  37100. func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation {
  37101. s.OwnerId = &v
  37102. return s
  37103. }
  37104. // SetState sets the State field's value.
  37105. func (s *CapacityReservation) SetState(v string) *CapacityReservation {
  37106. s.State = &v
  37107. return s
  37108. }
  37109. // SetTags sets the Tags field's value.
  37110. func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
  37111. s.Tags = v
  37112. return s
  37113. }
  37114. // SetTenancy sets the Tenancy field's value.
  37115. func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
  37116. s.Tenancy = &v
  37117. return s
  37118. }
  37119. // SetTotalInstanceCount sets the TotalInstanceCount field's value.
  37120. func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
  37121. s.TotalInstanceCount = &v
  37122. return s
  37123. }
  37124. // Describes the strategy for using unused Capacity Reservations for fulfilling
  37125. // On-Demand capacity.
  37126. //
  37127. // This strategy can only be used if the EC2 Fleet is of type instant.
  37128. //
  37129. // For more information about Capacity Reservations, see On-Demand Capacity
  37130. // Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
  37131. // in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
  37132. // Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
  37133. // in the Amazon Elastic Compute Cloud User Guide.
  37134. type CapacityReservationOptions struct {
  37135. _ struct{} `type:"structure"`
  37136. // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
  37137. // capacity.
  37138. //
  37139. // If you specify use-capacity-reservations-first, the fleet uses unused Capacity
  37140. // Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
  37141. // If multiple instance pools have unused Capacity Reservations, the On-Demand
  37142. // allocation strategy (lowest-price or prioritized) is applied. If the number
  37143. // of unused Capacity Reservations is less than the On-Demand target capacity,
  37144. // the remaining On-Demand target capacity is launched according to the On-Demand
  37145. // allocation strategy (lowest-price or prioritized).
  37146. //
  37147. // If you do not specify a value, the fleet fulfils the On-Demand capacity according
  37148. // to the chosen On-Demand allocation strategy.
  37149. UsageStrategy *string `locationName:"usageStrategy" type:"string" enum:"FleetCapacityReservationUsageStrategy"`
  37150. }
  37151. // String returns the string representation
  37152. func (s CapacityReservationOptions) String() string {
  37153. return awsutil.Prettify(s)
  37154. }
  37155. // GoString returns the string representation
  37156. func (s CapacityReservationOptions) GoString() string {
  37157. return s.String()
  37158. }
  37159. // SetUsageStrategy sets the UsageStrategy field's value.
  37160. func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReservationOptions {
  37161. s.UsageStrategy = &v
  37162. return s
  37163. }
  37164. // Describes the strategy for using unused Capacity Reservations for fulfilling
  37165. // On-Demand capacity.
  37166. //
  37167. // This strategy can only be used if the EC2 Fleet is of type instant.
  37168. //
  37169. // For more information about Capacity Reservations, see On-Demand Capacity
  37170. // Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
  37171. // in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
  37172. // Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
  37173. // in the Amazon Elastic Compute Cloud User Guide.
  37174. type CapacityReservationOptionsRequest struct {
  37175. _ struct{} `type:"structure"`
  37176. // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
  37177. // capacity.
  37178. //
  37179. // If you specify use-capacity-reservations-first, the fleet uses unused Capacity
  37180. // Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
  37181. // If multiple instance pools have unused Capacity Reservations, the On-Demand
  37182. // allocation strategy (lowest-price or prioritized) is applied. If the number
  37183. // of unused Capacity Reservations is less than the On-Demand target capacity,
  37184. // the remaining On-Demand target capacity is launched according to the On-Demand
  37185. // allocation strategy (lowest-price or prioritized).
  37186. //
  37187. // If you do not specify a value, the fleet fulfils the On-Demand capacity according
  37188. // to the chosen On-Demand allocation strategy.
  37189. UsageStrategy *string `type:"string" enum:"FleetCapacityReservationUsageStrategy"`
  37190. }
  37191. // String returns the string representation
  37192. func (s CapacityReservationOptionsRequest) String() string {
  37193. return awsutil.Prettify(s)
  37194. }
  37195. // GoString returns the string representation
  37196. func (s CapacityReservationOptionsRequest) GoString() string {
  37197. return s.String()
  37198. }
  37199. // SetUsageStrategy sets the UsageStrategy field's value.
  37200. func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *CapacityReservationOptionsRequest {
  37201. s.UsageStrategy = &v
  37202. return s
  37203. }
  37204. // Describes an instance's Capacity Reservation targeting option. You can specify
  37205. // only one parameter at a time. If you specify CapacityReservationPreference
  37206. // and CapacityReservationTarget, the request fails.
  37207. //
  37208. // Use the CapacityReservationPreference parameter to configure the instance
  37209. // to run as an On-Demand Instance or to run in any open Capacity Reservation
  37210. // that has matching attributes (instance type, platform, Availability Zone).
  37211. // Use the CapacityReservationTarget parameter to explicitly target a specific
  37212. // Capacity Reservation.
  37213. type CapacityReservationSpecification struct {
  37214. _ struct{} `type:"structure"`
  37215. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  37216. // include:
  37217. //
  37218. // * open - The instance can run in any open Capacity Reservation that has
  37219. // matching attributes (instance type, platform, Availability Zone).
  37220. //
  37221. // * none - The instance avoids running in a Capacity Reservation even if
  37222. // one is available. The instance runs as an On-Demand Instance.
  37223. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
  37224. // Information about the target Capacity Reservation.
  37225. CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
  37226. }
  37227. // String returns the string representation
  37228. func (s CapacityReservationSpecification) String() string {
  37229. return awsutil.Prettify(s)
  37230. }
  37231. // GoString returns the string representation
  37232. func (s CapacityReservationSpecification) GoString() string {
  37233. return s.String()
  37234. }
  37235. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  37236. func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
  37237. s.CapacityReservationPreference = &v
  37238. return s
  37239. }
  37240. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  37241. func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
  37242. s.CapacityReservationTarget = v
  37243. return s
  37244. }
  37245. // Describes the instance's Capacity Reservation targeting preferences. The
  37246. // action returns the capacityReservationPreference response element if the
  37247. // instance is configured to run in On-Demand capacity, or if it is configured
  37248. // in run in any open Capacity Reservation that has matching attributes (instance
  37249. // type, platform, Availability Zone). The action returns the capacityReservationTarget
  37250. // response element if the instance explicily targets a specific Capacity Reservation.
  37251. type CapacityReservationSpecificationResponse struct {
  37252. _ struct{} `type:"structure"`
  37253. // Describes the instance's Capacity Reservation preferences. Possible preferences
  37254. // include:
  37255. //
  37256. // * open - The instance can run in any open Capacity Reservation that has
  37257. // matching attributes (instance type, platform, Availability Zone).
  37258. //
  37259. // * none - The instance avoids running in a Capacity Reservation even if
  37260. // one is available. The instance runs in On-Demand capacity.
  37261. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
  37262. // Information about the targeted Capacity Reservation.
  37263. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
  37264. }
  37265. // String returns the string representation
  37266. func (s CapacityReservationSpecificationResponse) String() string {
  37267. return awsutil.Prettify(s)
  37268. }
  37269. // GoString returns the string representation
  37270. func (s CapacityReservationSpecificationResponse) GoString() string {
  37271. return s.String()
  37272. }
  37273. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  37274. func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
  37275. s.CapacityReservationPreference = &v
  37276. return s
  37277. }
  37278. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  37279. func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
  37280. s.CapacityReservationTarget = v
  37281. return s
  37282. }
  37283. // Describes a target Capacity Reservation.
  37284. type CapacityReservationTarget struct {
  37285. _ struct{} `type:"structure"`
  37286. // The ID of the Capacity Reservation.
  37287. CapacityReservationId *string `type:"string"`
  37288. }
  37289. // String returns the string representation
  37290. func (s CapacityReservationTarget) String() string {
  37291. return awsutil.Prettify(s)
  37292. }
  37293. // GoString returns the string representation
  37294. func (s CapacityReservationTarget) GoString() string {
  37295. return s.String()
  37296. }
  37297. // SetCapacityReservationId sets the CapacityReservationId field's value.
  37298. func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
  37299. s.CapacityReservationId = &v
  37300. return s
  37301. }
  37302. // Describes a target Capacity Reservation.
  37303. type CapacityReservationTargetResponse struct {
  37304. _ struct{} `type:"structure"`
  37305. // The ID of the Capacity Reservation.
  37306. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  37307. }
  37308. // String returns the string representation
  37309. func (s CapacityReservationTargetResponse) String() string {
  37310. return awsutil.Prettify(s)
  37311. }
  37312. // GoString returns the string representation
  37313. func (s CapacityReservationTargetResponse) GoString() string {
  37314. return s.String()
  37315. }
  37316. // SetCapacityReservationId sets the CapacityReservationId field's value.
  37317. func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
  37318. s.CapacityReservationId = &v
  37319. return s
  37320. }
  37321. // Information about the client certificate used for authentication.
  37322. type CertificateAuthentication struct {
  37323. _ struct{} `type:"structure"`
  37324. // The ARN of the client certificate.
  37325. ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
  37326. }
  37327. // String returns the string representation
  37328. func (s CertificateAuthentication) String() string {
  37329. return awsutil.Prettify(s)
  37330. }
  37331. // GoString returns the string representation
  37332. func (s CertificateAuthentication) GoString() string {
  37333. return s.String()
  37334. }
  37335. // SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
  37336. func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
  37337. s.ClientRootCertificateChain = &v
  37338. return s
  37339. }
  37340. // Information about the client certificate to be used for authentication.
  37341. type CertificateAuthenticationRequest struct {
  37342. _ struct{} `type:"structure"`
  37343. // The ARN of the client certificate. The certificate must be signed by a certificate
  37344. // authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
  37345. ClientRootCertificateChainArn *string `type:"string"`
  37346. }
  37347. // String returns the string representation
  37348. func (s CertificateAuthenticationRequest) String() string {
  37349. return awsutil.Prettify(s)
  37350. }
  37351. // GoString returns the string representation
  37352. func (s CertificateAuthenticationRequest) GoString() string {
  37353. return s.String()
  37354. }
  37355. // SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
  37356. func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
  37357. s.ClientRootCertificateChainArn = &v
  37358. return s
  37359. }
  37360. // Provides authorization for Amazon to bring a specific IP address range to
  37361. // a specific AWS account using bring your own IP addresses (BYOIP). For more
  37362. // information, see Prepare to Bring Your Address Range to Your AWS Account
  37363. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
  37364. // in the Amazon Elastic Compute Cloud User Guide.
  37365. type CidrAuthorizationContext struct {
  37366. _ struct{} `type:"structure"`
  37367. // The plain-text authorization message for the prefix and account.
  37368. //
  37369. // Message is a required field
  37370. Message *string `type:"string" required:"true"`
  37371. // The signed authorization message for the prefix and account.
  37372. //
  37373. // Signature is a required field
  37374. Signature *string `type:"string" required:"true"`
  37375. }
  37376. // String returns the string representation
  37377. func (s CidrAuthorizationContext) String() string {
  37378. return awsutil.Prettify(s)
  37379. }
  37380. // GoString returns the string representation
  37381. func (s CidrAuthorizationContext) GoString() string {
  37382. return s.String()
  37383. }
  37384. // Validate inspects the fields of the type to determine if they are valid.
  37385. func (s *CidrAuthorizationContext) Validate() error {
  37386. invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
  37387. if s.Message == nil {
  37388. invalidParams.Add(request.NewErrParamRequired("Message"))
  37389. }
  37390. if s.Signature == nil {
  37391. invalidParams.Add(request.NewErrParamRequired("Signature"))
  37392. }
  37393. if invalidParams.Len() > 0 {
  37394. return invalidParams
  37395. }
  37396. return nil
  37397. }
  37398. // SetMessage sets the Message field's value.
  37399. func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
  37400. s.Message = &v
  37401. return s
  37402. }
  37403. // SetSignature sets the Signature field's value.
  37404. func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
  37405. s.Signature = &v
  37406. return s
  37407. }
  37408. // Describes an IPv4 CIDR block.
  37409. type CidrBlock struct {
  37410. _ struct{} `type:"structure"`
  37411. // The IPv4 CIDR block.
  37412. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  37413. }
  37414. // String returns the string representation
  37415. func (s CidrBlock) String() string {
  37416. return awsutil.Prettify(s)
  37417. }
  37418. // GoString returns the string representation
  37419. func (s CidrBlock) GoString() string {
  37420. return s.String()
  37421. }
  37422. // SetCidrBlock sets the CidrBlock field's value.
  37423. func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
  37424. s.CidrBlock = &v
  37425. return s
  37426. }
  37427. // Describes the ClassicLink DNS support status of a VPC.
  37428. type ClassicLinkDnsSupport struct {
  37429. _ struct{} `type:"structure"`
  37430. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  37431. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  37432. // The ID of the VPC.
  37433. VpcId *string `locationName:"vpcId" type:"string"`
  37434. }
  37435. // String returns the string representation
  37436. func (s ClassicLinkDnsSupport) String() string {
  37437. return awsutil.Prettify(s)
  37438. }
  37439. // GoString returns the string representation
  37440. func (s ClassicLinkDnsSupport) GoString() string {
  37441. return s.String()
  37442. }
  37443. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  37444. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  37445. s.ClassicLinkDnsSupported = &v
  37446. return s
  37447. }
  37448. // SetVpcId sets the VpcId field's value.
  37449. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  37450. s.VpcId = &v
  37451. return s
  37452. }
  37453. // Describes a linked EC2-Classic instance.
  37454. type ClassicLinkInstance struct {
  37455. _ struct{} `type:"structure"`
  37456. // A list of security groups.
  37457. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  37458. // The ID of the instance.
  37459. InstanceId *string `locationName:"instanceId" type:"string"`
  37460. // Any tags assigned to the instance.
  37461. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37462. // The ID of the VPC.
  37463. VpcId *string `locationName:"vpcId" type:"string"`
  37464. }
  37465. // String returns the string representation
  37466. func (s ClassicLinkInstance) String() string {
  37467. return awsutil.Prettify(s)
  37468. }
  37469. // GoString returns the string representation
  37470. func (s ClassicLinkInstance) GoString() string {
  37471. return s.String()
  37472. }
  37473. // SetGroups sets the Groups field's value.
  37474. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  37475. s.Groups = v
  37476. return s
  37477. }
  37478. // SetInstanceId sets the InstanceId field's value.
  37479. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  37480. s.InstanceId = &v
  37481. return s
  37482. }
  37483. // SetTags sets the Tags field's value.
  37484. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  37485. s.Tags = v
  37486. return s
  37487. }
  37488. // SetVpcId sets the VpcId field's value.
  37489. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  37490. s.VpcId = &v
  37491. return s
  37492. }
  37493. // Describes a Classic Load Balancer.
  37494. type ClassicLoadBalancer struct {
  37495. _ struct{} `type:"structure"`
  37496. // The name of the load balancer.
  37497. Name *string `locationName:"name" type:"string"`
  37498. }
  37499. // String returns the string representation
  37500. func (s ClassicLoadBalancer) String() string {
  37501. return awsutil.Prettify(s)
  37502. }
  37503. // GoString returns the string representation
  37504. func (s ClassicLoadBalancer) GoString() string {
  37505. return s.String()
  37506. }
  37507. // SetName sets the Name field's value.
  37508. func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
  37509. s.Name = &v
  37510. return s
  37511. }
  37512. // Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
  37513. // registers the running Spot Instances with these Classic Load Balancers.
  37514. type ClassicLoadBalancersConfig struct {
  37515. _ struct{} `type:"structure"`
  37516. // One or more Classic Load Balancers.
  37517. ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
  37518. }
  37519. // String returns the string representation
  37520. func (s ClassicLoadBalancersConfig) String() string {
  37521. return awsutil.Prettify(s)
  37522. }
  37523. // GoString returns the string representation
  37524. func (s ClassicLoadBalancersConfig) GoString() string {
  37525. return s.String()
  37526. }
  37527. // Validate inspects the fields of the type to determine if they are valid.
  37528. func (s *ClassicLoadBalancersConfig) Validate() error {
  37529. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
  37530. if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
  37531. invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
  37532. }
  37533. if invalidParams.Len() > 0 {
  37534. return invalidParams
  37535. }
  37536. return nil
  37537. }
  37538. // SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
  37539. func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
  37540. s.ClassicLoadBalancers = v
  37541. return s
  37542. }
  37543. // Describes the state of a client certificate revocation list.
  37544. type ClientCertificateRevocationListStatus struct {
  37545. _ struct{} `type:"structure"`
  37546. // The state of the client certificate revocation list.
  37547. Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
  37548. // A message about the status of the client certificate revocation list, if
  37549. // applicable.
  37550. Message *string `locationName:"message" type:"string"`
  37551. }
  37552. // String returns the string representation
  37553. func (s ClientCertificateRevocationListStatus) String() string {
  37554. return awsutil.Prettify(s)
  37555. }
  37556. // GoString returns the string representation
  37557. func (s ClientCertificateRevocationListStatus) GoString() string {
  37558. return s.String()
  37559. }
  37560. // SetCode sets the Code field's value.
  37561. func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
  37562. s.Code = &v
  37563. return s
  37564. }
  37565. // SetMessage sets the Message field's value.
  37566. func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
  37567. s.Message = &v
  37568. return s
  37569. }
  37570. // Describes the client-specific data.
  37571. type ClientData struct {
  37572. _ struct{} `type:"structure"`
  37573. // A user-defined comment about the disk upload.
  37574. Comment *string `type:"string"`
  37575. // The time that the disk upload ends.
  37576. UploadEnd *time.Time `type:"timestamp"`
  37577. // The size of the uploaded disk image, in GiB.
  37578. UploadSize *float64 `type:"double"`
  37579. // The time that the disk upload starts.
  37580. UploadStart *time.Time `type:"timestamp"`
  37581. }
  37582. // String returns the string representation
  37583. func (s ClientData) String() string {
  37584. return awsutil.Prettify(s)
  37585. }
  37586. // GoString returns the string representation
  37587. func (s ClientData) GoString() string {
  37588. return s.String()
  37589. }
  37590. // SetComment sets the Comment field's value.
  37591. func (s *ClientData) SetComment(v string) *ClientData {
  37592. s.Comment = &v
  37593. return s
  37594. }
  37595. // SetUploadEnd sets the UploadEnd field's value.
  37596. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  37597. s.UploadEnd = &v
  37598. return s
  37599. }
  37600. // SetUploadSize sets the UploadSize field's value.
  37601. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  37602. s.UploadSize = &v
  37603. return s
  37604. }
  37605. // SetUploadStart sets the UploadStart field's value.
  37606. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  37607. s.UploadStart = &v
  37608. return s
  37609. }
  37610. // Describes the authentication methods used by a Client VPN endpoint. Client
  37611. // VPN supports Active Directory and mutual authentication. For more information,
  37612. // see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
  37613. // in the AWS Client VPN Administrator Guide.
  37614. type ClientVpnAuthentication struct {
  37615. _ struct{} `type:"structure"`
  37616. // Information about the Active Directory, if applicable.
  37617. ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
  37618. // Information about the authentication certificates, if applicable.
  37619. MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
  37620. // The authentication type used.
  37621. Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
  37622. }
  37623. // String returns the string representation
  37624. func (s ClientVpnAuthentication) String() string {
  37625. return awsutil.Prettify(s)
  37626. }
  37627. // GoString returns the string representation
  37628. func (s ClientVpnAuthentication) GoString() string {
  37629. return s.String()
  37630. }
  37631. // SetActiveDirectory sets the ActiveDirectory field's value.
  37632. func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
  37633. s.ActiveDirectory = v
  37634. return s
  37635. }
  37636. // SetMutualAuthentication sets the MutualAuthentication field's value.
  37637. func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
  37638. s.MutualAuthentication = v
  37639. return s
  37640. }
  37641. // SetType sets the Type field's value.
  37642. func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
  37643. s.Type = &v
  37644. return s
  37645. }
  37646. // Describes the authentication method to be used by a Client VPN endpoint.
  37647. // Client VPN supports Active Directory and mutual authentication. For more
  37648. // information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
  37649. // in the AWS Client VPN Administrator Guide.
  37650. type ClientVpnAuthenticationRequest struct {
  37651. _ struct{} `type:"structure"`
  37652. // Information about the Active Directory to be used, if applicable. You must
  37653. // provide this information if Type is directory-service-authentication.
  37654. ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
  37655. // Information about the authentication certificates to be used, if applicable.
  37656. // You must provide this information if Type is certificate-authentication.
  37657. MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
  37658. // The type of client authentication to be used. Specify certificate-authentication
  37659. // to use certificate-based authentication, or directory-service-authentication
  37660. // to use Active Directory authentication.
  37661. Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
  37662. }
  37663. // String returns the string representation
  37664. func (s ClientVpnAuthenticationRequest) String() string {
  37665. return awsutil.Prettify(s)
  37666. }
  37667. // GoString returns the string representation
  37668. func (s ClientVpnAuthenticationRequest) GoString() string {
  37669. return s.String()
  37670. }
  37671. // SetActiveDirectory sets the ActiveDirectory field's value.
  37672. func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
  37673. s.ActiveDirectory = v
  37674. return s
  37675. }
  37676. // SetMutualAuthentication sets the MutualAuthentication field's value.
  37677. func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
  37678. s.MutualAuthentication = v
  37679. return s
  37680. }
  37681. // SetType sets the Type field's value.
  37682. func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
  37683. s.Type = &v
  37684. return s
  37685. }
  37686. // Describes the state of an authorization rule.
  37687. type ClientVpnAuthorizationRuleStatus struct {
  37688. _ struct{} `type:"structure"`
  37689. // The state of the authorization rule.
  37690. Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
  37691. // A message about the status of the authorization rule, if applicable.
  37692. Message *string `locationName:"message" type:"string"`
  37693. }
  37694. // String returns the string representation
  37695. func (s ClientVpnAuthorizationRuleStatus) String() string {
  37696. return awsutil.Prettify(s)
  37697. }
  37698. // GoString returns the string representation
  37699. func (s ClientVpnAuthorizationRuleStatus) GoString() string {
  37700. return s.String()
  37701. }
  37702. // SetCode sets the Code field's value.
  37703. func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
  37704. s.Code = &v
  37705. return s
  37706. }
  37707. // SetMessage sets the Message field's value.
  37708. func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
  37709. s.Message = &v
  37710. return s
  37711. }
  37712. // Describes a client connection.
  37713. type ClientVpnConnection struct {
  37714. _ struct{} `type:"structure"`
  37715. // The IP address of the client.
  37716. ClientIp *string `locationName:"clientIp" type:"string"`
  37717. // The ID of the Client VPN endpoint to which the client is connected.
  37718. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  37719. // The common name associated with the client. This is either the name of the
  37720. // client certificate, or the Active Directory user name.
  37721. CommonName *string `locationName:"commonName" type:"string"`
  37722. // The date and time the client connection was terminated.
  37723. ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
  37724. // The date and time the client connection was established.
  37725. ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
  37726. // The ID of the client connection.
  37727. ConnectionId *string `locationName:"connectionId" type:"string"`
  37728. // The number of bytes received by the client.
  37729. EgressBytes *string `locationName:"egressBytes" type:"string"`
  37730. // The number of packets received by the client.
  37731. EgressPackets *string `locationName:"egressPackets" type:"string"`
  37732. // The number of bytes sent by the client.
  37733. IngressBytes *string `locationName:"ingressBytes" type:"string"`
  37734. // The number of packets sent by the client.
  37735. IngressPackets *string `locationName:"ingressPackets" type:"string"`
  37736. // The current state of the client connection.
  37737. Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
  37738. // The current date and time.
  37739. Timestamp *string `locationName:"timestamp" type:"string"`
  37740. // The username of the client who established the client connection. This information
  37741. // is only provided if Active Directory client authentication is used.
  37742. Username *string `locationName:"username" type:"string"`
  37743. }
  37744. // String returns the string representation
  37745. func (s ClientVpnConnection) String() string {
  37746. return awsutil.Prettify(s)
  37747. }
  37748. // GoString returns the string representation
  37749. func (s ClientVpnConnection) GoString() string {
  37750. return s.String()
  37751. }
  37752. // SetClientIp sets the ClientIp field's value.
  37753. func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
  37754. s.ClientIp = &v
  37755. return s
  37756. }
  37757. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  37758. func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
  37759. s.ClientVpnEndpointId = &v
  37760. return s
  37761. }
  37762. // SetCommonName sets the CommonName field's value.
  37763. func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
  37764. s.CommonName = &v
  37765. return s
  37766. }
  37767. // SetConnectionEndTime sets the ConnectionEndTime field's value.
  37768. func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
  37769. s.ConnectionEndTime = &v
  37770. return s
  37771. }
  37772. // SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
  37773. func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
  37774. s.ConnectionEstablishedTime = &v
  37775. return s
  37776. }
  37777. // SetConnectionId sets the ConnectionId field's value.
  37778. func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
  37779. s.ConnectionId = &v
  37780. return s
  37781. }
  37782. // SetEgressBytes sets the EgressBytes field's value.
  37783. func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
  37784. s.EgressBytes = &v
  37785. return s
  37786. }
  37787. // SetEgressPackets sets the EgressPackets field's value.
  37788. func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
  37789. s.EgressPackets = &v
  37790. return s
  37791. }
  37792. // SetIngressBytes sets the IngressBytes field's value.
  37793. func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
  37794. s.IngressBytes = &v
  37795. return s
  37796. }
  37797. // SetIngressPackets sets the IngressPackets field's value.
  37798. func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
  37799. s.IngressPackets = &v
  37800. return s
  37801. }
  37802. // SetStatus sets the Status field's value.
  37803. func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
  37804. s.Status = v
  37805. return s
  37806. }
  37807. // SetTimestamp sets the Timestamp field's value.
  37808. func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
  37809. s.Timestamp = &v
  37810. return s
  37811. }
  37812. // SetUsername sets the Username field's value.
  37813. func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
  37814. s.Username = &v
  37815. return s
  37816. }
  37817. // Describes the status of a client connection.
  37818. type ClientVpnConnectionStatus struct {
  37819. _ struct{} `type:"structure"`
  37820. // The state of the client connection.
  37821. Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
  37822. // A message about the status of the client connection, if applicable.
  37823. Message *string `locationName:"message" type:"string"`
  37824. }
  37825. // String returns the string representation
  37826. func (s ClientVpnConnectionStatus) String() string {
  37827. return awsutil.Prettify(s)
  37828. }
  37829. // GoString returns the string representation
  37830. func (s ClientVpnConnectionStatus) GoString() string {
  37831. return s.String()
  37832. }
  37833. // SetCode sets the Code field's value.
  37834. func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
  37835. s.Code = &v
  37836. return s
  37837. }
  37838. // SetMessage sets the Message field's value.
  37839. func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
  37840. s.Message = &v
  37841. return s
  37842. }
  37843. // Describes a Client VPN endpoint.
  37844. type ClientVpnEndpoint struct {
  37845. _ struct{} `type:"structure"`
  37846. // Information about the associated target networks. A target network is a subnet
  37847. // in a VPC.
  37848. //
  37849. // Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
  37850. AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
  37851. // Information about the authentication method used by the Client VPN endpoint.
  37852. AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
  37853. // The IPv4 address range, in CIDR notation, from which client IP addresses
  37854. // are assigned.
  37855. ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
  37856. // The ID of the Client VPN endpoint.
  37857. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  37858. // Information about the client connection logging options for the Client VPN
  37859. // endpoint.
  37860. ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
  37861. // The date and time the Client VPN endpoint was created.
  37862. CreationTime *string `locationName:"creationTime" type:"string"`
  37863. // The date and time the Client VPN endpoint was deleted, if applicable.
  37864. DeletionTime *string `locationName:"deletionTime" type:"string"`
  37865. // A brief description of the endpoint.
  37866. Description *string `locationName:"description" type:"string"`
  37867. // The DNS name to be used by clients when connecting to the Client VPN endpoint.
  37868. DnsName *string `locationName:"dnsName" type:"string"`
  37869. // Information about the DNS servers to be used for DNS resolution.
  37870. DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
  37871. // The ARN of the server certificate.
  37872. ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
  37873. // Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.
  37874. //
  37875. // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
  37876. // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
  37877. // in the AWS Client VPN Administrator Guide.
  37878. SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
  37879. // The current state of the Client VPN endpoint.
  37880. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  37881. // Any tags assigned to the Client VPN endpoint.
  37882. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37883. // The transport protocol used by the Client VPN endpoint.
  37884. TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
  37885. // The protocol used by the VPN session.
  37886. VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
  37887. }
  37888. // String returns the string representation
  37889. func (s ClientVpnEndpoint) String() string {
  37890. return awsutil.Prettify(s)
  37891. }
  37892. // GoString returns the string representation
  37893. func (s ClientVpnEndpoint) GoString() string {
  37894. return s.String()
  37895. }
  37896. // SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
  37897. func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
  37898. s.AssociatedTargetNetworks = v
  37899. return s
  37900. }
  37901. // SetAuthenticationOptions sets the AuthenticationOptions field's value.
  37902. func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
  37903. s.AuthenticationOptions = v
  37904. return s
  37905. }
  37906. // SetClientCidrBlock sets the ClientCidrBlock field's value.
  37907. func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
  37908. s.ClientCidrBlock = &v
  37909. return s
  37910. }
  37911. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  37912. func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
  37913. s.ClientVpnEndpointId = &v
  37914. return s
  37915. }
  37916. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  37917. func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
  37918. s.ConnectionLogOptions = v
  37919. return s
  37920. }
  37921. // SetCreationTime sets the CreationTime field's value.
  37922. func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
  37923. s.CreationTime = &v
  37924. return s
  37925. }
  37926. // SetDeletionTime sets the DeletionTime field's value.
  37927. func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
  37928. s.DeletionTime = &v
  37929. return s
  37930. }
  37931. // SetDescription sets the Description field's value.
  37932. func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
  37933. s.Description = &v
  37934. return s
  37935. }
  37936. // SetDnsName sets the DnsName field's value.
  37937. func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
  37938. s.DnsName = &v
  37939. return s
  37940. }
  37941. // SetDnsServers sets the DnsServers field's value.
  37942. func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
  37943. s.DnsServers = v
  37944. return s
  37945. }
  37946. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  37947. func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
  37948. s.ServerCertificateArn = &v
  37949. return s
  37950. }
  37951. // SetSplitTunnel sets the SplitTunnel field's value.
  37952. func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
  37953. s.SplitTunnel = &v
  37954. return s
  37955. }
  37956. // SetStatus sets the Status field's value.
  37957. func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
  37958. s.Status = v
  37959. return s
  37960. }
  37961. // SetTags sets the Tags field's value.
  37962. func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
  37963. s.Tags = v
  37964. return s
  37965. }
  37966. // SetTransportProtocol sets the TransportProtocol field's value.
  37967. func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
  37968. s.TransportProtocol = &v
  37969. return s
  37970. }
  37971. // SetVpnProtocol sets the VpnProtocol field's value.
  37972. func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
  37973. s.VpnProtocol = &v
  37974. return s
  37975. }
  37976. // Describes the state of a Client VPN endpoint.
  37977. type ClientVpnEndpointStatus struct {
  37978. _ struct{} `type:"structure"`
  37979. // The state of the Client VPN endpoint. Possible states include:
  37980. //
  37981. // * pending-associate - The Client VPN endpoint has been created but no
  37982. // target networks have been associated. The Client VPN endpoint cannot accept
  37983. // connections.
  37984. //
  37985. // * available - The Client VPN endpoint has been created and a target network
  37986. // has been associated. The Client VPN endpoint can accept connections.
  37987. //
  37988. // * deleting - The Client VPN endpoint is being deleted. The Client VPN
  37989. // endpoint cannot accept connections.
  37990. //
  37991. // * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
  37992. // cannot accept connections.
  37993. Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
  37994. // A message about the status of the Client VPN endpoint.
  37995. Message *string `locationName:"message" type:"string"`
  37996. }
  37997. // String returns the string representation
  37998. func (s ClientVpnEndpointStatus) String() string {
  37999. return awsutil.Prettify(s)
  38000. }
  38001. // GoString returns the string representation
  38002. func (s ClientVpnEndpointStatus) GoString() string {
  38003. return s.String()
  38004. }
  38005. // SetCode sets the Code field's value.
  38006. func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
  38007. s.Code = &v
  38008. return s
  38009. }
  38010. // SetMessage sets the Message field's value.
  38011. func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
  38012. s.Message = &v
  38013. return s
  38014. }
  38015. // Information about a Client VPN endpoint route.
  38016. type ClientVpnRoute struct {
  38017. _ struct{} `type:"structure"`
  38018. // The ID of the Client VPN endpoint with which the route is associated.
  38019. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  38020. // A brief description of the route.
  38021. Description *string `locationName:"description" type:"string"`
  38022. // The IPv4 address range, in CIDR notation, of the route destination.
  38023. DestinationCidr *string `locationName:"destinationCidr" type:"string"`
  38024. // Indicates how the route was associated with the Client VPN endpoint. associate
  38025. // indicates that the route was automatically added when the target network
  38026. // was associated with the Client VPN endpoint. add-route indicates that the
  38027. // route was manually added using the CreateClientVpnRoute action.
  38028. Origin *string `locationName:"origin" type:"string"`
  38029. // The current state of the route.
  38030. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  38031. // The ID of the subnet through which traffic is routed.
  38032. TargetSubnet *string `locationName:"targetSubnet" type:"string"`
  38033. // The route type.
  38034. Type *string `locationName:"type" type:"string"`
  38035. }
  38036. // String returns the string representation
  38037. func (s ClientVpnRoute) String() string {
  38038. return awsutil.Prettify(s)
  38039. }
  38040. // GoString returns the string representation
  38041. func (s ClientVpnRoute) GoString() string {
  38042. return s.String()
  38043. }
  38044. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  38045. func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
  38046. s.ClientVpnEndpointId = &v
  38047. return s
  38048. }
  38049. // SetDescription sets the Description field's value.
  38050. func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
  38051. s.Description = &v
  38052. return s
  38053. }
  38054. // SetDestinationCidr sets the DestinationCidr field's value.
  38055. func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
  38056. s.DestinationCidr = &v
  38057. return s
  38058. }
  38059. // SetOrigin sets the Origin field's value.
  38060. func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
  38061. s.Origin = &v
  38062. return s
  38063. }
  38064. // SetStatus sets the Status field's value.
  38065. func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
  38066. s.Status = v
  38067. return s
  38068. }
  38069. // SetTargetSubnet sets the TargetSubnet field's value.
  38070. func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
  38071. s.TargetSubnet = &v
  38072. return s
  38073. }
  38074. // SetType sets the Type field's value.
  38075. func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
  38076. s.Type = &v
  38077. return s
  38078. }
  38079. // Describes the state of a Client VPN endpoint route.
  38080. type ClientVpnRouteStatus struct {
  38081. _ struct{} `type:"structure"`
  38082. // The state of the Client VPN endpoint route.
  38083. Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
  38084. // A message about the status of the Client VPN endpoint route, if applicable.
  38085. Message *string `locationName:"message" type:"string"`
  38086. }
  38087. // String returns the string representation
  38088. func (s ClientVpnRouteStatus) String() string {
  38089. return awsutil.Prettify(s)
  38090. }
  38091. // GoString returns the string representation
  38092. func (s ClientVpnRouteStatus) GoString() string {
  38093. return s.String()
  38094. }
  38095. // SetCode sets the Code field's value.
  38096. func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
  38097. s.Code = &v
  38098. return s
  38099. }
  38100. // SetMessage sets the Message field's value.
  38101. func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
  38102. s.Message = &v
  38103. return s
  38104. }
  38105. // Describes address usage for a customer-owned address pool.
  38106. type CoipAddressUsage struct {
  38107. _ struct{} `type:"structure"`
  38108. // The allocation ID of the address.
  38109. AllocationId *string `locationName:"allocationId" type:"string"`
  38110. // The AWS account ID.
  38111. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  38112. // The AWS service.
  38113. AwsService *string `locationName:"awsService" type:"string"`
  38114. // The customer-owned IP address.
  38115. CoIp *string `locationName:"coIp" type:"string"`
  38116. }
  38117. // String returns the string representation
  38118. func (s CoipAddressUsage) String() string {
  38119. return awsutil.Prettify(s)
  38120. }
  38121. // GoString returns the string representation
  38122. func (s CoipAddressUsage) GoString() string {
  38123. return s.String()
  38124. }
  38125. // SetAllocationId sets the AllocationId field's value.
  38126. func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
  38127. s.AllocationId = &v
  38128. return s
  38129. }
  38130. // SetAwsAccountId sets the AwsAccountId field's value.
  38131. func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
  38132. s.AwsAccountId = &v
  38133. return s
  38134. }
  38135. // SetAwsService sets the AwsService field's value.
  38136. func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
  38137. s.AwsService = &v
  38138. return s
  38139. }
  38140. // SetCoIp sets the CoIp field's value.
  38141. func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
  38142. s.CoIp = &v
  38143. return s
  38144. }
  38145. // Describes a customer-owned address pool.
  38146. type CoipPool struct {
  38147. _ struct{} `type:"structure"`
  38148. // The ID of the local gateway route table.
  38149. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  38150. // The address ranges of the address pool.
  38151. PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
  38152. // The ID of the address pool.
  38153. PoolId *string `locationName:"poolId" type:"string"`
  38154. // The tags.
  38155. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38156. }
  38157. // String returns the string representation
  38158. func (s CoipPool) String() string {
  38159. return awsutil.Prettify(s)
  38160. }
  38161. // GoString returns the string representation
  38162. func (s CoipPool) GoString() string {
  38163. return s.String()
  38164. }
  38165. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  38166. func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
  38167. s.LocalGatewayRouteTableId = &v
  38168. return s
  38169. }
  38170. // SetPoolCidrs sets the PoolCidrs field's value.
  38171. func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
  38172. s.PoolCidrs = v
  38173. return s
  38174. }
  38175. // SetPoolId sets the PoolId field's value.
  38176. func (s *CoipPool) SetPoolId(v string) *CoipPool {
  38177. s.PoolId = &v
  38178. return s
  38179. }
  38180. // SetTags sets the Tags field's value.
  38181. func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
  38182. s.Tags = v
  38183. return s
  38184. }
  38185. type ConfirmProductInstanceInput struct {
  38186. _ struct{} `type:"structure"`
  38187. // Checks whether you have the required permissions for the action, without
  38188. // actually making the request, and provides an error response. If you have
  38189. // the required permissions, the error response is DryRunOperation. Otherwise,
  38190. // it is UnauthorizedOperation.
  38191. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38192. // The ID of the instance.
  38193. //
  38194. // InstanceId is a required field
  38195. InstanceId *string `type:"string" required:"true"`
  38196. // The product code. This must be a product code that you own.
  38197. //
  38198. // ProductCode is a required field
  38199. ProductCode *string `type:"string" required:"true"`
  38200. }
  38201. // String returns the string representation
  38202. func (s ConfirmProductInstanceInput) String() string {
  38203. return awsutil.Prettify(s)
  38204. }
  38205. // GoString returns the string representation
  38206. func (s ConfirmProductInstanceInput) GoString() string {
  38207. return s.String()
  38208. }
  38209. // Validate inspects the fields of the type to determine if they are valid.
  38210. func (s *ConfirmProductInstanceInput) Validate() error {
  38211. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  38212. if s.InstanceId == nil {
  38213. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  38214. }
  38215. if s.ProductCode == nil {
  38216. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  38217. }
  38218. if invalidParams.Len() > 0 {
  38219. return invalidParams
  38220. }
  38221. return nil
  38222. }
  38223. // SetDryRun sets the DryRun field's value.
  38224. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  38225. s.DryRun = &v
  38226. return s
  38227. }
  38228. // SetInstanceId sets the InstanceId field's value.
  38229. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  38230. s.InstanceId = &v
  38231. return s
  38232. }
  38233. // SetProductCode sets the ProductCode field's value.
  38234. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  38235. s.ProductCode = &v
  38236. return s
  38237. }
  38238. type ConfirmProductInstanceOutput struct {
  38239. _ struct{} `type:"structure"`
  38240. // The AWS account ID of the instance owner. This is only present if the product
  38241. // code is attached to the instance.
  38242. OwnerId *string `locationName:"ownerId" type:"string"`
  38243. // The return value of the request. Returns true if the specified product code
  38244. // is owned by the requester and associated with the specified instance.
  38245. Return *bool `locationName:"return" type:"boolean"`
  38246. }
  38247. // String returns the string representation
  38248. func (s ConfirmProductInstanceOutput) String() string {
  38249. return awsutil.Prettify(s)
  38250. }
  38251. // GoString returns the string representation
  38252. func (s ConfirmProductInstanceOutput) GoString() string {
  38253. return s.String()
  38254. }
  38255. // SetOwnerId sets the OwnerId field's value.
  38256. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  38257. s.OwnerId = &v
  38258. return s
  38259. }
  38260. // SetReturn sets the Return field's value.
  38261. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  38262. s.Return = &v
  38263. return s
  38264. }
  38265. // Describes the client connection logging options for the Client VPN endpoint.
  38266. type ConnectionLogOptions struct {
  38267. _ struct{} `type:"structure"`
  38268. // The name of the CloudWatch Logs log group.
  38269. CloudwatchLogGroup *string `type:"string"`
  38270. // The name of the CloudWatch Logs log stream to which the connection data is
  38271. // published.
  38272. CloudwatchLogStream *string `type:"string"`
  38273. // Indicates whether connection logging is enabled.
  38274. Enabled *bool `type:"boolean"`
  38275. }
  38276. // String returns the string representation
  38277. func (s ConnectionLogOptions) String() string {
  38278. return awsutil.Prettify(s)
  38279. }
  38280. // GoString returns the string representation
  38281. func (s ConnectionLogOptions) GoString() string {
  38282. return s.String()
  38283. }
  38284. // SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
  38285. func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
  38286. s.CloudwatchLogGroup = &v
  38287. return s
  38288. }
  38289. // SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
  38290. func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
  38291. s.CloudwatchLogStream = &v
  38292. return s
  38293. }
  38294. // SetEnabled sets the Enabled field's value.
  38295. func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
  38296. s.Enabled = &v
  38297. return s
  38298. }
  38299. // Information about the client connection logging options for a Client VPN
  38300. // endpoint.
  38301. type ConnectionLogResponseOptions struct {
  38302. _ struct{} `type:"structure"`
  38303. // The name of the Amazon CloudWatch Logs log group to which connection logging
  38304. // data is published.
  38305. CloudwatchLogGroup *string `type:"string"`
  38306. // The name of the Amazon CloudWatch Logs log stream to which connection logging
  38307. // data is published.
  38308. CloudwatchLogStream *string `type:"string"`
  38309. // Indicates whether client connection logging is enabled for the Client VPN
  38310. // endpoint.
  38311. Enabled *bool `type:"boolean"`
  38312. }
  38313. // String returns the string representation
  38314. func (s ConnectionLogResponseOptions) String() string {
  38315. return awsutil.Prettify(s)
  38316. }
  38317. // GoString returns the string representation
  38318. func (s ConnectionLogResponseOptions) GoString() string {
  38319. return s.String()
  38320. }
  38321. // SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
  38322. func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
  38323. s.CloudwatchLogGroup = &v
  38324. return s
  38325. }
  38326. // SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
  38327. func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
  38328. s.CloudwatchLogStream = &v
  38329. return s
  38330. }
  38331. // SetEnabled sets the Enabled field's value.
  38332. func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
  38333. s.Enabled = &v
  38334. return s
  38335. }
  38336. // Describes a connection notification for a VPC endpoint or VPC endpoint service.
  38337. type ConnectionNotification struct {
  38338. _ struct{} `type:"structure"`
  38339. // The events for the notification. Valid values are Accept, Connect, Delete,
  38340. // and Reject.
  38341. ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
  38342. // The ARN of the SNS topic for the notification.
  38343. ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
  38344. // The ID of the notification.
  38345. ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
  38346. // The state of the notification.
  38347. ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
  38348. // The type of notification.
  38349. ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
  38350. // The ID of the endpoint service.
  38351. ServiceId *string `locationName:"serviceId" type:"string"`
  38352. // The ID of the VPC endpoint.
  38353. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  38354. }
  38355. // String returns the string representation
  38356. func (s ConnectionNotification) String() string {
  38357. return awsutil.Prettify(s)
  38358. }
  38359. // GoString returns the string representation
  38360. func (s ConnectionNotification) GoString() string {
  38361. return s.String()
  38362. }
  38363. // SetConnectionEvents sets the ConnectionEvents field's value.
  38364. func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
  38365. s.ConnectionEvents = v
  38366. return s
  38367. }
  38368. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  38369. func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
  38370. s.ConnectionNotificationArn = &v
  38371. return s
  38372. }
  38373. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  38374. func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
  38375. s.ConnectionNotificationId = &v
  38376. return s
  38377. }
  38378. // SetConnectionNotificationState sets the ConnectionNotificationState field's value.
  38379. func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
  38380. s.ConnectionNotificationState = &v
  38381. return s
  38382. }
  38383. // SetConnectionNotificationType sets the ConnectionNotificationType field's value.
  38384. func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
  38385. s.ConnectionNotificationType = &v
  38386. return s
  38387. }
  38388. // SetServiceId sets the ServiceId field's value.
  38389. func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
  38390. s.ServiceId = &v
  38391. return s
  38392. }
  38393. // SetVpcEndpointId sets the VpcEndpointId field's value.
  38394. func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
  38395. s.VpcEndpointId = &v
  38396. return s
  38397. }
  38398. // Describes a conversion task.
  38399. type ConversionTask struct {
  38400. _ struct{} `type:"structure"`
  38401. // The ID of the conversion task.
  38402. ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
  38403. // The time when the task expires. If the upload isn't complete before the expiration
  38404. // time, we automatically cancel the task.
  38405. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  38406. // If the task is for importing an instance, this contains information about
  38407. // the import instance task.
  38408. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  38409. // If the task is for importing a volume, this contains information about the
  38410. // import volume task.
  38411. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  38412. // The state of the conversion task.
  38413. State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
  38414. // The status message related to the conversion task.
  38415. StatusMessage *string `locationName:"statusMessage" type:"string"`
  38416. // Any tags assigned to the task.
  38417. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38418. }
  38419. // String returns the string representation
  38420. func (s ConversionTask) String() string {
  38421. return awsutil.Prettify(s)
  38422. }
  38423. // GoString returns the string representation
  38424. func (s ConversionTask) GoString() string {
  38425. return s.String()
  38426. }
  38427. // SetConversionTaskId sets the ConversionTaskId field's value.
  38428. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  38429. s.ConversionTaskId = &v
  38430. return s
  38431. }
  38432. // SetExpirationTime sets the ExpirationTime field's value.
  38433. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  38434. s.ExpirationTime = &v
  38435. return s
  38436. }
  38437. // SetImportInstance sets the ImportInstance field's value.
  38438. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  38439. s.ImportInstance = v
  38440. return s
  38441. }
  38442. // SetImportVolume sets the ImportVolume field's value.
  38443. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  38444. s.ImportVolume = v
  38445. return s
  38446. }
  38447. // SetState sets the State field's value.
  38448. func (s *ConversionTask) SetState(v string) *ConversionTask {
  38449. s.State = &v
  38450. return s
  38451. }
  38452. // SetStatusMessage sets the StatusMessage field's value.
  38453. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  38454. s.StatusMessage = &v
  38455. return s
  38456. }
  38457. // SetTags sets the Tags field's value.
  38458. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  38459. s.Tags = v
  38460. return s
  38461. }
  38462. type CopyFpgaImageInput struct {
  38463. _ struct{} `type:"structure"`
  38464. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  38465. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  38466. ClientToken *string `type:"string"`
  38467. // The description for the new AFI.
  38468. Description *string `type:"string"`
  38469. // Checks whether you have the required permissions for the action, without
  38470. // actually making the request, and provides an error response. If you have
  38471. // the required permissions, the error response is DryRunOperation. Otherwise,
  38472. // it is UnauthorizedOperation.
  38473. DryRun *bool `type:"boolean"`
  38474. // The name for the new AFI. The default is the name of the source AFI.
  38475. Name *string `type:"string"`
  38476. // The ID of the source AFI.
  38477. //
  38478. // SourceFpgaImageId is a required field
  38479. SourceFpgaImageId *string `type:"string" required:"true"`
  38480. // The Region that contains the source AFI.
  38481. //
  38482. // SourceRegion is a required field
  38483. SourceRegion *string `type:"string" required:"true"`
  38484. }
  38485. // String returns the string representation
  38486. func (s CopyFpgaImageInput) String() string {
  38487. return awsutil.Prettify(s)
  38488. }
  38489. // GoString returns the string representation
  38490. func (s CopyFpgaImageInput) GoString() string {
  38491. return s.String()
  38492. }
  38493. // Validate inspects the fields of the type to determine if they are valid.
  38494. func (s *CopyFpgaImageInput) Validate() error {
  38495. invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
  38496. if s.SourceFpgaImageId == nil {
  38497. invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
  38498. }
  38499. if s.SourceRegion == nil {
  38500. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  38501. }
  38502. if invalidParams.Len() > 0 {
  38503. return invalidParams
  38504. }
  38505. return nil
  38506. }
  38507. // SetClientToken sets the ClientToken field's value.
  38508. func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
  38509. s.ClientToken = &v
  38510. return s
  38511. }
  38512. // SetDescription sets the Description field's value.
  38513. func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
  38514. s.Description = &v
  38515. return s
  38516. }
  38517. // SetDryRun sets the DryRun field's value.
  38518. func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
  38519. s.DryRun = &v
  38520. return s
  38521. }
  38522. // SetName sets the Name field's value.
  38523. func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
  38524. s.Name = &v
  38525. return s
  38526. }
  38527. // SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
  38528. func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
  38529. s.SourceFpgaImageId = &v
  38530. return s
  38531. }
  38532. // SetSourceRegion sets the SourceRegion field's value.
  38533. func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
  38534. s.SourceRegion = &v
  38535. return s
  38536. }
  38537. type CopyFpgaImageOutput struct {
  38538. _ struct{} `type:"structure"`
  38539. // The ID of the new AFI.
  38540. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  38541. }
  38542. // String returns the string representation
  38543. func (s CopyFpgaImageOutput) String() string {
  38544. return awsutil.Prettify(s)
  38545. }
  38546. // GoString returns the string representation
  38547. func (s CopyFpgaImageOutput) GoString() string {
  38548. return s.String()
  38549. }
  38550. // SetFpgaImageId sets the FpgaImageId field's value.
  38551. func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
  38552. s.FpgaImageId = &v
  38553. return s
  38554. }
  38555. // Contains the parameters for CopyImage.
  38556. type CopyImageInput struct {
  38557. _ struct{} `type:"structure"`
  38558. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  38559. // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  38560. // in the Amazon Elastic Compute Cloud User Guide.
  38561. ClientToken *string `type:"string"`
  38562. // A description for the new AMI in the destination Region.
  38563. Description *string `type:"string"`
  38564. // Checks whether you have the required permissions for the action, without
  38565. // actually making the request, and provides an error response. If you have
  38566. // the required permissions, the error response is DryRunOperation. Otherwise,
  38567. // it is UnauthorizedOperation.
  38568. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38569. // Specifies whether the destination snapshots of the copied image should be
  38570. // encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
  38571. // create an unencrypted copy of an encrypted snapshot. The default CMK for
  38572. // EBS is used unless you specify a non-default AWS Key Management Service (AWS
  38573. // KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
  38574. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  38575. // in the Amazon Elastic Compute Cloud User Guide.
  38576. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  38577. // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
  38578. // master key (CMK) to use when creating the encrypted volume. This parameter
  38579. // is only required if you want to use a non-default CMK; if this parameter
  38580. // is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
  38581. // the Encrypted flag must also be set.
  38582. //
  38583. // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
  38584. // or alias ARN. When using an alias name, prefix it with "alias/". For example:
  38585. //
  38586. // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
  38587. //
  38588. // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
  38589. //
  38590. // * Alias name: alias/ExampleAlias
  38591. //
  38592. // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
  38593. //
  38594. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  38595. // appear to complete even though you provided an invalid identifier. This action
  38596. // will eventually report failure.
  38597. //
  38598. // The specified CMK must exist in the Region that the snapshot is being copied
  38599. // to.
  38600. //
  38601. // Amazon EBS does not support asymmetric CMKs.
  38602. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  38603. // The name of the new AMI in the destination Region.
  38604. //
  38605. // Name is a required field
  38606. Name *string `type:"string" required:"true"`
  38607. // The ID of the AMI to copy.
  38608. //
  38609. // SourceImageId is a required field
  38610. SourceImageId *string `type:"string" required:"true"`
  38611. // The name of the Region that contains the AMI to copy.
  38612. //
  38613. // SourceRegion is a required field
  38614. SourceRegion *string `type:"string" required:"true"`
  38615. }
  38616. // String returns the string representation
  38617. func (s CopyImageInput) String() string {
  38618. return awsutil.Prettify(s)
  38619. }
  38620. // GoString returns the string representation
  38621. func (s CopyImageInput) GoString() string {
  38622. return s.String()
  38623. }
  38624. // Validate inspects the fields of the type to determine if they are valid.
  38625. func (s *CopyImageInput) Validate() error {
  38626. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  38627. if s.Name == nil {
  38628. invalidParams.Add(request.NewErrParamRequired("Name"))
  38629. }
  38630. if s.SourceImageId == nil {
  38631. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  38632. }
  38633. if s.SourceRegion == nil {
  38634. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  38635. }
  38636. if invalidParams.Len() > 0 {
  38637. return invalidParams
  38638. }
  38639. return nil
  38640. }
  38641. // SetClientToken sets the ClientToken field's value.
  38642. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  38643. s.ClientToken = &v
  38644. return s
  38645. }
  38646. // SetDescription sets the Description field's value.
  38647. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  38648. s.Description = &v
  38649. return s
  38650. }
  38651. // SetDryRun sets the DryRun field's value.
  38652. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  38653. s.DryRun = &v
  38654. return s
  38655. }
  38656. // SetEncrypted sets the Encrypted field's value.
  38657. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  38658. s.Encrypted = &v
  38659. return s
  38660. }
  38661. // SetKmsKeyId sets the KmsKeyId field's value.
  38662. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  38663. s.KmsKeyId = &v
  38664. return s
  38665. }
  38666. // SetName sets the Name field's value.
  38667. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  38668. s.Name = &v
  38669. return s
  38670. }
  38671. // SetSourceImageId sets the SourceImageId field's value.
  38672. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  38673. s.SourceImageId = &v
  38674. return s
  38675. }
  38676. // SetSourceRegion sets the SourceRegion field's value.
  38677. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  38678. s.SourceRegion = &v
  38679. return s
  38680. }
  38681. // Contains the output of CopyImage.
  38682. type CopyImageOutput struct {
  38683. _ struct{} `type:"structure"`
  38684. // The ID of the new AMI.
  38685. ImageId *string `locationName:"imageId" type:"string"`
  38686. }
  38687. // String returns the string representation
  38688. func (s CopyImageOutput) String() string {
  38689. return awsutil.Prettify(s)
  38690. }
  38691. // GoString returns the string representation
  38692. func (s CopyImageOutput) GoString() string {
  38693. return s.String()
  38694. }
  38695. // SetImageId sets the ImageId field's value.
  38696. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  38697. s.ImageId = &v
  38698. return s
  38699. }
  38700. type CopySnapshotInput struct {
  38701. _ struct{} `type:"structure"`
  38702. // A description for the EBS snapshot.
  38703. Description *string `type:"string"`
  38704. // The destination Region to use in the PresignedUrl parameter of a snapshot
  38705. // copy operation. This parameter is only valid for specifying the destination
  38706. // Region in a PresignedUrl parameter, where it is required.
  38707. //
  38708. // The snapshot copy is sent to the regional endpoint that you sent the HTTP
  38709. // request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
  38710. // this is specified using the --region parameter or the default Region in your
  38711. // AWS configuration file.
  38712. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  38713. // Checks whether you have the required permissions for the action, without
  38714. // actually making the request, and provides an error response. If you have
  38715. // the required permissions, the error response is DryRunOperation. Otherwise,
  38716. // it is UnauthorizedOperation.
  38717. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38718. // To encrypt a copy of an unencrypted snapshot if encryption by default is
  38719. // not enabled, enable encryption using this parameter. Otherwise, omit this
  38720. // parameter. Encrypted snapshots are encrypted, even if you omit this parameter
  38721. // and encryption by default is not enabled. You cannot set this parameter to
  38722. // false. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  38723. // in the Amazon Elastic Compute Cloud User Guide.
  38724. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  38725. // The identifier of the AWS Key Management Service (AWS KMS) customer master
  38726. // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
  38727. // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
  38728. // state must be true.
  38729. //
  38730. // You can specify the CMK using any of the following:
  38731. //
  38732. // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
  38733. //
  38734. // * Key alias. For example, alias/ExampleAlias.
  38735. //
  38736. // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  38737. //
  38738. // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  38739. //
  38740. // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
  38741. // alias, or ARN that is not valid, the action can appear to complete, but eventually
  38742. // fails.
  38743. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  38744. // When you copy an encrypted source snapshot using the Amazon EC2 Query API,
  38745. // you must supply a pre-signed URL. This parameter is optional for unencrypted
  38746. // snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
  38747. //
  38748. // The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
  38749. // action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
  38750. // parameters. The PresignedUrl must be signed using AWS Signature Version 4.
  38751. // Because EBS snapshots are stored in Amazon S3, the signing algorithm for
  38752. // this parameter uses the same logic that is described in Authenticating Requests
  38753. // by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  38754. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  38755. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  38756. // and the snapshot will move to an error state.
  38757. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  38758. // The ID of the Region that contains the snapshot to be copied.
  38759. //
  38760. // SourceRegion is a required field
  38761. SourceRegion *string `type:"string" required:"true"`
  38762. // The ID of the EBS snapshot to copy.
  38763. //
  38764. // SourceSnapshotId is a required field
  38765. SourceSnapshotId *string `type:"string" required:"true"`
  38766. // The tags to apply to the new snapshot.
  38767. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  38768. }
  38769. // String returns the string representation
  38770. func (s CopySnapshotInput) String() string {
  38771. return awsutil.Prettify(s)
  38772. }
  38773. // GoString returns the string representation
  38774. func (s CopySnapshotInput) GoString() string {
  38775. return s.String()
  38776. }
  38777. // Validate inspects the fields of the type to determine if they are valid.
  38778. func (s *CopySnapshotInput) Validate() error {
  38779. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  38780. if s.SourceRegion == nil {
  38781. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  38782. }
  38783. if s.SourceSnapshotId == nil {
  38784. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  38785. }
  38786. if invalidParams.Len() > 0 {
  38787. return invalidParams
  38788. }
  38789. return nil
  38790. }
  38791. // SetDescription sets the Description field's value.
  38792. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  38793. s.Description = &v
  38794. return s
  38795. }
  38796. // SetDestinationRegion sets the DestinationRegion field's value.
  38797. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  38798. s.DestinationRegion = &v
  38799. return s
  38800. }
  38801. // SetDryRun sets the DryRun field's value.
  38802. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  38803. s.DryRun = &v
  38804. return s
  38805. }
  38806. // SetEncrypted sets the Encrypted field's value.
  38807. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  38808. s.Encrypted = &v
  38809. return s
  38810. }
  38811. // SetKmsKeyId sets the KmsKeyId field's value.
  38812. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  38813. s.KmsKeyId = &v
  38814. return s
  38815. }
  38816. // SetPresignedUrl sets the PresignedUrl field's value.
  38817. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  38818. s.PresignedUrl = &v
  38819. return s
  38820. }
  38821. // SetSourceRegion sets the SourceRegion field's value.
  38822. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  38823. s.SourceRegion = &v
  38824. return s
  38825. }
  38826. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  38827. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  38828. s.SourceSnapshotId = &v
  38829. return s
  38830. }
  38831. // SetTagSpecifications sets the TagSpecifications field's value.
  38832. func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySnapshotInput {
  38833. s.TagSpecifications = v
  38834. return s
  38835. }
  38836. type CopySnapshotOutput struct {
  38837. _ struct{} `type:"structure"`
  38838. // The ID of the new snapshot.
  38839. SnapshotId *string `locationName:"snapshotId" type:"string"`
  38840. // Any tags applied to the new snapshot.
  38841. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38842. }
  38843. // String returns the string representation
  38844. func (s CopySnapshotOutput) String() string {
  38845. return awsutil.Prettify(s)
  38846. }
  38847. // GoString returns the string representation
  38848. func (s CopySnapshotOutput) GoString() string {
  38849. return s.String()
  38850. }
  38851. // SetSnapshotId sets the SnapshotId field's value.
  38852. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  38853. s.SnapshotId = &v
  38854. return s
  38855. }
  38856. // SetTags sets the Tags field's value.
  38857. func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput {
  38858. s.Tags = v
  38859. return s
  38860. }
  38861. // The CPU options for the instance.
  38862. type CpuOptions struct {
  38863. _ struct{} `type:"structure"`
  38864. // The number of CPU cores for the instance.
  38865. CoreCount *int64 `locationName:"coreCount" type:"integer"`
  38866. // The number of threads per CPU core.
  38867. ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
  38868. }
  38869. // String returns the string representation
  38870. func (s CpuOptions) String() string {
  38871. return awsutil.Prettify(s)
  38872. }
  38873. // GoString returns the string representation
  38874. func (s CpuOptions) GoString() string {
  38875. return s.String()
  38876. }
  38877. // SetCoreCount sets the CoreCount field's value.
  38878. func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
  38879. s.CoreCount = &v
  38880. return s
  38881. }
  38882. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  38883. func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
  38884. s.ThreadsPerCore = &v
  38885. return s
  38886. }
  38887. // The CPU options for the instance. Both the core count and threads per core
  38888. // must be specified in the request.
  38889. type CpuOptionsRequest struct {
  38890. _ struct{} `type:"structure"`
  38891. // The number of CPU cores for the instance.
  38892. CoreCount *int64 `type:"integer"`
  38893. // The number of threads per CPU core. To disable multithreading for the instance,
  38894. // specify a value of 1. Otherwise, specify the default value of 2.
  38895. ThreadsPerCore *int64 `type:"integer"`
  38896. }
  38897. // String returns the string representation
  38898. func (s CpuOptionsRequest) String() string {
  38899. return awsutil.Prettify(s)
  38900. }
  38901. // GoString returns the string representation
  38902. func (s CpuOptionsRequest) GoString() string {
  38903. return s.String()
  38904. }
  38905. // SetCoreCount sets the CoreCount field's value.
  38906. func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
  38907. s.CoreCount = &v
  38908. return s
  38909. }
  38910. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  38911. func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
  38912. s.ThreadsPerCore = &v
  38913. return s
  38914. }
  38915. type CreateCapacityReservationInput struct {
  38916. _ struct{} `type:"structure"`
  38917. // The Availability Zone in which to create the Capacity Reservation.
  38918. AvailabilityZone *string `type:"string"`
  38919. // The ID of the Availability Zone in which to create the Capacity Reservation.
  38920. AvailabilityZoneId *string `type:"string"`
  38921. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  38922. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  38923. //
  38924. // Constraint: Maximum 64 ASCII characters.
  38925. ClientToken *string `type:"string"`
  38926. // Checks whether you have the required permissions for the action, without
  38927. // actually making the request, and provides an error response. If you have
  38928. // the required permissions, the error response is DryRunOperation. Otherwise,
  38929. // it is UnauthorizedOperation.
  38930. DryRun *bool `type:"boolean"`
  38931. // Indicates whether the Capacity Reservation supports EBS-optimized instances.
  38932. // This optimization provides dedicated throughput to Amazon EBS and an optimized
  38933. // configuration stack to provide optimal I/O performance. This optimization
  38934. // isn't available with all instance types. Additional usage charges apply when
  38935. // using an EBS- optimized instance.
  38936. EbsOptimized *bool `type:"boolean"`
  38937. // The date and time at which the Capacity Reservation expires. When a Capacity
  38938. // Reservation expires, the reserved capacity is released and you can no longer
  38939. // launch instances into it. The Capacity Reservation's state changes to expired
  38940. // when it reaches its end date and time.
  38941. //
  38942. // You must provide an EndDate value if EndDateType is limited. Omit EndDate
  38943. // if EndDateType is unlimited.
  38944. //
  38945. // If the EndDateType is limited, the Capacity Reservation is cancelled within
  38946. // an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
  38947. // the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
  38948. // on 5/31/2019.
  38949. EndDate *time.Time `type:"timestamp"`
  38950. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  38951. // can have one of the following end types:
  38952. //
  38953. // * unlimited - The Capacity Reservation remains active until you explicitly
  38954. // cancel it. Do not provide an EndDate if the EndDateType is unlimited.
  38955. //
  38956. // * limited - The Capacity Reservation expires automatically at a specified
  38957. // date and time. You must provide an EndDate value if the EndDateType value
  38958. // is limited.
  38959. EndDateType *string `type:"string" enum:"EndDateType"`
  38960. // Indicates whether the Capacity Reservation supports instances with temporary,
  38961. // block-level storage.
  38962. EphemeralStorage *bool `type:"boolean"`
  38963. // The number of instances for which to reserve capacity.
  38964. //
  38965. // InstanceCount is a required field
  38966. InstanceCount *int64 `type:"integer" required:"true"`
  38967. // Indicates the type of instance launches that the Capacity Reservation accepts.
  38968. // The options include:
  38969. //
  38970. // * open - The Capacity Reservation automatically matches all instances
  38971. // that have matching attributes (instance type, platform, and Availability
  38972. // Zone). Instances that have matching attributes run in the Capacity Reservation
  38973. // automatically without specifying any additional parameters.
  38974. //
  38975. // * targeted - The Capacity Reservation only accepts instances that have
  38976. // matching attributes (instance type, platform, and Availability Zone),
  38977. // and explicitly target the Capacity Reservation. This ensures that only
  38978. // permitted instances can use the reserved capacity.
  38979. //
  38980. // Default: open
  38981. InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
  38982. // The type of operating system for which to reserve capacity.
  38983. //
  38984. // InstancePlatform is a required field
  38985. InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
  38986. // The instance type for which to reserve capacity. For more information, see
  38987. // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  38988. // in the Amazon Elastic Compute Cloud User Guide.
  38989. //
  38990. // InstanceType is a required field
  38991. InstanceType *string `type:"string" required:"true"`
  38992. // The tags to apply to the Capacity Reservation during launch.
  38993. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  38994. // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
  38995. // can have one of the following tenancy settings:
  38996. //
  38997. // * default - The Capacity Reservation is created on hardware that is shared
  38998. // with other AWS accounts.
  38999. //
  39000. // * dedicated - The Capacity Reservation is created on single-tenant hardware
  39001. // that is dedicated to a single AWS account.
  39002. Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
  39003. }
  39004. // String returns the string representation
  39005. func (s CreateCapacityReservationInput) String() string {
  39006. return awsutil.Prettify(s)
  39007. }
  39008. // GoString returns the string representation
  39009. func (s CreateCapacityReservationInput) GoString() string {
  39010. return s.String()
  39011. }
  39012. // Validate inspects the fields of the type to determine if they are valid.
  39013. func (s *CreateCapacityReservationInput) Validate() error {
  39014. invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
  39015. if s.InstanceCount == nil {
  39016. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  39017. }
  39018. if s.InstancePlatform == nil {
  39019. invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
  39020. }
  39021. if s.InstanceType == nil {
  39022. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  39023. }
  39024. if invalidParams.Len() > 0 {
  39025. return invalidParams
  39026. }
  39027. return nil
  39028. }
  39029. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39030. func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
  39031. s.AvailabilityZone = &v
  39032. return s
  39033. }
  39034. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  39035. func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput {
  39036. s.AvailabilityZoneId = &v
  39037. return s
  39038. }
  39039. // SetClientToken sets the ClientToken field's value.
  39040. func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
  39041. s.ClientToken = &v
  39042. return s
  39043. }
  39044. // SetDryRun sets the DryRun field's value.
  39045. func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
  39046. s.DryRun = &v
  39047. return s
  39048. }
  39049. // SetEbsOptimized sets the EbsOptimized field's value.
  39050. func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
  39051. s.EbsOptimized = &v
  39052. return s
  39053. }
  39054. // SetEndDate sets the EndDate field's value.
  39055. func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
  39056. s.EndDate = &v
  39057. return s
  39058. }
  39059. // SetEndDateType sets the EndDateType field's value.
  39060. func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
  39061. s.EndDateType = &v
  39062. return s
  39063. }
  39064. // SetEphemeralStorage sets the EphemeralStorage field's value.
  39065. func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
  39066. s.EphemeralStorage = &v
  39067. return s
  39068. }
  39069. // SetInstanceCount sets the InstanceCount field's value.
  39070. func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
  39071. s.InstanceCount = &v
  39072. return s
  39073. }
  39074. // SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
  39075. func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
  39076. s.InstanceMatchCriteria = &v
  39077. return s
  39078. }
  39079. // SetInstancePlatform sets the InstancePlatform field's value.
  39080. func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
  39081. s.InstancePlatform = &v
  39082. return s
  39083. }
  39084. // SetInstanceType sets the InstanceType field's value.
  39085. func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
  39086. s.InstanceType = &v
  39087. return s
  39088. }
  39089. // SetTagSpecifications sets the TagSpecifications field's value.
  39090. func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
  39091. s.TagSpecifications = v
  39092. return s
  39093. }
  39094. // SetTenancy sets the Tenancy field's value.
  39095. func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
  39096. s.Tenancy = &v
  39097. return s
  39098. }
  39099. type CreateCapacityReservationOutput struct {
  39100. _ struct{} `type:"structure"`
  39101. // Information about the Capacity Reservation.
  39102. CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
  39103. }
  39104. // String returns the string representation
  39105. func (s CreateCapacityReservationOutput) String() string {
  39106. return awsutil.Prettify(s)
  39107. }
  39108. // GoString returns the string representation
  39109. func (s CreateCapacityReservationOutput) GoString() string {
  39110. return s.String()
  39111. }
  39112. // SetCapacityReservation sets the CapacityReservation field's value.
  39113. func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
  39114. s.CapacityReservation = v
  39115. return s
  39116. }
  39117. type CreateClientVpnEndpointInput struct {
  39118. _ struct{} `type:"structure"`
  39119. // Information about the authentication method to be used to authenticate clients.
  39120. //
  39121. // AuthenticationOptions is a required field
  39122. AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
  39123. // The IPv4 address range, in CIDR notation, from which to assign client IP
  39124. // addresses. The address range cannot overlap with the local CIDR of the VPC
  39125. // in which the associated subnet is located, or the routes that you add manually.
  39126. // The address range cannot be changed after the Client VPN endpoint has been
  39127. // created. The CIDR block should be /22 or greater.
  39128. //
  39129. // ClientCidrBlock is a required field
  39130. ClientCidrBlock *string `type:"string" required:"true"`
  39131. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  39132. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  39133. ClientToken *string `type:"string" idempotencyToken:"true"`
  39134. // Information about the client connection logging options.
  39135. //
  39136. // If you enable client connection logging, data about client connections is
  39137. // sent to a Cloudwatch Logs log stream. The following information is logged:
  39138. //
  39139. // * Client connection requests
  39140. //
  39141. // * Client connection results (successful and unsuccessful)
  39142. //
  39143. // * Reasons for unsuccessful client connection requests
  39144. //
  39145. // * Client connection termination time
  39146. //
  39147. // ConnectionLogOptions is a required field
  39148. ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
  39149. // A brief description of the Client VPN endpoint.
  39150. Description *string `type:"string"`
  39151. // Information about the DNS servers to be used for DNS resolution. A Client
  39152. // VPN endpoint can have up to two DNS servers. If no DNS server is specified,
  39153. // the DNS address configured on the device is used for the DNS server.
  39154. DnsServers []*string `locationNameList:"item" type:"list"`
  39155. // Checks whether you have the required permissions for the action, without
  39156. // actually making the request, and provides an error response. If you have
  39157. // the required permissions, the error response is DryRunOperation. Otherwise,
  39158. // it is UnauthorizedOperation.
  39159. DryRun *bool `type:"boolean"`
  39160. // The ARN of the server certificate. For more information, see the AWS Certificate
  39161. // Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
  39162. //
  39163. // ServerCertificateArn is a required field
  39164. ServerCertificateArn *string `type:"string" required:"true"`
  39165. // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
  39166. //
  39167. // By default, split-tunnel on a VPN endpoint is disabled.
  39168. //
  39169. // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
  39170. // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
  39171. // in the AWS Client VPN Administrator Guide.
  39172. SplitTunnel *bool `type:"boolean"`
  39173. // The tags to apply to the Client VPN endpoint during creation.
  39174. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  39175. // The transport protocol to be used by the VPN session.
  39176. //
  39177. // Default value: udp
  39178. TransportProtocol *string `type:"string" enum:"TransportProtocol"`
  39179. }
  39180. // String returns the string representation
  39181. func (s CreateClientVpnEndpointInput) String() string {
  39182. return awsutil.Prettify(s)
  39183. }
  39184. // GoString returns the string representation
  39185. func (s CreateClientVpnEndpointInput) GoString() string {
  39186. return s.String()
  39187. }
  39188. // Validate inspects the fields of the type to determine if they are valid.
  39189. func (s *CreateClientVpnEndpointInput) Validate() error {
  39190. invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
  39191. if s.AuthenticationOptions == nil {
  39192. invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
  39193. }
  39194. if s.ClientCidrBlock == nil {
  39195. invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
  39196. }
  39197. if s.ConnectionLogOptions == nil {
  39198. invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
  39199. }
  39200. if s.ServerCertificateArn == nil {
  39201. invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
  39202. }
  39203. if invalidParams.Len() > 0 {
  39204. return invalidParams
  39205. }
  39206. return nil
  39207. }
  39208. // SetAuthenticationOptions sets the AuthenticationOptions field's value.
  39209. func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
  39210. s.AuthenticationOptions = v
  39211. return s
  39212. }
  39213. // SetClientCidrBlock sets the ClientCidrBlock field's value.
  39214. func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
  39215. s.ClientCidrBlock = &v
  39216. return s
  39217. }
  39218. // SetClientToken sets the ClientToken field's value.
  39219. func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
  39220. s.ClientToken = &v
  39221. return s
  39222. }
  39223. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  39224. func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
  39225. s.ConnectionLogOptions = v
  39226. return s
  39227. }
  39228. // SetDescription sets the Description field's value.
  39229. func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
  39230. s.Description = &v
  39231. return s
  39232. }
  39233. // SetDnsServers sets the DnsServers field's value.
  39234. func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
  39235. s.DnsServers = v
  39236. return s
  39237. }
  39238. // SetDryRun sets the DryRun field's value.
  39239. func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
  39240. s.DryRun = &v
  39241. return s
  39242. }
  39243. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  39244. func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
  39245. s.ServerCertificateArn = &v
  39246. return s
  39247. }
  39248. // SetSplitTunnel sets the SplitTunnel field's value.
  39249. func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput {
  39250. s.SplitTunnel = &v
  39251. return s
  39252. }
  39253. // SetTagSpecifications sets the TagSpecifications field's value.
  39254. func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
  39255. s.TagSpecifications = v
  39256. return s
  39257. }
  39258. // SetTransportProtocol sets the TransportProtocol field's value.
  39259. func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
  39260. s.TransportProtocol = &v
  39261. return s
  39262. }
  39263. type CreateClientVpnEndpointOutput struct {
  39264. _ struct{} `type:"structure"`
  39265. // The ID of the Client VPN endpoint.
  39266. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  39267. // The DNS name to be used by clients when establishing their VPN session.
  39268. DnsName *string `locationName:"dnsName" type:"string"`
  39269. // The current state of the Client VPN endpoint.
  39270. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  39271. }
  39272. // String returns the string representation
  39273. func (s CreateClientVpnEndpointOutput) String() string {
  39274. return awsutil.Prettify(s)
  39275. }
  39276. // GoString returns the string representation
  39277. func (s CreateClientVpnEndpointOutput) GoString() string {
  39278. return s.String()
  39279. }
  39280. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  39281. func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
  39282. s.ClientVpnEndpointId = &v
  39283. return s
  39284. }
  39285. // SetDnsName sets the DnsName field's value.
  39286. func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
  39287. s.DnsName = &v
  39288. return s
  39289. }
  39290. // SetStatus sets the Status field's value.
  39291. func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
  39292. s.Status = v
  39293. return s
  39294. }
  39295. type CreateClientVpnRouteInput struct {
  39296. _ struct{} `type:"structure"`
  39297. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  39298. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  39299. ClientToken *string `type:"string" idempotencyToken:"true"`
  39300. // The ID of the Client VPN endpoint to which to add the route.
  39301. //
  39302. // ClientVpnEndpointId is a required field
  39303. ClientVpnEndpointId *string `type:"string" required:"true"`
  39304. // A brief description of the route.
  39305. Description *string `type:"string"`
  39306. // The IPv4 address range, in CIDR notation, of the route destination. For example:
  39307. //
  39308. // * To add a route for Internet access, enter 0.0.0.0/0
  39309. //
  39310. // * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
  39311. //
  39312. // * To add a route for an on-premises network, enter the AWS Site-to-Site
  39313. // VPN connection's IPv4 CIDR range
  39314. //
  39315. // Route address ranges cannot overlap with the CIDR range specified for client
  39316. // allocation.
  39317. //
  39318. // DestinationCidrBlock is a required field
  39319. DestinationCidrBlock *string `type:"string" required:"true"`
  39320. // Checks whether you have the required permissions for the action, without
  39321. // actually making the request, and provides an error response. If you have
  39322. // the required permissions, the error response is DryRunOperation. Otherwise,
  39323. // it is UnauthorizedOperation.
  39324. DryRun *bool `type:"boolean"`
  39325. // The ID of the subnet through which you want to route traffic. The specified
  39326. // subnet must be an existing target network of the Client VPN endpoint.
  39327. //
  39328. // TargetVpcSubnetId is a required field
  39329. TargetVpcSubnetId *string `type:"string" required:"true"`
  39330. }
  39331. // String returns the string representation
  39332. func (s CreateClientVpnRouteInput) String() string {
  39333. return awsutil.Prettify(s)
  39334. }
  39335. // GoString returns the string representation
  39336. func (s CreateClientVpnRouteInput) GoString() string {
  39337. return s.String()
  39338. }
  39339. // Validate inspects the fields of the type to determine if they are valid.
  39340. func (s *CreateClientVpnRouteInput) Validate() error {
  39341. invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
  39342. if s.ClientVpnEndpointId == nil {
  39343. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  39344. }
  39345. if s.DestinationCidrBlock == nil {
  39346. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  39347. }
  39348. if s.TargetVpcSubnetId == nil {
  39349. invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
  39350. }
  39351. if invalidParams.Len() > 0 {
  39352. return invalidParams
  39353. }
  39354. return nil
  39355. }
  39356. // SetClientToken sets the ClientToken field's value.
  39357. func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
  39358. s.ClientToken = &v
  39359. return s
  39360. }
  39361. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  39362. func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
  39363. s.ClientVpnEndpointId = &v
  39364. return s
  39365. }
  39366. // SetDescription sets the Description field's value.
  39367. func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
  39368. s.Description = &v
  39369. return s
  39370. }
  39371. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  39372. func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
  39373. s.DestinationCidrBlock = &v
  39374. return s
  39375. }
  39376. // SetDryRun sets the DryRun field's value.
  39377. func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
  39378. s.DryRun = &v
  39379. return s
  39380. }
  39381. // SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
  39382. func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
  39383. s.TargetVpcSubnetId = &v
  39384. return s
  39385. }
  39386. type CreateClientVpnRouteOutput struct {
  39387. _ struct{} `type:"structure"`
  39388. // The current state of the route.
  39389. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  39390. }
  39391. // String returns the string representation
  39392. func (s CreateClientVpnRouteOutput) String() string {
  39393. return awsutil.Prettify(s)
  39394. }
  39395. // GoString returns the string representation
  39396. func (s CreateClientVpnRouteOutput) GoString() string {
  39397. return s.String()
  39398. }
  39399. // SetStatus sets the Status field's value.
  39400. func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
  39401. s.Status = v
  39402. return s
  39403. }
  39404. // Contains the parameters for CreateCustomerGateway.
  39405. type CreateCustomerGatewayInput struct {
  39406. _ struct{} `type:"structure"`
  39407. // For devices that support BGP, the customer gateway's BGP ASN.
  39408. //
  39409. // Default: 65000
  39410. //
  39411. // BgpAsn is a required field
  39412. BgpAsn *int64 `type:"integer" required:"true"`
  39413. // The Amazon Resource Name (ARN) for the customer gateway certificate.
  39414. CertificateArn *string `type:"string"`
  39415. // A name for the customer gateway device.
  39416. //
  39417. // Length Constraints: Up to 255 characters.
  39418. DeviceName *string `type:"string"`
  39419. // Checks whether you have the required permissions for the action, without
  39420. // actually making the request, and provides an error response. If you have
  39421. // the required permissions, the error response is DryRunOperation. Otherwise,
  39422. // it is UnauthorizedOperation.
  39423. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39424. // The Internet-routable IP address for the customer gateway's outside interface.
  39425. // The address must be static.
  39426. PublicIp *string `locationName:"IpAddress" type:"string"`
  39427. // The type of VPN connection that this customer gateway supports (ipsec.1).
  39428. //
  39429. // Type is a required field
  39430. Type *string `type:"string" required:"true" enum:"GatewayType"`
  39431. }
  39432. // String returns the string representation
  39433. func (s CreateCustomerGatewayInput) String() string {
  39434. return awsutil.Prettify(s)
  39435. }
  39436. // GoString returns the string representation
  39437. func (s CreateCustomerGatewayInput) GoString() string {
  39438. return s.String()
  39439. }
  39440. // Validate inspects the fields of the type to determine if they are valid.
  39441. func (s *CreateCustomerGatewayInput) Validate() error {
  39442. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  39443. if s.BgpAsn == nil {
  39444. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  39445. }
  39446. if s.Type == nil {
  39447. invalidParams.Add(request.NewErrParamRequired("Type"))
  39448. }
  39449. if invalidParams.Len() > 0 {
  39450. return invalidParams
  39451. }
  39452. return nil
  39453. }
  39454. // SetBgpAsn sets the BgpAsn field's value.
  39455. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  39456. s.BgpAsn = &v
  39457. return s
  39458. }
  39459. // SetCertificateArn sets the CertificateArn field's value.
  39460. func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput {
  39461. s.CertificateArn = &v
  39462. return s
  39463. }
  39464. // SetDeviceName sets the DeviceName field's value.
  39465. func (s *CreateCustomerGatewayInput) SetDeviceName(v string) *CreateCustomerGatewayInput {
  39466. s.DeviceName = &v
  39467. return s
  39468. }
  39469. // SetDryRun sets the DryRun field's value.
  39470. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  39471. s.DryRun = &v
  39472. return s
  39473. }
  39474. // SetPublicIp sets the PublicIp field's value.
  39475. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  39476. s.PublicIp = &v
  39477. return s
  39478. }
  39479. // SetType sets the Type field's value.
  39480. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  39481. s.Type = &v
  39482. return s
  39483. }
  39484. // Contains the output of CreateCustomerGateway.
  39485. type CreateCustomerGatewayOutput struct {
  39486. _ struct{} `type:"structure"`
  39487. // Information about the customer gateway.
  39488. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  39489. }
  39490. // String returns the string representation
  39491. func (s CreateCustomerGatewayOutput) String() string {
  39492. return awsutil.Prettify(s)
  39493. }
  39494. // GoString returns the string representation
  39495. func (s CreateCustomerGatewayOutput) GoString() string {
  39496. return s.String()
  39497. }
  39498. // SetCustomerGateway sets the CustomerGateway field's value.
  39499. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  39500. s.CustomerGateway = v
  39501. return s
  39502. }
  39503. type CreateDefaultSubnetInput struct {
  39504. _ struct{} `type:"structure"`
  39505. // The Availability Zone in which to create the default subnet.
  39506. //
  39507. // AvailabilityZone is a required field
  39508. AvailabilityZone *string `type:"string" required:"true"`
  39509. // Checks whether you have the required permissions for the action, without
  39510. // actually making the request, and provides an error response. If you have
  39511. // the required permissions, the error response is DryRunOperation. Otherwise,
  39512. // it is UnauthorizedOperation.
  39513. DryRun *bool `type:"boolean"`
  39514. }
  39515. // String returns the string representation
  39516. func (s CreateDefaultSubnetInput) String() string {
  39517. return awsutil.Prettify(s)
  39518. }
  39519. // GoString returns the string representation
  39520. func (s CreateDefaultSubnetInput) GoString() string {
  39521. return s.String()
  39522. }
  39523. // Validate inspects the fields of the type to determine if they are valid.
  39524. func (s *CreateDefaultSubnetInput) Validate() error {
  39525. invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
  39526. if s.AvailabilityZone == nil {
  39527. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  39528. }
  39529. if invalidParams.Len() > 0 {
  39530. return invalidParams
  39531. }
  39532. return nil
  39533. }
  39534. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39535. func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
  39536. s.AvailabilityZone = &v
  39537. return s
  39538. }
  39539. // SetDryRun sets the DryRun field's value.
  39540. func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
  39541. s.DryRun = &v
  39542. return s
  39543. }
  39544. type CreateDefaultSubnetOutput struct {
  39545. _ struct{} `type:"structure"`
  39546. // Information about the subnet.
  39547. Subnet *Subnet `locationName:"subnet" type:"structure"`
  39548. }
  39549. // String returns the string representation
  39550. func (s CreateDefaultSubnetOutput) String() string {
  39551. return awsutil.Prettify(s)
  39552. }
  39553. // GoString returns the string representation
  39554. func (s CreateDefaultSubnetOutput) GoString() string {
  39555. return s.String()
  39556. }
  39557. // SetSubnet sets the Subnet field's value.
  39558. func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
  39559. s.Subnet = v
  39560. return s
  39561. }
  39562. type CreateDefaultVpcInput struct {
  39563. _ struct{} `type:"structure"`
  39564. // Checks whether you have the required permissions for the action, without
  39565. // actually making the request, and provides an error response. If you have
  39566. // the required permissions, the error response is DryRunOperation. Otherwise,
  39567. // it is UnauthorizedOperation.
  39568. DryRun *bool `type:"boolean"`
  39569. }
  39570. // String returns the string representation
  39571. func (s CreateDefaultVpcInput) String() string {
  39572. return awsutil.Prettify(s)
  39573. }
  39574. // GoString returns the string representation
  39575. func (s CreateDefaultVpcInput) GoString() string {
  39576. return s.String()
  39577. }
  39578. // SetDryRun sets the DryRun field's value.
  39579. func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
  39580. s.DryRun = &v
  39581. return s
  39582. }
  39583. type CreateDefaultVpcOutput struct {
  39584. _ struct{} `type:"structure"`
  39585. // Information about the VPC.
  39586. Vpc *Vpc `locationName:"vpc" type:"structure"`
  39587. }
  39588. // String returns the string representation
  39589. func (s CreateDefaultVpcOutput) String() string {
  39590. return awsutil.Prettify(s)
  39591. }
  39592. // GoString returns the string representation
  39593. func (s CreateDefaultVpcOutput) GoString() string {
  39594. return s.String()
  39595. }
  39596. // SetVpc sets the Vpc field's value.
  39597. func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
  39598. s.Vpc = v
  39599. return s
  39600. }
  39601. type CreateDhcpOptionsInput struct {
  39602. _ struct{} `type:"structure"`
  39603. // A DHCP configuration option.
  39604. //
  39605. // DhcpConfigurations is a required field
  39606. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  39607. // Checks whether you have the required permissions for the action, without
  39608. // actually making the request, and provides an error response. If you have
  39609. // the required permissions, the error response is DryRunOperation. Otherwise,
  39610. // it is UnauthorizedOperation.
  39611. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39612. }
  39613. // String returns the string representation
  39614. func (s CreateDhcpOptionsInput) String() string {
  39615. return awsutil.Prettify(s)
  39616. }
  39617. // GoString returns the string representation
  39618. func (s CreateDhcpOptionsInput) GoString() string {
  39619. return s.String()
  39620. }
  39621. // Validate inspects the fields of the type to determine if they are valid.
  39622. func (s *CreateDhcpOptionsInput) Validate() error {
  39623. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  39624. if s.DhcpConfigurations == nil {
  39625. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  39626. }
  39627. if invalidParams.Len() > 0 {
  39628. return invalidParams
  39629. }
  39630. return nil
  39631. }
  39632. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  39633. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  39634. s.DhcpConfigurations = v
  39635. return s
  39636. }
  39637. // SetDryRun sets the DryRun field's value.
  39638. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  39639. s.DryRun = &v
  39640. return s
  39641. }
  39642. type CreateDhcpOptionsOutput struct {
  39643. _ struct{} `type:"structure"`
  39644. // A set of DHCP options.
  39645. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  39646. }
  39647. // String returns the string representation
  39648. func (s CreateDhcpOptionsOutput) String() string {
  39649. return awsutil.Prettify(s)
  39650. }
  39651. // GoString returns the string representation
  39652. func (s CreateDhcpOptionsOutput) GoString() string {
  39653. return s.String()
  39654. }
  39655. // SetDhcpOptions sets the DhcpOptions field's value.
  39656. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  39657. s.DhcpOptions = v
  39658. return s
  39659. }
  39660. type CreateEgressOnlyInternetGatewayInput struct {
  39661. _ struct{} `type:"structure"`
  39662. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  39663. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  39664. ClientToken *string `type:"string"`
  39665. // Checks whether you have the required permissions for the action, without
  39666. // actually making the request, and provides an error response. If you have
  39667. // the required permissions, the error response is DryRunOperation. Otherwise,
  39668. // it is UnauthorizedOperation.
  39669. DryRun *bool `type:"boolean"`
  39670. // The ID of the VPC for which to create the egress-only internet gateway.
  39671. //
  39672. // VpcId is a required field
  39673. VpcId *string `type:"string" required:"true"`
  39674. }
  39675. // String returns the string representation
  39676. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  39677. return awsutil.Prettify(s)
  39678. }
  39679. // GoString returns the string representation
  39680. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  39681. return s.String()
  39682. }
  39683. // Validate inspects the fields of the type to determine if they are valid.
  39684. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  39685. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  39686. if s.VpcId == nil {
  39687. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  39688. }
  39689. if invalidParams.Len() > 0 {
  39690. return invalidParams
  39691. }
  39692. return nil
  39693. }
  39694. // SetClientToken sets the ClientToken field's value.
  39695. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  39696. s.ClientToken = &v
  39697. return s
  39698. }
  39699. // SetDryRun sets the DryRun field's value.
  39700. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  39701. s.DryRun = &v
  39702. return s
  39703. }
  39704. // SetVpcId sets the VpcId field's value.
  39705. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  39706. s.VpcId = &v
  39707. return s
  39708. }
  39709. type CreateEgressOnlyInternetGatewayOutput struct {
  39710. _ struct{} `type:"structure"`
  39711. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  39712. // of the request.
  39713. ClientToken *string `locationName:"clientToken" type:"string"`
  39714. // Information about the egress-only internet gateway.
  39715. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  39716. }
  39717. // String returns the string representation
  39718. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  39719. return awsutil.Prettify(s)
  39720. }
  39721. // GoString returns the string representation
  39722. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  39723. return s.String()
  39724. }
  39725. // SetClientToken sets the ClientToken field's value.
  39726. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  39727. s.ClientToken = &v
  39728. return s
  39729. }
  39730. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  39731. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  39732. s.EgressOnlyInternetGateway = v
  39733. return s
  39734. }
  39735. // Describes the instances that could not be launched by the fleet.
  39736. type CreateFleetError struct {
  39737. _ struct{} `type:"structure"`
  39738. // The error code that indicates why the instance could not be launched. For
  39739. // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  39740. ErrorCode *string `locationName:"errorCode" type:"string"`
  39741. // The error message that describes why the instance could not be launched.
  39742. // For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  39743. ErrorMessage *string `locationName:"errorMessage" type:"string"`
  39744. // The launch templates and overrides that were used for launching the instances.
  39745. // The values that you specify in the Overrides replace the values in the launch
  39746. // template.
  39747. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  39748. // Indicates if the instance that could not be launched was a Spot Instance
  39749. // or On-Demand Instance.
  39750. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  39751. }
  39752. // String returns the string representation
  39753. func (s CreateFleetError) String() string {
  39754. return awsutil.Prettify(s)
  39755. }
  39756. // GoString returns the string representation
  39757. func (s CreateFleetError) GoString() string {
  39758. return s.String()
  39759. }
  39760. // SetErrorCode sets the ErrorCode field's value.
  39761. func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
  39762. s.ErrorCode = &v
  39763. return s
  39764. }
  39765. // SetErrorMessage sets the ErrorMessage field's value.
  39766. func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
  39767. s.ErrorMessage = &v
  39768. return s
  39769. }
  39770. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  39771. func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
  39772. s.LaunchTemplateAndOverrides = v
  39773. return s
  39774. }
  39775. // SetLifecycle sets the Lifecycle field's value.
  39776. func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
  39777. s.Lifecycle = &v
  39778. return s
  39779. }
  39780. type CreateFleetInput struct {
  39781. _ struct{} `type:"structure"`
  39782. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  39783. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  39784. ClientToken *string `type:"string"`
  39785. // Checks whether you have the required permissions for the action, without
  39786. // actually making the request, and provides an error response. If you have
  39787. // the required permissions, the error response is DryRunOperation. Otherwise,
  39788. // it is UnauthorizedOperation.
  39789. DryRun *bool `type:"boolean"`
  39790. // Indicates whether running instances should be terminated if the total target
  39791. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  39792. // Fleet.
  39793. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  39794. // The configuration for the EC2 Fleet.
  39795. //
  39796. // LaunchTemplateConfigs is a required field
  39797. LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
  39798. // Describes the configuration of On-Demand Instances in an EC2 Fleet.
  39799. OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
  39800. // Indicates whether EC2 Fleet should replace unhealthy instances.
  39801. ReplaceUnhealthyInstances *bool `type:"boolean"`
  39802. // Describes the configuration of Spot Instances in an EC2 Fleet.
  39803. SpotOptions *SpotOptionsRequest `type:"structure"`
  39804. // The key-value pair for tagging the EC2 Fleet request on creation. The value
  39805. // for ResourceType must be fleet, otherwise the fleet request fails. To tag
  39806. // instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
  39807. // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
  39808. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  39809. // The number of units to request.
  39810. //
  39811. // TargetCapacitySpecification is a required field
  39812. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  39813. // Indicates whether running instances should be terminated when the EC2 Fleet
  39814. // expires.
  39815. TerminateInstancesWithExpiration *bool `type:"boolean"`
  39816. // The type of the request. By default, the EC2 Fleet places an asynchronous
  39817. // request for your desired capacity, and maintains it by replenishing interrupted
  39818. // Spot Instances (maintain). A value of instant places a synchronous one-time
  39819. // request, and returns errors for any instances that could not be launched.
  39820. // A value of request places an asynchronous one-time request without maintaining
  39821. // capacity or submitting requests in alternative capacity pools if capacity
  39822. // is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type)
  39823. // in the Amazon Elastic Compute Cloud User Guide.
  39824. Type *string `type:"string" enum:"FleetType"`
  39825. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39826. // The default is to start fulfilling the request immediately.
  39827. ValidFrom *time.Time `type:"timestamp"`
  39828. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39829. // At this point, no new EC2 Fleet requests are placed or able to fulfill the
  39830. // request. If no value is specified, the request remains until you cancel it.
  39831. ValidUntil *time.Time `type:"timestamp"`
  39832. }
  39833. // String returns the string representation
  39834. func (s CreateFleetInput) String() string {
  39835. return awsutil.Prettify(s)
  39836. }
  39837. // GoString returns the string representation
  39838. func (s CreateFleetInput) GoString() string {
  39839. return s.String()
  39840. }
  39841. // Validate inspects the fields of the type to determine if they are valid.
  39842. func (s *CreateFleetInput) Validate() error {
  39843. invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
  39844. if s.LaunchTemplateConfigs == nil {
  39845. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
  39846. }
  39847. if s.TargetCapacitySpecification == nil {
  39848. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  39849. }
  39850. if s.LaunchTemplateConfigs != nil {
  39851. for i, v := range s.LaunchTemplateConfigs {
  39852. if v == nil {
  39853. continue
  39854. }
  39855. if err := v.Validate(); err != nil {
  39856. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  39857. }
  39858. }
  39859. }
  39860. if s.TargetCapacitySpecification != nil {
  39861. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  39862. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  39863. }
  39864. }
  39865. if invalidParams.Len() > 0 {
  39866. return invalidParams
  39867. }
  39868. return nil
  39869. }
  39870. // SetClientToken sets the ClientToken field's value.
  39871. func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
  39872. s.ClientToken = &v
  39873. return s
  39874. }
  39875. // SetDryRun sets the DryRun field's value.
  39876. func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
  39877. s.DryRun = &v
  39878. return s
  39879. }
  39880. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  39881. func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
  39882. s.ExcessCapacityTerminationPolicy = &v
  39883. return s
  39884. }
  39885. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  39886. func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
  39887. s.LaunchTemplateConfigs = v
  39888. return s
  39889. }
  39890. // SetOnDemandOptions sets the OnDemandOptions field's value.
  39891. func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
  39892. s.OnDemandOptions = v
  39893. return s
  39894. }
  39895. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  39896. func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
  39897. s.ReplaceUnhealthyInstances = &v
  39898. return s
  39899. }
  39900. // SetSpotOptions sets the SpotOptions field's value.
  39901. func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
  39902. s.SpotOptions = v
  39903. return s
  39904. }
  39905. // SetTagSpecifications sets the TagSpecifications field's value.
  39906. func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
  39907. s.TagSpecifications = v
  39908. return s
  39909. }
  39910. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  39911. func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
  39912. s.TargetCapacitySpecification = v
  39913. return s
  39914. }
  39915. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  39916. func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
  39917. s.TerminateInstancesWithExpiration = &v
  39918. return s
  39919. }
  39920. // SetType sets the Type field's value.
  39921. func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
  39922. s.Type = &v
  39923. return s
  39924. }
  39925. // SetValidFrom sets the ValidFrom field's value.
  39926. func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
  39927. s.ValidFrom = &v
  39928. return s
  39929. }
  39930. // SetValidUntil sets the ValidUntil field's value.
  39931. func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
  39932. s.ValidUntil = &v
  39933. return s
  39934. }
  39935. // Describes the instances that were launched by the fleet.
  39936. type CreateFleetInstance struct {
  39937. _ struct{} `type:"structure"`
  39938. // The IDs of the instances.
  39939. InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
  39940. // The instance type.
  39941. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  39942. // The launch templates and overrides that were used for launching the instances.
  39943. // The values that you specify in the Overrides replace the values in the launch
  39944. // template.
  39945. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  39946. // Indicates if the instance that was launched is a Spot Instance or On-Demand
  39947. // Instance.
  39948. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  39949. // The value is Windows for Windows instances. Otherwise, the value is blank.
  39950. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  39951. }
  39952. // String returns the string representation
  39953. func (s CreateFleetInstance) String() string {
  39954. return awsutil.Prettify(s)
  39955. }
  39956. // GoString returns the string representation
  39957. func (s CreateFleetInstance) GoString() string {
  39958. return s.String()
  39959. }
  39960. // SetInstanceIds sets the InstanceIds field's value.
  39961. func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
  39962. s.InstanceIds = v
  39963. return s
  39964. }
  39965. // SetInstanceType sets the InstanceType field's value.
  39966. func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
  39967. s.InstanceType = &v
  39968. return s
  39969. }
  39970. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  39971. func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
  39972. s.LaunchTemplateAndOverrides = v
  39973. return s
  39974. }
  39975. // SetLifecycle sets the Lifecycle field's value.
  39976. func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
  39977. s.Lifecycle = &v
  39978. return s
  39979. }
  39980. // SetPlatform sets the Platform field's value.
  39981. func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
  39982. s.Platform = &v
  39983. return s
  39984. }
  39985. type CreateFleetOutput struct {
  39986. _ struct{} `type:"structure"`
  39987. // Information about the instances that could not be launched by the fleet.
  39988. // Valid only when Type is set to instant.
  39989. Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
  39990. // The ID of the EC2 Fleet.
  39991. FleetId *string `locationName:"fleetId" type:"string"`
  39992. // Information about the instances that were launched by the fleet. Valid only
  39993. // when Type is set to instant.
  39994. Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
  39995. }
  39996. // String returns the string representation
  39997. func (s CreateFleetOutput) String() string {
  39998. return awsutil.Prettify(s)
  39999. }
  40000. // GoString returns the string representation
  40001. func (s CreateFleetOutput) GoString() string {
  40002. return s.String()
  40003. }
  40004. // SetErrors sets the Errors field's value.
  40005. func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
  40006. s.Errors = v
  40007. return s
  40008. }
  40009. // SetFleetId sets the FleetId field's value.
  40010. func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
  40011. s.FleetId = &v
  40012. return s
  40013. }
  40014. // SetInstances sets the Instances field's value.
  40015. func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
  40016. s.Instances = v
  40017. return s
  40018. }
  40019. type CreateFlowLogsInput struct {
  40020. _ struct{} `type:"structure"`
  40021. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  40022. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  40023. ClientToken *string `type:"string"`
  40024. // The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
  40025. // a CloudWatch Logs log group in your account.
  40026. //
  40027. // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
  40028. // or LogGroupName.
  40029. DeliverLogsPermissionArn *string `type:"string"`
  40030. // Checks whether you have the required permissions for the action, without
  40031. // actually making the request, and provides an error response. If you have
  40032. // the required permissions, the error response is DryRunOperation. Otherwise,
  40033. // it is UnauthorizedOperation.
  40034. DryRun *bool `type:"boolean"`
  40035. // Specifies the destination to which the flow log data is to be published.
  40036. // Flow log data can be published to a CloudWatch Logs log group or an Amazon
  40037. // S3 bucket. The value specified for this parameter depends on the value specified
  40038. // for LogDestinationType.
  40039. //
  40040. // If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
  40041. // Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
  40042. // to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
  40043. // Alternatively, use LogGroupName instead.
  40044. //
  40045. // If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
  40046. // can also specify a subfolder in the bucket. To specify a subfolder in the
  40047. // bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
  40048. // to specify a subfolder named my-logs in a bucket named my-bucket, use the
  40049. // following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
  40050. // a subfolder name. This is a reserved term.
  40051. LogDestination *string `type:"string"`
  40052. // Specifies the type of destination to which the flow log data is to be published.
  40053. // Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
  40054. // flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
  40055. // log data to Amazon S3, specify s3.
  40056. //
  40057. // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
  40058. // or LogGroupName.
  40059. //
  40060. // Default: cloud-watch-logs
  40061. LogDestinationType *string `type:"string" enum:"LogDestinationType"`
  40062. // The fields to include in the flow log record, in the order in which they
  40063. // should appear. For a list of available fields, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records).
  40064. // If you omit this parameter, the flow log is created using the default format.
  40065. // If you specify this parameter, you must specify at least one field.
  40066. //
  40067. // Specify the fields using the ${field-id} format, separated by spaces. For
  40068. // the AWS CLI, use single quotation marks (' ') to surround the parameter value.
  40069. //
  40070. // Only applicable to flow logs that are published to an Amazon S3 bucket.
  40071. LogFormat *string `type:"string"`
  40072. // The name of a new or existing CloudWatch Logs log group where Amazon EC2
  40073. // publishes your flow logs.
  40074. //
  40075. // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
  40076. // or LogGroupName.
  40077. LogGroupName *string `type:"string"`
  40078. // The ID of the subnet, network interface, or VPC for which you want to create
  40079. // a flow log.
  40080. //
  40081. // Constraints: Maximum of 1000 resources
  40082. //
  40083. // ResourceIds is a required field
  40084. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  40085. // The type of resource for which to create the flow log. For example, if you
  40086. // specified a VPC ID for the ResourceId property, specify VPC for this property.
  40087. //
  40088. // ResourceType is a required field
  40089. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  40090. // The type of traffic to log. You can log traffic that the resource accepts
  40091. // or rejects, or all traffic.
  40092. //
  40093. // TrafficType is a required field
  40094. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  40095. }
  40096. // String returns the string representation
  40097. func (s CreateFlowLogsInput) String() string {
  40098. return awsutil.Prettify(s)
  40099. }
  40100. // GoString returns the string representation
  40101. func (s CreateFlowLogsInput) GoString() string {
  40102. return s.String()
  40103. }
  40104. // Validate inspects the fields of the type to determine if they are valid.
  40105. func (s *CreateFlowLogsInput) Validate() error {
  40106. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  40107. if s.ResourceIds == nil {
  40108. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  40109. }
  40110. if s.ResourceType == nil {
  40111. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  40112. }
  40113. if s.TrafficType == nil {
  40114. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  40115. }
  40116. if invalidParams.Len() > 0 {
  40117. return invalidParams
  40118. }
  40119. return nil
  40120. }
  40121. // SetClientToken sets the ClientToken field's value.
  40122. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  40123. s.ClientToken = &v
  40124. return s
  40125. }
  40126. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  40127. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  40128. s.DeliverLogsPermissionArn = &v
  40129. return s
  40130. }
  40131. // SetDryRun sets the DryRun field's value.
  40132. func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
  40133. s.DryRun = &v
  40134. return s
  40135. }
  40136. // SetLogDestination sets the LogDestination field's value.
  40137. func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
  40138. s.LogDestination = &v
  40139. return s
  40140. }
  40141. // SetLogDestinationType sets the LogDestinationType field's value.
  40142. func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
  40143. s.LogDestinationType = &v
  40144. return s
  40145. }
  40146. // SetLogFormat sets the LogFormat field's value.
  40147. func (s *CreateFlowLogsInput) SetLogFormat(v string) *CreateFlowLogsInput {
  40148. s.LogFormat = &v
  40149. return s
  40150. }
  40151. // SetLogGroupName sets the LogGroupName field's value.
  40152. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  40153. s.LogGroupName = &v
  40154. return s
  40155. }
  40156. // SetResourceIds sets the ResourceIds field's value.
  40157. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  40158. s.ResourceIds = v
  40159. return s
  40160. }
  40161. // SetResourceType sets the ResourceType field's value.
  40162. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  40163. s.ResourceType = &v
  40164. return s
  40165. }
  40166. // SetTrafficType sets the TrafficType field's value.
  40167. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  40168. s.TrafficType = &v
  40169. return s
  40170. }
  40171. type CreateFlowLogsOutput struct {
  40172. _ struct{} `type:"structure"`
  40173. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  40174. // of the request.
  40175. ClientToken *string `locationName:"clientToken" type:"string"`
  40176. // The IDs of the flow logs.
  40177. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  40178. // Information about the flow logs that could not be created successfully.
  40179. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  40180. }
  40181. // String returns the string representation
  40182. func (s CreateFlowLogsOutput) String() string {
  40183. return awsutil.Prettify(s)
  40184. }
  40185. // GoString returns the string representation
  40186. func (s CreateFlowLogsOutput) GoString() string {
  40187. return s.String()
  40188. }
  40189. // SetClientToken sets the ClientToken field's value.
  40190. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  40191. s.ClientToken = &v
  40192. return s
  40193. }
  40194. // SetFlowLogIds sets the FlowLogIds field's value.
  40195. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  40196. s.FlowLogIds = v
  40197. return s
  40198. }
  40199. // SetUnsuccessful sets the Unsuccessful field's value.
  40200. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  40201. s.Unsuccessful = v
  40202. return s
  40203. }
  40204. type CreateFpgaImageInput struct {
  40205. _ struct{} `type:"structure"`
  40206. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  40207. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  40208. ClientToken *string `type:"string"`
  40209. // A description for the AFI.
  40210. Description *string `type:"string"`
  40211. // Checks whether you have the required permissions for the action, without
  40212. // actually making the request, and provides an error response. If you have
  40213. // the required permissions, the error response is DryRunOperation. Otherwise,
  40214. // it is UnauthorizedOperation.
  40215. DryRun *bool `type:"boolean"`
  40216. // The location of the encrypted design checkpoint in Amazon S3. The input must
  40217. // be a tarball.
  40218. //
  40219. // InputStorageLocation is a required field
  40220. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  40221. // The location in Amazon S3 for the output logs.
  40222. LogsStorageLocation *StorageLocation `type:"structure"`
  40223. // A name for the AFI.
  40224. Name *string `type:"string"`
  40225. // The tags to apply to the FPGA image during creation.
  40226. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  40227. }
  40228. // String returns the string representation
  40229. func (s CreateFpgaImageInput) String() string {
  40230. return awsutil.Prettify(s)
  40231. }
  40232. // GoString returns the string representation
  40233. func (s CreateFpgaImageInput) GoString() string {
  40234. return s.String()
  40235. }
  40236. // Validate inspects the fields of the type to determine if they are valid.
  40237. func (s *CreateFpgaImageInput) Validate() error {
  40238. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  40239. if s.InputStorageLocation == nil {
  40240. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  40241. }
  40242. if invalidParams.Len() > 0 {
  40243. return invalidParams
  40244. }
  40245. return nil
  40246. }
  40247. // SetClientToken sets the ClientToken field's value.
  40248. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  40249. s.ClientToken = &v
  40250. return s
  40251. }
  40252. // SetDescription sets the Description field's value.
  40253. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  40254. s.Description = &v
  40255. return s
  40256. }
  40257. // SetDryRun sets the DryRun field's value.
  40258. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  40259. s.DryRun = &v
  40260. return s
  40261. }
  40262. // SetInputStorageLocation sets the InputStorageLocation field's value.
  40263. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  40264. s.InputStorageLocation = v
  40265. return s
  40266. }
  40267. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  40268. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  40269. s.LogsStorageLocation = v
  40270. return s
  40271. }
  40272. // SetName sets the Name field's value.
  40273. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  40274. s.Name = &v
  40275. return s
  40276. }
  40277. // SetTagSpecifications sets the TagSpecifications field's value.
  40278. func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput {
  40279. s.TagSpecifications = v
  40280. return s
  40281. }
  40282. type CreateFpgaImageOutput struct {
  40283. _ struct{} `type:"structure"`
  40284. // The global FPGA image identifier (AGFI ID).
  40285. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  40286. // The FPGA image identifier (AFI ID).
  40287. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  40288. }
  40289. // String returns the string representation
  40290. func (s CreateFpgaImageOutput) String() string {
  40291. return awsutil.Prettify(s)
  40292. }
  40293. // GoString returns the string representation
  40294. func (s CreateFpgaImageOutput) GoString() string {
  40295. return s.String()
  40296. }
  40297. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  40298. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  40299. s.FpgaImageGlobalId = &v
  40300. return s
  40301. }
  40302. // SetFpgaImageId sets the FpgaImageId field's value.
  40303. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  40304. s.FpgaImageId = &v
  40305. return s
  40306. }
  40307. type CreateImageInput struct {
  40308. _ struct{} `type:"structure"`
  40309. // The block device mappings. This parameter cannot be used to modify the encryption
  40310. // status of existing volumes or snapshots. To create an AMI with encrypted
  40311. // snapshots, use the CopyImage action.
  40312. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  40313. // A description for the new image.
  40314. Description *string `locationName:"description" type:"string"`
  40315. // Checks whether you have the required permissions for the action, without
  40316. // actually making the request, and provides an error response. If you have
  40317. // the required permissions, the error response is DryRunOperation. Otherwise,
  40318. // it is UnauthorizedOperation.
  40319. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40320. // The ID of the instance.
  40321. //
  40322. // InstanceId is a required field
  40323. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  40324. // A name for the new image.
  40325. //
  40326. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  40327. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  40328. // at-signs (@), or underscores(_)
  40329. //
  40330. // Name is a required field
  40331. Name *string `locationName:"name" type:"string" required:"true"`
  40332. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  40333. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  40334. // shut down the instance before creating the image. When this option is used,
  40335. // file system integrity on the created image can't be guaranteed.
  40336. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  40337. }
  40338. // String returns the string representation
  40339. func (s CreateImageInput) String() string {
  40340. return awsutil.Prettify(s)
  40341. }
  40342. // GoString returns the string representation
  40343. func (s CreateImageInput) GoString() string {
  40344. return s.String()
  40345. }
  40346. // Validate inspects the fields of the type to determine if they are valid.
  40347. func (s *CreateImageInput) Validate() error {
  40348. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  40349. if s.InstanceId == nil {
  40350. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  40351. }
  40352. if s.Name == nil {
  40353. invalidParams.Add(request.NewErrParamRequired("Name"))
  40354. }
  40355. if invalidParams.Len() > 0 {
  40356. return invalidParams
  40357. }
  40358. return nil
  40359. }
  40360. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40361. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  40362. s.BlockDeviceMappings = v
  40363. return s
  40364. }
  40365. // SetDescription sets the Description field's value.
  40366. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  40367. s.Description = &v
  40368. return s
  40369. }
  40370. // SetDryRun sets the DryRun field's value.
  40371. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  40372. s.DryRun = &v
  40373. return s
  40374. }
  40375. // SetInstanceId sets the InstanceId field's value.
  40376. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  40377. s.InstanceId = &v
  40378. return s
  40379. }
  40380. // SetName sets the Name field's value.
  40381. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  40382. s.Name = &v
  40383. return s
  40384. }
  40385. // SetNoReboot sets the NoReboot field's value.
  40386. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  40387. s.NoReboot = &v
  40388. return s
  40389. }
  40390. type CreateImageOutput struct {
  40391. _ struct{} `type:"structure"`
  40392. // The ID of the new AMI.
  40393. ImageId *string `locationName:"imageId" type:"string"`
  40394. }
  40395. // String returns the string representation
  40396. func (s CreateImageOutput) String() string {
  40397. return awsutil.Prettify(s)
  40398. }
  40399. // GoString returns the string representation
  40400. func (s CreateImageOutput) GoString() string {
  40401. return s.String()
  40402. }
  40403. // SetImageId sets the ImageId field's value.
  40404. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  40405. s.ImageId = &v
  40406. return s
  40407. }
  40408. type CreateInstanceExportTaskInput struct {
  40409. _ struct{} `type:"structure"`
  40410. // A description for the conversion task or the resource being exported. The
  40411. // maximum length is 255 bytes.
  40412. Description *string `locationName:"description" type:"string"`
  40413. // The format and location for an instance export task.
  40414. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  40415. // The ID of the instance.
  40416. //
  40417. // InstanceId is a required field
  40418. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  40419. // The target virtualization environment.
  40420. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  40421. }
  40422. // String returns the string representation
  40423. func (s CreateInstanceExportTaskInput) String() string {
  40424. return awsutil.Prettify(s)
  40425. }
  40426. // GoString returns the string representation
  40427. func (s CreateInstanceExportTaskInput) GoString() string {
  40428. return s.String()
  40429. }
  40430. // Validate inspects the fields of the type to determine if they are valid.
  40431. func (s *CreateInstanceExportTaskInput) Validate() error {
  40432. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  40433. if s.InstanceId == nil {
  40434. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  40435. }
  40436. if invalidParams.Len() > 0 {
  40437. return invalidParams
  40438. }
  40439. return nil
  40440. }
  40441. // SetDescription sets the Description field's value.
  40442. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  40443. s.Description = &v
  40444. return s
  40445. }
  40446. // SetExportToS3Task sets the ExportToS3Task field's value.
  40447. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  40448. s.ExportToS3Task = v
  40449. return s
  40450. }
  40451. // SetInstanceId sets the InstanceId field's value.
  40452. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  40453. s.InstanceId = &v
  40454. return s
  40455. }
  40456. // SetTargetEnvironment sets the TargetEnvironment field's value.
  40457. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  40458. s.TargetEnvironment = &v
  40459. return s
  40460. }
  40461. type CreateInstanceExportTaskOutput struct {
  40462. _ struct{} `type:"structure"`
  40463. // Information about the instance export task.
  40464. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  40465. }
  40466. // String returns the string representation
  40467. func (s CreateInstanceExportTaskOutput) String() string {
  40468. return awsutil.Prettify(s)
  40469. }
  40470. // GoString returns the string representation
  40471. func (s CreateInstanceExportTaskOutput) GoString() string {
  40472. return s.String()
  40473. }
  40474. // SetExportTask sets the ExportTask field's value.
  40475. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  40476. s.ExportTask = v
  40477. return s
  40478. }
  40479. type CreateInternetGatewayInput struct {
  40480. _ struct{} `type:"structure"`
  40481. // Checks whether you have the required permissions for the action, without
  40482. // actually making the request, and provides an error response. If you have
  40483. // the required permissions, the error response is DryRunOperation. Otherwise,
  40484. // it is UnauthorizedOperation.
  40485. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40486. }
  40487. // String returns the string representation
  40488. func (s CreateInternetGatewayInput) String() string {
  40489. return awsutil.Prettify(s)
  40490. }
  40491. // GoString returns the string representation
  40492. func (s CreateInternetGatewayInput) GoString() string {
  40493. return s.String()
  40494. }
  40495. // SetDryRun sets the DryRun field's value.
  40496. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  40497. s.DryRun = &v
  40498. return s
  40499. }
  40500. type CreateInternetGatewayOutput struct {
  40501. _ struct{} `type:"structure"`
  40502. // Information about the internet gateway.
  40503. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  40504. }
  40505. // String returns the string representation
  40506. func (s CreateInternetGatewayOutput) String() string {
  40507. return awsutil.Prettify(s)
  40508. }
  40509. // GoString returns the string representation
  40510. func (s CreateInternetGatewayOutput) GoString() string {
  40511. return s.String()
  40512. }
  40513. // SetInternetGateway sets the InternetGateway field's value.
  40514. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  40515. s.InternetGateway = v
  40516. return s
  40517. }
  40518. type CreateKeyPairInput struct {
  40519. _ struct{} `type:"structure"`
  40520. // Checks whether you have the required permissions for the action, without
  40521. // actually making the request, and provides an error response. If you have
  40522. // the required permissions, the error response is DryRunOperation. Otherwise,
  40523. // it is UnauthorizedOperation.
  40524. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40525. // A unique name for the key pair.
  40526. //
  40527. // Constraints: Up to 255 ASCII characters
  40528. //
  40529. // KeyName is a required field
  40530. KeyName *string `type:"string" required:"true"`
  40531. }
  40532. // String returns the string representation
  40533. func (s CreateKeyPairInput) String() string {
  40534. return awsutil.Prettify(s)
  40535. }
  40536. // GoString returns the string representation
  40537. func (s CreateKeyPairInput) GoString() string {
  40538. return s.String()
  40539. }
  40540. // Validate inspects the fields of the type to determine if they are valid.
  40541. func (s *CreateKeyPairInput) Validate() error {
  40542. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  40543. if s.KeyName == nil {
  40544. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  40545. }
  40546. if invalidParams.Len() > 0 {
  40547. return invalidParams
  40548. }
  40549. return nil
  40550. }
  40551. // SetDryRun sets the DryRun field's value.
  40552. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  40553. s.DryRun = &v
  40554. return s
  40555. }
  40556. // SetKeyName sets the KeyName field's value.
  40557. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  40558. s.KeyName = &v
  40559. return s
  40560. }
  40561. // Describes a key pair.
  40562. type CreateKeyPairOutput struct {
  40563. _ struct{} `type:"structure"`
  40564. // The SHA-1 digest of the DER encoded private key.
  40565. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  40566. // An unencrypted PEM encoded RSA private key.
  40567. KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"`
  40568. // The name of the key pair.
  40569. KeyName *string `locationName:"keyName" type:"string"`
  40570. // The ID of the key pair.
  40571. KeyPairId *string `locationName:"keyPairId" type:"string"`
  40572. }
  40573. // String returns the string representation
  40574. func (s CreateKeyPairOutput) String() string {
  40575. return awsutil.Prettify(s)
  40576. }
  40577. // GoString returns the string representation
  40578. func (s CreateKeyPairOutput) GoString() string {
  40579. return s.String()
  40580. }
  40581. // SetKeyFingerprint sets the KeyFingerprint field's value.
  40582. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  40583. s.KeyFingerprint = &v
  40584. return s
  40585. }
  40586. // SetKeyMaterial sets the KeyMaterial field's value.
  40587. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  40588. s.KeyMaterial = &v
  40589. return s
  40590. }
  40591. // SetKeyName sets the KeyName field's value.
  40592. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  40593. s.KeyName = &v
  40594. return s
  40595. }
  40596. // SetKeyPairId sets the KeyPairId field's value.
  40597. func (s *CreateKeyPairOutput) SetKeyPairId(v string) *CreateKeyPairOutput {
  40598. s.KeyPairId = &v
  40599. return s
  40600. }
  40601. type CreateLaunchTemplateInput struct {
  40602. _ struct{} `type:"structure"`
  40603. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  40604. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40605. //
  40606. // Constraint: Maximum 128 ASCII characters.
  40607. ClientToken *string `type:"string"`
  40608. // Checks whether you have the required permissions for the action, without
  40609. // actually making the request, and provides an error response. If you have
  40610. // the required permissions, the error response is DryRunOperation. Otherwise,
  40611. // it is UnauthorizedOperation.
  40612. DryRun *bool `type:"boolean"`
  40613. // The information for the launch template.
  40614. //
  40615. // LaunchTemplateData is a required field
  40616. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  40617. // A name for the launch template.
  40618. //
  40619. // LaunchTemplateName is a required field
  40620. LaunchTemplateName *string `min:"3" type:"string" required:"true"`
  40621. // The tags to apply to the launch template during creation.
  40622. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  40623. // A description for the first version of the launch template.
  40624. VersionDescription *string `type:"string"`
  40625. }
  40626. // String returns the string representation
  40627. func (s CreateLaunchTemplateInput) String() string {
  40628. return awsutil.Prettify(s)
  40629. }
  40630. // GoString returns the string representation
  40631. func (s CreateLaunchTemplateInput) GoString() string {
  40632. return s.String()
  40633. }
  40634. // Validate inspects the fields of the type to determine if they are valid.
  40635. func (s *CreateLaunchTemplateInput) Validate() error {
  40636. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
  40637. if s.LaunchTemplateData == nil {
  40638. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  40639. }
  40640. if s.LaunchTemplateName == nil {
  40641. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
  40642. }
  40643. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  40644. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  40645. }
  40646. if s.LaunchTemplateData != nil {
  40647. if err := s.LaunchTemplateData.Validate(); err != nil {
  40648. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  40649. }
  40650. }
  40651. if invalidParams.Len() > 0 {
  40652. return invalidParams
  40653. }
  40654. return nil
  40655. }
  40656. // SetClientToken sets the ClientToken field's value.
  40657. func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
  40658. s.ClientToken = &v
  40659. return s
  40660. }
  40661. // SetDryRun sets the DryRun field's value.
  40662. func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
  40663. s.DryRun = &v
  40664. return s
  40665. }
  40666. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  40667. func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
  40668. s.LaunchTemplateData = v
  40669. return s
  40670. }
  40671. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  40672. func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
  40673. s.LaunchTemplateName = &v
  40674. return s
  40675. }
  40676. // SetTagSpecifications sets the TagSpecifications field's value.
  40677. func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput {
  40678. s.TagSpecifications = v
  40679. return s
  40680. }
  40681. // SetVersionDescription sets the VersionDescription field's value.
  40682. func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
  40683. s.VersionDescription = &v
  40684. return s
  40685. }
  40686. type CreateLaunchTemplateOutput struct {
  40687. _ struct{} `type:"structure"`
  40688. // Information about the launch template.
  40689. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  40690. }
  40691. // String returns the string representation
  40692. func (s CreateLaunchTemplateOutput) String() string {
  40693. return awsutil.Prettify(s)
  40694. }
  40695. // GoString returns the string representation
  40696. func (s CreateLaunchTemplateOutput) GoString() string {
  40697. return s.String()
  40698. }
  40699. // SetLaunchTemplate sets the LaunchTemplate field's value.
  40700. func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
  40701. s.LaunchTemplate = v
  40702. return s
  40703. }
  40704. type CreateLaunchTemplateVersionInput struct {
  40705. _ struct{} `type:"structure"`
  40706. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  40707. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40708. //
  40709. // Constraint: Maximum 128 ASCII characters.
  40710. ClientToken *string `type:"string"`
  40711. // Checks whether you have the required permissions for the action, without
  40712. // actually making the request, and provides an error response. If you have
  40713. // the required permissions, the error response is DryRunOperation. Otherwise,
  40714. // it is UnauthorizedOperation.
  40715. DryRun *bool `type:"boolean"`
  40716. // The information for the launch template.
  40717. //
  40718. // LaunchTemplateData is a required field
  40719. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  40720. // The ID of the launch template. You must specify either the launch template
  40721. // ID or launch template name in the request.
  40722. LaunchTemplateId *string `type:"string"`
  40723. // The name of the launch template. You must specify either the launch template
  40724. // ID or launch template name in the request.
  40725. LaunchTemplateName *string `min:"3" type:"string"`
  40726. // The version number of the launch template version on which to base the new
  40727. // version. The new version inherits the same launch parameters as the source
  40728. // version, except for parameters that you specify in LaunchTemplateData. Snapshots
  40729. // applied to the block device mapping are ignored when creating a new version
  40730. // unless they are explicitly included.
  40731. SourceVersion *string `type:"string"`
  40732. // A description for the version of the launch template.
  40733. VersionDescription *string `type:"string"`
  40734. }
  40735. // String returns the string representation
  40736. func (s CreateLaunchTemplateVersionInput) String() string {
  40737. return awsutil.Prettify(s)
  40738. }
  40739. // GoString returns the string representation
  40740. func (s CreateLaunchTemplateVersionInput) GoString() string {
  40741. return s.String()
  40742. }
  40743. // Validate inspects the fields of the type to determine if they are valid.
  40744. func (s *CreateLaunchTemplateVersionInput) Validate() error {
  40745. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
  40746. if s.LaunchTemplateData == nil {
  40747. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  40748. }
  40749. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  40750. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  40751. }
  40752. if s.LaunchTemplateData != nil {
  40753. if err := s.LaunchTemplateData.Validate(); err != nil {
  40754. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  40755. }
  40756. }
  40757. if invalidParams.Len() > 0 {
  40758. return invalidParams
  40759. }
  40760. return nil
  40761. }
  40762. // SetClientToken sets the ClientToken field's value.
  40763. func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
  40764. s.ClientToken = &v
  40765. return s
  40766. }
  40767. // SetDryRun sets the DryRun field's value.
  40768. func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
  40769. s.DryRun = &v
  40770. return s
  40771. }
  40772. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  40773. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
  40774. s.LaunchTemplateData = v
  40775. return s
  40776. }
  40777. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  40778. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
  40779. s.LaunchTemplateId = &v
  40780. return s
  40781. }
  40782. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  40783. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
  40784. s.LaunchTemplateName = &v
  40785. return s
  40786. }
  40787. // SetSourceVersion sets the SourceVersion field's value.
  40788. func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
  40789. s.SourceVersion = &v
  40790. return s
  40791. }
  40792. // SetVersionDescription sets the VersionDescription field's value.
  40793. func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
  40794. s.VersionDescription = &v
  40795. return s
  40796. }
  40797. type CreateLaunchTemplateVersionOutput struct {
  40798. _ struct{} `type:"structure"`
  40799. // Information about the launch template version.
  40800. LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
  40801. }
  40802. // String returns the string representation
  40803. func (s CreateLaunchTemplateVersionOutput) String() string {
  40804. return awsutil.Prettify(s)
  40805. }
  40806. // GoString returns the string representation
  40807. func (s CreateLaunchTemplateVersionOutput) GoString() string {
  40808. return s.String()
  40809. }
  40810. // SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
  40811. func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
  40812. s.LaunchTemplateVersion = v
  40813. return s
  40814. }
  40815. type CreateLocalGatewayRouteInput struct {
  40816. _ struct{} `type:"structure"`
  40817. // The CIDR range used for destination matches. Routing decisions are based
  40818. // on the most specific match.
  40819. //
  40820. // DestinationCidrBlock is a required field
  40821. DestinationCidrBlock *string `type:"string" required:"true"`
  40822. // Checks whether you have the required permissions for the action, without
  40823. // actually making the request, and provides an error response. If you have
  40824. // the required permissions, the error response is DryRunOperation. Otherwise,
  40825. // it is UnauthorizedOperation.
  40826. DryRun *bool `type:"boolean"`
  40827. // The ID of the local gateway route table.
  40828. //
  40829. // LocalGatewayRouteTableId is a required field
  40830. LocalGatewayRouteTableId *string `type:"string" required:"true"`
  40831. // The ID of the virtual interface group.
  40832. //
  40833. // LocalGatewayVirtualInterfaceGroupId is a required field
  40834. LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
  40835. }
  40836. // String returns the string representation
  40837. func (s CreateLocalGatewayRouteInput) String() string {
  40838. return awsutil.Prettify(s)
  40839. }
  40840. // GoString returns the string representation
  40841. func (s CreateLocalGatewayRouteInput) GoString() string {
  40842. return s.String()
  40843. }
  40844. // Validate inspects the fields of the type to determine if they are valid.
  40845. func (s *CreateLocalGatewayRouteInput) Validate() error {
  40846. invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
  40847. if s.DestinationCidrBlock == nil {
  40848. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  40849. }
  40850. if s.LocalGatewayRouteTableId == nil {
  40851. invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
  40852. }
  40853. if s.LocalGatewayVirtualInterfaceGroupId == nil {
  40854. invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
  40855. }
  40856. if invalidParams.Len() > 0 {
  40857. return invalidParams
  40858. }
  40859. return nil
  40860. }
  40861. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  40862. func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
  40863. s.DestinationCidrBlock = &v
  40864. return s
  40865. }
  40866. // SetDryRun sets the DryRun field's value.
  40867. func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
  40868. s.DryRun = &v
  40869. return s
  40870. }
  40871. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  40872. func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
  40873. s.LocalGatewayRouteTableId = &v
  40874. return s
  40875. }
  40876. // SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
  40877. func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
  40878. s.LocalGatewayVirtualInterfaceGroupId = &v
  40879. return s
  40880. }
  40881. type CreateLocalGatewayRouteOutput struct {
  40882. _ struct{} `type:"structure"`
  40883. // Information about the route.
  40884. Route *LocalGatewayRoute `locationName:"route" type:"structure"`
  40885. }
  40886. // String returns the string representation
  40887. func (s CreateLocalGatewayRouteOutput) String() string {
  40888. return awsutil.Prettify(s)
  40889. }
  40890. // GoString returns the string representation
  40891. func (s CreateLocalGatewayRouteOutput) GoString() string {
  40892. return s.String()
  40893. }
  40894. // SetRoute sets the Route field's value.
  40895. func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
  40896. s.Route = v
  40897. return s
  40898. }
  40899. type CreateLocalGatewayRouteTableVpcAssociationInput struct {
  40900. _ struct{} `type:"structure"`
  40901. // Checks whether you have the required permissions for the action, without
  40902. // actually making the request, and provides an error response. If you have
  40903. // the required permissions, the error response is DryRunOperation. Otherwise,
  40904. // it is UnauthorizedOperation.
  40905. DryRun *bool `type:"boolean"`
  40906. // The ID of the local gateway route table.
  40907. //
  40908. // LocalGatewayRouteTableId is a required field
  40909. LocalGatewayRouteTableId *string `type:"string" required:"true"`
  40910. // The ID of the VPC.
  40911. //
  40912. // VpcId is a required field
  40913. VpcId *string `type:"string" required:"true"`
  40914. }
  40915. // String returns the string representation
  40916. func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
  40917. return awsutil.Prettify(s)
  40918. }
  40919. // GoString returns the string representation
  40920. func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
  40921. return s.String()
  40922. }
  40923. // Validate inspects the fields of the type to determine if they are valid.
  40924. func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
  40925. invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
  40926. if s.LocalGatewayRouteTableId == nil {
  40927. invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
  40928. }
  40929. if s.VpcId == nil {
  40930. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  40931. }
  40932. if invalidParams.Len() > 0 {
  40933. return invalidParams
  40934. }
  40935. return nil
  40936. }
  40937. // SetDryRun sets the DryRun field's value.
  40938. func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
  40939. s.DryRun = &v
  40940. return s
  40941. }
  40942. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  40943. func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
  40944. s.LocalGatewayRouteTableId = &v
  40945. return s
  40946. }
  40947. // SetVpcId sets the VpcId field's value.
  40948. func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
  40949. s.VpcId = &v
  40950. return s
  40951. }
  40952. type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
  40953. _ struct{} `type:"structure"`
  40954. // Information about the association.
  40955. LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
  40956. }
  40957. // String returns the string representation
  40958. func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
  40959. return awsutil.Prettify(s)
  40960. }
  40961. // GoString returns the string representation
  40962. func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
  40963. return s.String()
  40964. }
  40965. // SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
  40966. func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
  40967. s.LocalGatewayRouteTableVpcAssociation = v
  40968. return s
  40969. }
  40970. type CreateNatGatewayInput struct {
  40971. _ struct{} `type:"structure"`
  40972. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  40973. // If the Elastic IP address is associated with another resource, you must first
  40974. // disassociate it.
  40975. //
  40976. // AllocationId is a required field
  40977. AllocationId *string `type:"string" required:"true"`
  40978. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  40979. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40980. //
  40981. // Constraint: Maximum 64 ASCII characters.
  40982. ClientToken *string `type:"string"`
  40983. // The subnet in which to create the NAT gateway.
  40984. //
  40985. // SubnetId is a required field
  40986. SubnetId *string `type:"string" required:"true"`
  40987. }
  40988. // String returns the string representation
  40989. func (s CreateNatGatewayInput) String() string {
  40990. return awsutil.Prettify(s)
  40991. }
  40992. // GoString returns the string representation
  40993. func (s CreateNatGatewayInput) GoString() string {
  40994. return s.String()
  40995. }
  40996. // Validate inspects the fields of the type to determine if they are valid.
  40997. func (s *CreateNatGatewayInput) Validate() error {
  40998. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  40999. if s.AllocationId == nil {
  41000. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  41001. }
  41002. if s.SubnetId == nil {
  41003. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  41004. }
  41005. if invalidParams.Len() > 0 {
  41006. return invalidParams
  41007. }
  41008. return nil
  41009. }
  41010. // SetAllocationId sets the AllocationId field's value.
  41011. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  41012. s.AllocationId = &v
  41013. return s
  41014. }
  41015. // SetClientToken sets the ClientToken field's value.
  41016. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  41017. s.ClientToken = &v
  41018. return s
  41019. }
  41020. // SetSubnetId sets the SubnetId field's value.
  41021. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  41022. s.SubnetId = &v
  41023. return s
  41024. }
  41025. type CreateNatGatewayOutput struct {
  41026. _ struct{} `type:"structure"`
  41027. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  41028. // Only returned if a client token was provided in the request.
  41029. ClientToken *string `locationName:"clientToken" type:"string"`
  41030. // Information about the NAT gateway.
  41031. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  41032. }
  41033. // String returns the string representation
  41034. func (s CreateNatGatewayOutput) String() string {
  41035. return awsutil.Prettify(s)
  41036. }
  41037. // GoString returns the string representation
  41038. func (s CreateNatGatewayOutput) GoString() string {
  41039. return s.String()
  41040. }
  41041. // SetClientToken sets the ClientToken field's value.
  41042. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  41043. s.ClientToken = &v
  41044. return s
  41045. }
  41046. // SetNatGateway sets the NatGateway field's value.
  41047. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  41048. s.NatGateway = v
  41049. return s
  41050. }
  41051. type CreateNetworkAclEntryInput struct {
  41052. _ struct{} `type:"structure"`
  41053. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  41054. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  41055. // Checks whether you have the required permissions for the action, without
  41056. // actually making the request, and provides an error response. If you have
  41057. // the required permissions, the error response is DryRunOperation. Otherwise,
  41058. // it is UnauthorizedOperation.
  41059. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41060. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  41061. // the subnet).
  41062. //
  41063. // Egress is a required field
  41064. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  41065. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
  41066. // 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  41067. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  41068. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  41069. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  41070. // The ID of the network ACL.
  41071. //
  41072. // NetworkAclId is a required field
  41073. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  41074. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  41075. // specifying protocol 6 (TCP) or 17 (UDP).
  41076. PortRange *PortRange `locationName:"portRange" type:"structure"`
  41077. // The protocol number. A value of "-1" means all protocols. If you specify
  41078. // "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
  41079. // traffic on all ports is allowed, regardless of any ports or ICMP types or
  41080. // codes that you specify. If you specify protocol "58" (ICMPv6) and specify
  41081. // an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
  41082. // of any that you specify. If you specify protocol "58" (ICMPv6) and specify
  41083. // an IPv6 CIDR block, you must specify an ICMP type and code.
  41084. //
  41085. // Protocol is a required field
  41086. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  41087. // Indicates whether to allow or deny the traffic that matches the rule.
  41088. //
  41089. // RuleAction is a required field
  41090. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  41091. // The rule number for the entry (for example, 100). ACL entries are processed
  41092. // in ascending order by rule number.
  41093. //
  41094. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  41095. // reserved for internal use.
  41096. //
  41097. // RuleNumber is a required field
  41098. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  41099. }
  41100. // String returns the string representation
  41101. func (s CreateNetworkAclEntryInput) String() string {
  41102. return awsutil.Prettify(s)
  41103. }
  41104. // GoString returns the string representation
  41105. func (s CreateNetworkAclEntryInput) GoString() string {
  41106. return s.String()
  41107. }
  41108. // Validate inspects the fields of the type to determine if they are valid.
  41109. func (s *CreateNetworkAclEntryInput) Validate() error {
  41110. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  41111. if s.Egress == nil {
  41112. invalidParams.Add(request.NewErrParamRequired("Egress"))
  41113. }
  41114. if s.NetworkAclId == nil {
  41115. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  41116. }
  41117. if s.Protocol == nil {
  41118. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  41119. }
  41120. if s.RuleAction == nil {
  41121. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  41122. }
  41123. if s.RuleNumber == nil {
  41124. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  41125. }
  41126. if invalidParams.Len() > 0 {
  41127. return invalidParams
  41128. }
  41129. return nil
  41130. }
  41131. // SetCidrBlock sets the CidrBlock field's value.
  41132. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  41133. s.CidrBlock = &v
  41134. return s
  41135. }
  41136. // SetDryRun sets the DryRun field's value.
  41137. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  41138. s.DryRun = &v
  41139. return s
  41140. }
  41141. // SetEgress sets the Egress field's value.
  41142. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  41143. s.Egress = &v
  41144. return s
  41145. }
  41146. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  41147. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  41148. s.IcmpTypeCode = v
  41149. return s
  41150. }
  41151. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  41152. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  41153. s.Ipv6CidrBlock = &v
  41154. return s
  41155. }
  41156. // SetNetworkAclId sets the NetworkAclId field's value.
  41157. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  41158. s.NetworkAclId = &v
  41159. return s
  41160. }
  41161. // SetPortRange sets the PortRange field's value.
  41162. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  41163. s.PortRange = v
  41164. return s
  41165. }
  41166. // SetProtocol sets the Protocol field's value.
  41167. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  41168. s.Protocol = &v
  41169. return s
  41170. }
  41171. // SetRuleAction sets the RuleAction field's value.
  41172. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  41173. s.RuleAction = &v
  41174. return s
  41175. }
  41176. // SetRuleNumber sets the RuleNumber field's value.
  41177. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  41178. s.RuleNumber = &v
  41179. return s
  41180. }
  41181. type CreateNetworkAclEntryOutput struct {
  41182. _ struct{} `type:"structure"`
  41183. }
  41184. // String returns the string representation
  41185. func (s CreateNetworkAclEntryOutput) String() string {
  41186. return awsutil.Prettify(s)
  41187. }
  41188. // GoString returns the string representation
  41189. func (s CreateNetworkAclEntryOutput) GoString() string {
  41190. return s.String()
  41191. }
  41192. type CreateNetworkAclInput struct {
  41193. _ struct{} `type:"structure"`
  41194. // Checks whether you have the required permissions for the action, without
  41195. // actually making the request, and provides an error response. If you have
  41196. // the required permissions, the error response is DryRunOperation. Otherwise,
  41197. // it is UnauthorizedOperation.
  41198. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41199. // The ID of the VPC.
  41200. //
  41201. // VpcId is a required field
  41202. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  41203. }
  41204. // String returns the string representation
  41205. func (s CreateNetworkAclInput) String() string {
  41206. return awsutil.Prettify(s)
  41207. }
  41208. // GoString returns the string representation
  41209. func (s CreateNetworkAclInput) GoString() string {
  41210. return s.String()
  41211. }
  41212. // Validate inspects the fields of the type to determine if they are valid.
  41213. func (s *CreateNetworkAclInput) Validate() error {
  41214. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  41215. if s.VpcId == nil {
  41216. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  41217. }
  41218. if invalidParams.Len() > 0 {
  41219. return invalidParams
  41220. }
  41221. return nil
  41222. }
  41223. // SetDryRun sets the DryRun field's value.
  41224. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  41225. s.DryRun = &v
  41226. return s
  41227. }
  41228. // SetVpcId sets the VpcId field's value.
  41229. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  41230. s.VpcId = &v
  41231. return s
  41232. }
  41233. type CreateNetworkAclOutput struct {
  41234. _ struct{} `type:"structure"`
  41235. // Information about the network ACL.
  41236. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  41237. }
  41238. // String returns the string representation
  41239. func (s CreateNetworkAclOutput) String() string {
  41240. return awsutil.Prettify(s)
  41241. }
  41242. // GoString returns the string representation
  41243. func (s CreateNetworkAclOutput) GoString() string {
  41244. return s.String()
  41245. }
  41246. // SetNetworkAcl sets the NetworkAcl field's value.
  41247. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  41248. s.NetworkAcl = v
  41249. return s
  41250. }
  41251. // Contains the parameters for CreateNetworkInterface.
  41252. type CreateNetworkInterfaceInput struct {
  41253. _ struct{} `type:"structure"`
  41254. // A description for the network interface.
  41255. Description *string `locationName:"description" type:"string"`
  41256. // Checks whether you have the required permissions for the action, without
  41257. // actually making the request, and provides an error response. If you have
  41258. // the required permissions, the error response is DryRunOperation. Otherwise,
  41259. // it is UnauthorizedOperation.
  41260. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41261. // The IDs of one or more security groups.
  41262. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  41263. // Indicates the type of network interface. To create an Elastic Fabric Adapter
  41264. // (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
  41265. // in the Amazon Elastic Compute Cloud User Guide.
  41266. InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
  41267. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  41268. // automatically selects the IPv6 addresses from the subnet range. You can't
  41269. // use this option if specifying specific IPv6 addresses. If your subnet has
  41270. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  41271. // to override this setting.
  41272. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  41273. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  41274. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  41275. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  41276. // The primary private IPv4 address of the network interface. If you don't specify
  41277. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  41278. // range. If you specify an IP address, you cannot indicate any IP addresses
  41279. // specified in privateIpAddresses as primary (only one IP address can be designated
  41280. // as primary).
  41281. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  41282. // One or more private IPv4 addresses.
  41283. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  41284. // The number of secondary private IPv4 addresses to assign to a network interface.
  41285. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  41286. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  41287. // this option and specify more than one private IP address using privateIpAddresses.
  41288. //
  41289. // The number of IP addresses you can assign to a network interface varies by
  41290. // instance type. For more information, see IP Addresses Per ENI Per Instance
  41291. // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  41292. // in the Amazon Virtual Private Cloud User Guide.
  41293. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  41294. // The ID of the subnet to associate with the network interface.
  41295. //
  41296. // SubnetId is a required field
  41297. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  41298. }
  41299. // String returns the string representation
  41300. func (s CreateNetworkInterfaceInput) String() string {
  41301. return awsutil.Prettify(s)
  41302. }
  41303. // GoString returns the string representation
  41304. func (s CreateNetworkInterfaceInput) GoString() string {
  41305. return s.String()
  41306. }
  41307. // Validate inspects the fields of the type to determine if they are valid.
  41308. func (s *CreateNetworkInterfaceInput) Validate() error {
  41309. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  41310. if s.SubnetId == nil {
  41311. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  41312. }
  41313. if invalidParams.Len() > 0 {
  41314. return invalidParams
  41315. }
  41316. return nil
  41317. }
  41318. // SetDescription sets the Description field's value.
  41319. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  41320. s.Description = &v
  41321. return s
  41322. }
  41323. // SetDryRun sets the DryRun field's value.
  41324. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  41325. s.DryRun = &v
  41326. return s
  41327. }
  41328. // SetGroups sets the Groups field's value.
  41329. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  41330. s.Groups = v
  41331. return s
  41332. }
  41333. // SetInterfaceType sets the InterfaceType field's value.
  41334. func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
  41335. s.InterfaceType = &v
  41336. return s
  41337. }
  41338. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  41339. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  41340. s.Ipv6AddressCount = &v
  41341. return s
  41342. }
  41343. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  41344. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  41345. s.Ipv6Addresses = v
  41346. return s
  41347. }
  41348. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  41349. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  41350. s.PrivateIpAddress = &v
  41351. return s
  41352. }
  41353. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  41354. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  41355. s.PrivateIpAddresses = v
  41356. return s
  41357. }
  41358. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  41359. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  41360. s.SecondaryPrivateIpAddressCount = &v
  41361. return s
  41362. }
  41363. // SetSubnetId sets the SubnetId field's value.
  41364. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  41365. s.SubnetId = &v
  41366. return s
  41367. }
  41368. // Contains the output of CreateNetworkInterface.
  41369. type CreateNetworkInterfaceOutput struct {
  41370. _ struct{} `type:"structure"`
  41371. // Information about the network interface.
  41372. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  41373. }
  41374. // String returns the string representation
  41375. func (s CreateNetworkInterfaceOutput) String() string {
  41376. return awsutil.Prettify(s)
  41377. }
  41378. // GoString returns the string representation
  41379. func (s CreateNetworkInterfaceOutput) GoString() string {
  41380. return s.String()
  41381. }
  41382. // SetNetworkInterface sets the NetworkInterface field's value.
  41383. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  41384. s.NetworkInterface = v
  41385. return s
  41386. }
  41387. // Contains the parameters for CreateNetworkInterfacePermission.
  41388. type CreateNetworkInterfacePermissionInput struct {
  41389. _ struct{} `type:"structure"`
  41390. // The AWS account ID.
  41391. AwsAccountId *string `type:"string"`
  41392. // The AWS service. Currently not supported.
  41393. AwsService *string `type:"string"`
  41394. // Checks whether you have the required permissions for the action, without
  41395. // actually making the request, and provides an error response. If you have
  41396. // the required permissions, the error response is DryRunOperation. Otherwise,
  41397. // it is UnauthorizedOperation.
  41398. DryRun *bool `type:"boolean"`
  41399. // The ID of the network interface.
  41400. //
  41401. // NetworkInterfaceId is a required field
  41402. NetworkInterfaceId *string `type:"string" required:"true"`
  41403. // The type of permission to grant.
  41404. //
  41405. // Permission is a required field
  41406. Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
  41407. }
  41408. // String returns the string representation
  41409. func (s CreateNetworkInterfacePermissionInput) String() string {
  41410. return awsutil.Prettify(s)
  41411. }
  41412. // GoString returns the string representation
  41413. func (s CreateNetworkInterfacePermissionInput) GoString() string {
  41414. return s.String()
  41415. }
  41416. // Validate inspects the fields of the type to determine if they are valid.
  41417. func (s *CreateNetworkInterfacePermissionInput) Validate() error {
  41418. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
  41419. if s.NetworkInterfaceId == nil {
  41420. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  41421. }
  41422. if s.Permission == nil {
  41423. invalidParams.Add(request.NewErrParamRequired("Permission"))
  41424. }
  41425. if invalidParams.Len() > 0 {
  41426. return invalidParams
  41427. }
  41428. return nil
  41429. }
  41430. // SetAwsAccountId sets the AwsAccountId field's value.
  41431. func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
  41432. s.AwsAccountId = &v
  41433. return s
  41434. }
  41435. // SetAwsService sets the AwsService field's value.
  41436. func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
  41437. s.AwsService = &v
  41438. return s
  41439. }
  41440. // SetDryRun sets the DryRun field's value.
  41441. func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
  41442. s.DryRun = &v
  41443. return s
  41444. }
  41445. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  41446. func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
  41447. s.NetworkInterfaceId = &v
  41448. return s
  41449. }
  41450. // SetPermission sets the Permission field's value.
  41451. func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
  41452. s.Permission = &v
  41453. return s
  41454. }
  41455. // Contains the output of CreateNetworkInterfacePermission.
  41456. type CreateNetworkInterfacePermissionOutput struct {
  41457. _ struct{} `type:"structure"`
  41458. // Information about the permission for the network interface.
  41459. InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
  41460. }
  41461. // String returns the string representation
  41462. func (s CreateNetworkInterfacePermissionOutput) String() string {
  41463. return awsutil.Prettify(s)
  41464. }
  41465. // GoString returns the string representation
  41466. func (s CreateNetworkInterfacePermissionOutput) GoString() string {
  41467. return s.String()
  41468. }
  41469. // SetInterfacePermission sets the InterfacePermission field's value.
  41470. func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
  41471. s.InterfacePermission = v
  41472. return s
  41473. }
  41474. type CreatePlacementGroupInput struct {
  41475. _ struct{} `type:"structure"`
  41476. // Checks whether you have the required permissions for the action, without
  41477. // actually making the request, and provides an error response. If you have
  41478. // the required permissions, the error response is DryRunOperation. Otherwise,
  41479. // it is UnauthorizedOperation.
  41480. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41481. // A name for the placement group. Must be unique within the scope of your account
  41482. // for the Region.
  41483. //
  41484. // Constraints: Up to 255 ASCII characters
  41485. GroupName *string `locationName:"groupName" type:"string"`
  41486. // The number of partitions. Valid only when Strategy is set to partition.
  41487. PartitionCount *int64 `type:"integer"`
  41488. // The placement strategy.
  41489. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  41490. }
  41491. // String returns the string representation
  41492. func (s CreatePlacementGroupInput) String() string {
  41493. return awsutil.Prettify(s)
  41494. }
  41495. // GoString returns the string representation
  41496. func (s CreatePlacementGroupInput) GoString() string {
  41497. return s.String()
  41498. }
  41499. // SetDryRun sets the DryRun field's value.
  41500. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  41501. s.DryRun = &v
  41502. return s
  41503. }
  41504. // SetGroupName sets the GroupName field's value.
  41505. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  41506. s.GroupName = &v
  41507. return s
  41508. }
  41509. // SetPartitionCount sets the PartitionCount field's value.
  41510. func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
  41511. s.PartitionCount = &v
  41512. return s
  41513. }
  41514. // SetStrategy sets the Strategy field's value.
  41515. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  41516. s.Strategy = &v
  41517. return s
  41518. }
  41519. type CreatePlacementGroupOutput struct {
  41520. _ struct{} `type:"structure"`
  41521. }
  41522. // String returns the string representation
  41523. func (s CreatePlacementGroupOutput) String() string {
  41524. return awsutil.Prettify(s)
  41525. }
  41526. // GoString returns the string representation
  41527. func (s CreatePlacementGroupOutput) GoString() string {
  41528. return s.String()
  41529. }
  41530. // Contains the parameters for CreateReservedInstancesListing.
  41531. type CreateReservedInstancesListingInput struct {
  41532. _ struct{} `type:"structure"`
  41533. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  41534. // listings. This helps avoid duplicate listings. For more information, see
  41535. // Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  41536. //
  41537. // ClientToken is a required field
  41538. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  41539. // The number of instances that are a part of a Reserved Instance account to
  41540. // be listed in the Reserved Instance Marketplace. This number should be less
  41541. // than or equal to the instance count associated with the Reserved Instance
  41542. // ID specified in this call.
  41543. //
  41544. // InstanceCount is a required field
  41545. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  41546. // A list specifying the price of the Standard Reserved Instance for each month
  41547. // remaining in the Reserved Instance term.
  41548. //
  41549. // PriceSchedules is a required field
  41550. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  41551. // The ID of the active Standard Reserved Instance.
  41552. //
  41553. // ReservedInstancesId is a required field
  41554. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  41555. }
  41556. // String returns the string representation
  41557. func (s CreateReservedInstancesListingInput) String() string {
  41558. return awsutil.Prettify(s)
  41559. }
  41560. // GoString returns the string representation
  41561. func (s CreateReservedInstancesListingInput) GoString() string {
  41562. return s.String()
  41563. }
  41564. // Validate inspects the fields of the type to determine if they are valid.
  41565. func (s *CreateReservedInstancesListingInput) Validate() error {
  41566. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  41567. if s.ClientToken == nil {
  41568. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  41569. }
  41570. if s.InstanceCount == nil {
  41571. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  41572. }
  41573. if s.PriceSchedules == nil {
  41574. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  41575. }
  41576. if s.ReservedInstancesId == nil {
  41577. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  41578. }
  41579. if invalidParams.Len() > 0 {
  41580. return invalidParams
  41581. }
  41582. return nil
  41583. }
  41584. // SetClientToken sets the ClientToken field's value.
  41585. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  41586. s.ClientToken = &v
  41587. return s
  41588. }
  41589. // SetInstanceCount sets the InstanceCount field's value.
  41590. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  41591. s.InstanceCount = &v
  41592. return s
  41593. }
  41594. // SetPriceSchedules sets the PriceSchedules field's value.
  41595. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  41596. s.PriceSchedules = v
  41597. return s
  41598. }
  41599. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  41600. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  41601. s.ReservedInstancesId = &v
  41602. return s
  41603. }
  41604. // Contains the output of CreateReservedInstancesListing.
  41605. type CreateReservedInstancesListingOutput struct {
  41606. _ struct{} `type:"structure"`
  41607. // Information about the Standard Reserved Instance listing.
  41608. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  41609. }
  41610. // String returns the string representation
  41611. func (s CreateReservedInstancesListingOutput) String() string {
  41612. return awsutil.Prettify(s)
  41613. }
  41614. // GoString returns the string representation
  41615. func (s CreateReservedInstancesListingOutput) GoString() string {
  41616. return s.String()
  41617. }
  41618. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  41619. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  41620. s.ReservedInstancesListings = v
  41621. return s
  41622. }
  41623. type CreateRouteInput struct {
  41624. _ struct{} `type:"structure"`
  41625. // The IPv4 CIDR address block used for the destination match. Routing decisions
  41626. // are based on the most specific match.
  41627. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  41628. // The IPv6 CIDR block used for the destination match. Routing decisions are
  41629. // based on the most specific match.
  41630. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  41631. // Checks whether you have the required permissions for the action, without
  41632. // actually making the request, and provides an error response. If you have
  41633. // the required permissions, the error response is DryRunOperation. Otherwise,
  41634. // it is UnauthorizedOperation.
  41635. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41636. // [IPv6 traffic only] The ID of an egress-only internet gateway.
  41637. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  41638. // The ID of an internet gateway or virtual private gateway attached to your
  41639. // VPC.
  41640. GatewayId *string `locationName:"gatewayId" type:"string"`
  41641. // The ID of a NAT instance in your VPC. The operation fails if you specify
  41642. // an instance ID unless exactly one network interface is attached.
  41643. InstanceId *string `locationName:"instanceId" type:"string"`
  41644. // The ID of the local gateway.
  41645. LocalGatewayId *string `type:"string"`
  41646. // [IPv4 traffic only] The ID of a NAT gateway.
  41647. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  41648. // The ID of a network interface.
  41649. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  41650. // The ID of the route table for the route.
  41651. //
  41652. // RouteTableId is a required field
  41653. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  41654. // The ID of a transit gateway.
  41655. TransitGatewayId *string `type:"string"`
  41656. // The ID of a VPC peering connection.
  41657. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  41658. }
  41659. // String returns the string representation
  41660. func (s CreateRouteInput) String() string {
  41661. return awsutil.Prettify(s)
  41662. }
  41663. // GoString returns the string representation
  41664. func (s CreateRouteInput) GoString() string {
  41665. return s.String()
  41666. }
  41667. // Validate inspects the fields of the type to determine if they are valid.
  41668. func (s *CreateRouteInput) Validate() error {
  41669. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  41670. if s.RouteTableId == nil {
  41671. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  41672. }
  41673. if invalidParams.Len() > 0 {
  41674. return invalidParams
  41675. }
  41676. return nil
  41677. }
  41678. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  41679. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  41680. s.DestinationCidrBlock = &v
  41681. return s
  41682. }
  41683. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  41684. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  41685. s.DestinationIpv6CidrBlock = &v
  41686. return s
  41687. }
  41688. // SetDryRun sets the DryRun field's value.
  41689. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  41690. s.DryRun = &v
  41691. return s
  41692. }
  41693. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  41694. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  41695. s.EgressOnlyInternetGatewayId = &v
  41696. return s
  41697. }
  41698. // SetGatewayId sets the GatewayId field's value.
  41699. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  41700. s.GatewayId = &v
  41701. return s
  41702. }
  41703. // SetInstanceId sets the InstanceId field's value.
  41704. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  41705. s.InstanceId = &v
  41706. return s
  41707. }
  41708. // SetLocalGatewayId sets the LocalGatewayId field's value.
  41709. func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
  41710. s.LocalGatewayId = &v
  41711. return s
  41712. }
  41713. // SetNatGatewayId sets the NatGatewayId field's value.
  41714. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  41715. s.NatGatewayId = &v
  41716. return s
  41717. }
  41718. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  41719. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  41720. s.NetworkInterfaceId = &v
  41721. return s
  41722. }
  41723. // SetRouteTableId sets the RouteTableId field's value.
  41724. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  41725. s.RouteTableId = &v
  41726. return s
  41727. }
  41728. // SetTransitGatewayId sets the TransitGatewayId field's value.
  41729. func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
  41730. s.TransitGatewayId = &v
  41731. return s
  41732. }
  41733. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  41734. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  41735. s.VpcPeeringConnectionId = &v
  41736. return s
  41737. }
  41738. type CreateRouteOutput struct {
  41739. _ struct{} `type:"structure"`
  41740. // Returns true if the request succeeds; otherwise, it returns an error.
  41741. Return *bool `locationName:"return" type:"boolean"`
  41742. }
  41743. // String returns the string representation
  41744. func (s CreateRouteOutput) String() string {
  41745. return awsutil.Prettify(s)
  41746. }
  41747. // GoString returns the string representation
  41748. func (s CreateRouteOutput) GoString() string {
  41749. return s.String()
  41750. }
  41751. // SetReturn sets the Return field's value.
  41752. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  41753. s.Return = &v
  41754. return s
  41755. }
  41756. type CreateRouteTableInput struct {
  41757. _ struct{} `type:"structure"`
  41758. // Checks whether you have the required permissions for the action, without
  41759. // actually making the request, and provides an error response. If you have
  41760. // the required permissions, the error response is DryRunOperation. Otherwise,
  41761. // it is UnauthorizedOperation.
  41762. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41763. // The ID of the VPC.
  41764. //
  41765. // VpcId is a required field
  41766. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  41767. }
  41768. // String returns the string representation
  41769. func (s CreateRouteTableInput) String() string {
  41770. return awsutil.Prettify(s)
  41771. }
  41772. // GoString returns the string representation
  41773. func (s CreateRouteTableInput) GoString() string {
  41774. return s.String()
  41775. }
  41776. // Validate inspects the fields of the type to determine if they are valid.
  41777. func (s *CreateRouteTableInput) Validate() error {
  41778. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  41779. if s.VpcId == nil {
  41780. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  41781. }
  41782. if invalidParams.Len() > 0 {
  41783. return invalidParams
  41784. }
  41785. return nil
  41786. }
  41787. // SetDryRun sets the DryRun field's value.
  41788. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  41789. s.DryRun = &v
  41790. return s
  41791. }
  41792. // SetVpcId sets the VpcId field's value.
  41793. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  41794. s.VpcId = &v
  41795. return s
  41796. }
  41797. type CreateRouteTableOutput struct {
  41798. _ struct{} `type:"structure"`
  41799. // Information about the route table.
  41800. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  41801. }
  41802. // String returns the string representation
  41803. func (s CreateRouteTableOutput) String() string {
  41804. return awsutil.Prettify(s)
  41805. }
  41806. // GoString returns the string representation
  41807. func (s CreateRouteTableOutput) GoString() string {
  41808. return s.String()
  41809. }
  41810. // SetRouteTable sets the RouteTable field's value.
  41811. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  41812. s.RouteTable = v
  41813. return s
  41814. }
  41815. type CreateSecurityGroupInput struct {
  41816. _ struct{} `type:"structure"`
  41817. // A description for the security group. This is informational only.
  41818. //
  41819. // Constraints: Up to 255 characters in length
  41820. //
  41821. // Constraints for EC2-Classic: ASCII characters
  41822. //
  41823. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  41824. //
  41825. // Description is a required field
  41826. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  41827. // Checks whether you have the required permissions for the action, without
  41828. // actually making the request, and provides an error response. If you have
  41829. // the required permissions, the error response is DryRunOperation. Otherwise,
  41830. // it is UnauthorizedOperation.
  41831. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41832. // The name of the security group.
  41833. //
  41834. // Constraints: Up to 255 characters in length. Cannot start with sg-.
  41835. //
  41836. // Constraints for EC2-Classic: ASCII characters
  41837. //
  41838. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  41839. //
  41840. // GroupName is a required field
  41841. GroupName *string `type:"string" required:"true"`
  41842. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  41843. VpcId *string `type:"string"`
  41844. }
  41845. // String returns the string representation
  41846. func (s CreateSecurityGroupInput) String() string {
  41847. return awsutil.Prettify(s)
  41848. }
  41849. // GoString returns the string representation
  41850. func (s CreateSecurityGroupInput) GoString() string {
  41851. return s.String()
  41852. }
  41853. // Validate inspects the fields of the type to determine if they are valid.
  41854. func (s *CreateSecurityGroupInput) Validate() error {
  41855. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  41856. if s.Description == nil {
  41857. invalidParams.Add(request.NewErrParamRequired("Description"))
  41858. }
  41859. if s.GroupName == nil {
  41860. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  41861. }
  41862. if invalidParams.Len() > 0 {
  41863. return invalidParams
  41864. }
  41865. return nil
  41866. }
  41867. // SetDescription sets the Description field's value.
  41868. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  41869. s.Description = &v
  41870. return s
  41871. }
  41872. // SetDryRun sets the DryRun field's value.
  41873. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  41874. s.DryRun = &v
  41875. return s
  41876. }
  41877. // SetGroupName sets the GroupName field's value.
  41878. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  41879. s.GroupName = &v
  41880. return s
  41881. }
  41882. // SetVpcId sets the VpcId field's value.
  41883. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  41884. s.VpcId = &v
  41885. return s
  41886. }
  41887. type CreateSecurityGroupOutput struct {
  41888. _ struct{} `type:"structure"`
  41889. // The ID of the security group.
  41890. GroupId *string `locationName:"groupId" type:"string"`
  41891. }
  41892. // String returns the string representation
  41893. func (s CreateSecurityGroupOutput) String() string {
  41894. return awsutil.Prettify(s)
  41895. }
  41896. // GoString returns the string representation
  41897. func (s CreateSecurityGroupOutput) GoString() string {
  41898. return s.String()
  41899. }
  41900. // SetGroupId sets the GroupId field's value.
  41901. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  41902. s.GroupId = &v
  41903. return s
  41904. }
  41905. type CreateSnapshotInput struct {
  41906. _ struct{} `type:"structure"`
  41907. // A description for the snapshot.
  41908. Description *string `type:"string"`
  41909. // Checks whether you have the required permissions for the action, without
  41910. // actually making the request, and provides an error response. If you have
  41911. // the required permissions, the error response is DryRunOperation. Otherwise,
  41912. // it is UnauthorizedOperation.
  41913. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41914. // The tags to apply to the snapshot during creation.
  41915. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  41916. // The ID of the EBS volume.
  41917. //
  41918. // VolumeId is a required field
  41919. VolumeId *string `type:"string" required:"true"`
  41920. }
  41921. // String returns the string representation
  41922. func (s CreateSnapshotInput) String() string {
  41923. return awsutil.Prettify(s)
  41924. }
  41925. // GoString returns the string representation
  41926. func (s CreateSnapshotInput) GoString() string {
  41927. return s.String()
  41928. }
  41929. // Validate inspects the fields of the type to determine if they are valid.
  41930. func (s *CreateSnapshotInput) Validate() error {
  41931. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  41932. if s.VolumeId == nil {
  41933. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  41934. }
  41935. if invalidParams.Len() > 0 {
  41936. return invalidParams
  41937. }
  41938. return nil
  41939. }
  41940. // SetDescription sets the Description field's value.
  41941. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  41942. s.Description = &v
  41943. return s
  41944. }
  41945. // SetDryRun sets the DryRun field's value.
  41946. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  41947. s.DryRun = &v
  41948. return s
  41949. }
  41950. // SetTagSpecifications sets the TagSpecifications field's value.
  41951. func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
  41952. s.TagSpecifications = v
  41953. return s
  41954. }
  41955. // SetVolumeId sets the VolumeId field's value.
  41956. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  41957. s.VolumeId = &v
  41958. return s
  41959. }
  41960. type CreateSnapshotsInput struct {
  41961. _ struct{} `type:"structure"`
  41962. // Copies the tags from the specified volume to corresponding snapshot.
  41963. CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"`
  41964. // A description propagated to every snapshot specified by the instance.
  41965. Description *string `type:"string"`
  41966. // Checks whether you have the required permissions for the action, without
  41967. // actually making the request, and provides an error response. If you have
  41968. // the required permissions, the error response is DryRunOperation. Otherwise,
  41969. // it is UnauthorizedOperation.
  41970. DryRun *bool `type:"boolean"`
  41971. // The instance to specify which volumes should be included in the snapshots.
  41972. //
  41973. // InstanceSpecification is a required field
  41974. InstanceSpecification *InstanceSpecification `type:"structure" required:"true"`
  41975. // Tags to apply to every snapshot specified by the instance.
  41976. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  41977. }
  41978. // String returns the string representation
  41979. func (s CreateSnapshotsInput) String() string {
  41980. return awsutil.Prettify(s)
  41981. }
  41982. // GoString returns the string representation
  41983. func (s CreateSnapshotsInput) GoString() string {
  41984. return s.String()
  41985. }
  41986. // Validate inspects the fields of the type to determine if they are valid.
  41987. func (s *CreateSnapshotsInput) Validate() error {
  41988. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"}
  41989. if s.InstanceSpecification == nil {
  41990. invalidParams.Add(request.NewErrParamRequired("InstanceSpecification"))
  41991. }
  41992. if invalidParams.Len() > 0 {
  41993. return invalidParams
  41994. }
  41995. return nil
  41996. }
  41997. // SetCopyTagsFromSource sets the CopyTagsFromSource field's value.
  41998. func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput {
  41999. s.CopyTagsFromSource = &v
  42000. return s
  42001. }
  42002. // SetDescription sets the Description field's value.
  42003. func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput {
  42004. s.Description = &v
  42005. return s
  42006. }
  42007. // SetDryRun sets the DryRun field's value.
  42008. func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput {
  42009. s.DryRun = &v
  42010. return s
  42011. }
  42012. // SetInstanceSpecification sets the InstanceSpecification field's value.
  42013. func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput {
  42014. s.InstanceSpecification = v
  42015. return s
  42016. }
  42017. // SetTagSpecifications sets the TagSpecifications field's value.
  42018. func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput {
  42019. s.TagSpecifications = v
  42020. return s
  42021. }
  42022. type CreateSnapshotsOutput struct {
  42023. _ struct{} `type:"structure"`
  42024. // List of snapshots.
  42025. Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  42026. }
  42027. // String returns the string representation
  42028. func (s CreateSnapshotsOutput) String() string {
  42029. return awsutil.Prettify(s)
  42030. }
  42031. // GoString returns the string representation
  42032. func (s CreateSnapshotsOutput) GoString() string {
  42033. return s.String()
  42034. }
  42035. // SetSnapshots sets the Snapshots field's value.
  42036. func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput {
  42037. s.Snapshots = v
  42038. return s
  42039. }
  42040. // Contains the parameters for CreateSpotDatafeedSubscription.
  42041. type CreateSpotDatafeedSubscriptionInput struct {
  42042. _ struct{} `type:"structure"`
  42043. // The Amazon S3 bucket in which to store the Spot Instance data feed.
  42044. //
  42045. // Bucket is a required field
  42046. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  42047. // Checks whether you have the required permissions for the action, without
  42048. // actually making the request, and provides an error response. If you have
  42049. // the required permissions, the error response is DryRunOperation. Otherwise,
  42050. // it is UnauthorizedOperation.
  42051. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42052. // A prefix for the data feed file names.
  42053. Prefix *string `locationName:"prefix" type:"string"`
  42054. }
  42055. // String returns the string representation
  42056. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  42057. return awsutil.Prettify(s)
  42058. }
  42059. // GoString returns the string representation
  42060. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  42061. return s.String()
  42062. }
  42063. // Validate inspects the fields of the type to determine if they are valid.
  42064. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  42065. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  42066. if s.Bucket == nil {
  42067. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  42068. }
  42069. if invalidParams.Len() > 0 {
  42070. return invalidParams
  42071. }
  42072. return nil
  42073. }
  42074. // SetBucket sets the Bucket field's value.
  42075. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  42076. s.Bucket = &v
  42077. return s
  42078. }
  42079. // SetDryRun sets the DryRun field's value.
  42080. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  42081. s.DryRun = &v
  42082. return s
  42083. }
  42084. // SetPrefix sets the Prefix field's value.
  42085. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  42086. s.Prefix = &v
  42087. return s
  42088. }
  42089. // Contains the output of CreateSpotDatafeedSubscription.
  42090. type CreateSpotDatafeedSubscriptionOutput struct {
  42091. _ struct{} `type:"structure"`
  42092. // The Spot Instance data feed subscription.
  42093. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  42094. }
  42095. // String returns the string representation
  42096. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  42097. return awsutil.Prettify(s)
  42098. }
  42099. // GoString returns the string representation
  42100. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  42101. return s.String()
  42102. }
  42103. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  42104. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  42105. s.SpotDatafeedSubscription = v
  42106. return s
  42107. }
  42108. type CreateSubnetInput struct {
  42109. _ struct{} `type:"structure"`
  42110. // The Availability Zone or Local Zone for the subnet.
  42111. //
  42112. // Default: AWS selects one for you. If you create more than one subnet in your
  42113. // VPC, we do not necessarily select a different zone for each subnet.
  42114. //
  42115. // To create a subnet in a Local Zone, set this value to the Local Zone ID,
  42116. // for example us-west-2-lax-1a. For information about the Regions that support
  42117. // Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
  42118. // in the Amazon Elastic Compute Cloud User Guide.
  42119. AvailabilityZone *string `type:"string"`
  42120. // The AZ ID or the Local Zone ID of the subnet.
  42121. AvailabilityZoneId *string `type:"string"`
  42122. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  42123. //
  42124. // CidrBlock is a required field
  42125. CidrBlock *string `type:"string" required:"true"`
  42126. // Checks whether you have the required permissions for the action, without
  42127. // actually making the request, and provides an error response. If you have
  42128. // the required permissions, the error response is DryRunOperation. Otherwise,
  42129. // it is UnauthorizedOperation.
  42130. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42131. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  42132. // must use a /64 prefix length.
  42133. Ipv6CidrBlock *string `type:"string"`
  42134. // The Amazon Resource Name (ARN) of the Outpost.
  42135. OutpostArn *string `type:"string"`
  42136. // The ID of the VPC.
  42137. //
  42138. // VpcId is a required field
  42139. VpcId *string `type:"string" required:"true"`
  42140. }
  42141. // String returns the string representation
  42142. func (s CreateSubnetInput) String() string {
  42143. return awsutil.Prettify(s)
  42144. }
  42145. // GoString returns the string representation
  42146. func (s CreateSubnetInput) GoString() string {
  42147. return s.String()
  42148. }
  42149. // Validate inspects the fields of the type to determine if they are valid.
  42150. func (s *CreateSubnetInput) Validate() error {
  42151. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  42152. if s.CidrBlock == nil {
  42153. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  42154. }
  42155. if s.VpcId == nil {
  42156. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  42157. }
  42158. if invalidParams.Len() > 0 {
  42159. return invalidParams
  42160. }
  42161. return nil
  42162. }
  42163. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42164. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  42165. s.AvailabilityZone = &v
  42166. return s
  42167. }
  42168. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  42169. func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
  42170. s.AvailabilityZoneId = &v
  42171. return s
  42172. }
  42173. // SetCidrBlock sets the CidrBlock field's value.
  42174. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  42175. s.CidrBlock = &v
  42176. return s
  42177. }
  42178. // SetDryRun sets the DryRun field's value.
  42179. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  42180. s.DryRun = &v
  42181. return s
  42182. }
  42183. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  42184. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  42185. s.Ipv6CidrBlock = &v
  42186. return s
  42187. }
  42188. // SetOutpostArn sets the OutpostArn field's value.
  42189. func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
  42190. s.OutpostArn = &v
  42191. return s
  42192. }
  42193. // SetVpcId sets the VpcId field's value.
  42194. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  42195. s.VpcId = &v
  42196. return s
  42197. }
  42198. type CreateSubnetOutput struct {
  42199. _ struct{} `type:"structure"`
  42200. // Information about the subnet.
  42201. Subnet *Subnet `locationName:"subnet" type:"structure"`
  42202. }
  42203. // String returns the string representation
  42204. func (s CreateSubnetOutput) String() string {
  42205. return awsutil.Prettify(s)
  42206. }
  42207. // GoString returns the string representation
  42208. func (s CreateSubnetOutput) GoString() string {
  42209. return s.String()
  42210. }
  42211. // SetSubnet sets the Subnet field's value.
  42212. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  42213. s.Subnet = v
  42214. return s
  42215. }
  42216. type CreateTagsInput struct {
  42217. _ struct{} `type:"structure"`
  42218. // Checks whether you have the required permissions for the action, without
  42219. // actually making the request, and provides an error response. If you have
  42220. // the required permissions, the error response is DryRunOperation. Otherwise,
  42221. // it is UnauthorizedOperation.
  42222. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42223. // The IDs of the resources, separated by spaces.
  42224. //
  42225. // Constraints: Up to 1000 resource IDs. We recommend breaking up this request
  42226. // into smaller batches.
  42227. //
  42228. // Resources is a required field
  42229. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  42230. // The tags. The value parameter is required, but if you don't want the tag
  42231. // to have a value, specify the parameter with no value, and we set the value
  42232. // to an empty string.
  42233. //
  42234. // Tags is a required field
  42235. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  42236. }
  42237. // String returns the string representation
  42238. func (s CreateTagsInput) String() string {
  42239. return awsutil.Prettify(s)
  42240. }
  42241. // GoString returns the string representation
  42242. func (s CreateTagsInput) GoString() string {
  42243. return s.String()
  42244. }
  42245. // Validate inspects the fields of the type to determine if they are valid.
  42246. func (s *CreateTagsInput) Validate() error {
  42247. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  42248. if s.Resources == nil {
  42249. invalidParams.Add(request.NewErrParamRequired("Resources"))
  42250. }
  42251. if s.Tags == nil {
  42252. invalidParams.Add(request.NewErrParamRequired("Tags"))
  42253. }
  42254. if invalidParams.Len() > 0 {
  42255. return invalidParams
  42256. }
  42257. return nil
  42258. }
  42259. // SetDryRun sets the DryRun field's value.
  42260. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  42261. s.DryRun = &v
  42262. return s
  42263. }
  42264. // SetResources sets the Resources field's value.
  42265. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  42266. s.Resources = v
  42267. return s
  42268. }
  42269. // SetTags sets the Tags field's value.
  42270. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  42271. s.Tags = v
  42272. return s
  42273. }
  42274. type CreateTagsOutput struct {
  42275. _ struct{} `type:"structure"`
  42276. }
  42277. // String returns the string representation
  42278. func (s CreateTagsOutput) String() string {
  42279. return awsutil.Prettify(s)
  42280. }
  42281. // GoString returns the string representation
  42282. func (s CreateTagsOutput) GoString() string {
  42283. return s.String()
  42284. }
  42285. type CreateTrafficMirrorFilterInput struct {
  42286. _ struct{} `type:"structure"`
  42287. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42288. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42289. ClientToken *string `type:"string" idempotencyToken:"true"`
  42290. // The description of the Traffic Mirror filter.
  42291. Description *string `type:"string"`
  42292. // Checks whether you have the required permissions for the action, without
  42293. // actually making the request, and provides an error response. If you have
  42294. // the required permissions, the error response is DryRunOperation. Otherwise,
  42295. // it is UnauthorizedOperation.
  42296. DryRun *bool `type:"boolean"`
  42297. // The tags to assign to a Traffic Mirror filter.
  42298. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42299. }
  42300. // String returns the string representation
  42301. func (s CreateTrafficMirrorFilterInput) String() string {
  42302. return awsutil.Prettify(s)
  42303. }
  42304. // GoString returns the string representation
  42305. func (s CreateTrafficMirrorFilterInput) GoString() string {
  42306. return s.String()
  42307. }
  42308. // SetClientToken sets the ClientToken field's value.
  42309. func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput {
  42310. s.ClientToken = &v
  42311. return s
  42312. }
  42313. // SetDescription sets the Description field's value.
  42314. func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput {
  42315. s.Description = &v
  42316. return s
  42317. }
  42318. // SetDryRun sets the DryRun field's value.
  42319. func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput {
  42320. s.DryRun = &v
  42321. return s
  42322. }
  42323. // SetTagSpecifications sets the TagSpecifications field's value.
  42324. func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput {
  42325. s.TagSpecifications = v
  42326. return s
  42327. }
  42328. type CreateTrafficMirrorFilterOutput struct {
  42329. _ struct{} `type:"structure"`
  42330. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42331. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42332. ClientToken *string `locationName:"clientToken" type:"string"`
  42333. // Information about the Traffic Mirror filter.
  42334. TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
  42335. }
  42336. // String returns the string representation
  42337. func (s CreateTrafficMirrorFilterOutput) String() string {
  42338. return awsutil.Prettify(s)
  42339. }
  42340. // GoString returns the string representation
  42341. func (s CreateTrafficMirrorFilterOutput) GoString() string {
  42342. return s.String()
  42343. }
  42344. // SetClientToken sets the ClientToken field's value.
  42345. func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput {
  42346. s.ClientToken = &v
  42347. return s
  42348. }
  42349. // SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
  42350. func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput {
  42351. s.TrafficMirrorFilter = v
  42352. return s
  42353. }
  42354. type CreateTrafficMirrorFilterRuleInput struct {
  42355. _ struct{} `type:"structure"`
  42356. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42357. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42358. ClientToken *string `type:"string" idempotencyToken:"true"`
  42359. // The description of the Traffic Mirror rule.
  42360. Description *string `type:"string"`
  42361. // The destination CIDR block to assign to the Traffic Mirror rule.
  42362. //
  42363. // DestinationCidrBlock is a required field
  42364. DestinationCidrBlock *string `type:"string" required:"true"`
  42365. // The destination port range.
  42366. DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
  42367. // Checks whether you have the required permissions for the action, without
  42368. // actually making the request, and provides an error response. If you have
  42369. // the required permissions, the error response is DryRunOperation. Otherwise,
  42370. // it is UnauthorizedOperation.
  42371. DryRun *bool `type:"boolean"`
  42372. // The protocol, for example UDP, to assign to the Traffic Mirror rule.
  42373. //
  42374. // For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
  42375. // on the Internet Assigned Numbers Authority (IANA) website.
  42376. Protocol *int64 `type:"integer"`
  42377. // The action to take (accept | reject) on the filtered traffic.
  42378. //
  42379. // RuleAction is a required field
  42380. RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"`
  42381. // The number of the Traffic Mirror rule. This number must be unique for each
  42382. // Traffic Mirror rule in a given direction. The rules are processed in ascending
  42383. // order by rule number.
  42384. //
  42385. // RuleNumber is a required field
  42386. RuleNumber *int64 `type:"integer" required:"true"`
  42387. // The source CIDR block to assign to the Traffic Mirror rule.
  42388. //
  42389. // SourceCidrBlock is a required field
  42390. SourceCidrBlock *string `type:"string" required:"true"`
  42391. // The source port range.
  42392. SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
  42393. // The type of traffic (ingress | egress).
  42394. //
  42395. // TrafficDirection is a required field
  42396. TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"`
  42397. // The ID of the filter that this rule is associated with.
  42398. //
  42399. // TrafficMirrorFilterId is a required field
  42400. TrafficMirrorFilterId *string `type:"string" required:"true"`
  42401. }
  42402. // String returns the string representation
  42403. func (s CreateTrafficMirrorFilterRuleInput) String() string {
  42404. return awsutil.Prettify(s)
  42405. }
  42406. // GoString returns the string representation
  42407. func (s CreateTrafficMirrorFilterRuleInput) GoString() string {
  42408. return s.String()
  42409. }
  42410. // Validate inspects the fields of the type to determine if they are valid.
  42411. func (s *CreateTrafficMirrorFilterRuleInput) Validate() error {
  42412. invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"}
  42413. if s.DestinationCidrBlock == nil {
  42414. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  42415. }
  42416. if s.RuleAction == nil {
  42417. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  42418. }
  42419. if s.RuleNumber == nil {
  42420. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  42421. }
  42422. if s.SourceCidrBlock == nil {
  42423. invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock"))
  42424. }
  42425. if s.TrafficDirection == nil {
  42426. invalidParams.Add(request.NewErrParamRequired("TrafficDirection"))
  42427. }
  42428. if s.TrafficMirrorFilterId == nil {
  42429. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
  42430. }
  42431. if invalidParams.Len() > 0 {
  42432. return invalidParams
  42433. }
  42434. return nil
  42435. }
  42436. // SetClientToken sets the ClientToken field's value.
  42437. func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput {
  42438. s.ClientToken = &v
  42439. return s
  42440. }
  42441. // SetDescription sets the Description field's value.
  42442. func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput {
  42443. s.Description = &v
  42444. return s
  42445. }
  42446. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  42447. func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
  42448. s.DestinationCidrBlock = &v
  42449. return s
  42450. }
  42451. // SetDestinationPortRange sets the DestinationPortRange field's value.
  42452. func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
  42453. s.DestinationPortRange = v
  42454. return s
  42455. }
  42456. // SetDryRun sets the DryRun field's value.
  42457. func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput {
  42458. s.DryRun = &v
  42459. return s
  42460. }
  42461. // SetProtocol sets the Protocol field's value.
  42462. func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput {
  42463. s.Protocol = &v
  42464. return s
  42465. }
  42466. // SetRuleAction sets the RuleAction field's value.
  42467. func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput {
  42468. s.RuleAction = &v
  42469. return s
  42470. }
  42471. // SetRuleNumber sets the RuleNumber field's value.
  42472. func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput {
  42473. s.RuleNumber = &v
  42474. return s
  42475. }
  42476. // SetSourceCidrBlock sets the SourceCidrBlock field's value.
  42477. func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
  42478. s.SourceCidrBlock = &v
  42479. return s
  42480. }
  42481. // SetSourcePortRange sets the SourcePortRange field's value.
  42482. func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
  42483. s.SourcePortRange = v
  42484. return s
  42485. }
  42486. // SetTrafficDirection sets the TrafficDirection field's value.
  42487. func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput {
  42488. s.TrafficDirection = &v
  42489. return s
  42490. }
  42491. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  42492. func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput {
  42493. s.TrafficMirrorFilterId = &v
  42494. return s
  42495. }
  42496. type CreateTrafficMirrorFilterRuleOutput struct {
  42497. _ struct{} `type:"structure"`
  42498. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42499. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42500. ClientToken *string `locationName:"clientToken" type:"string"`
  42501. // The Traffic Mirror rule.
  42502. TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
  42503. }
  42504. // String returns the string representation
  42505. func (s CreateTrafficMirrorFilterRuleOutput) String() string {
  42506. return awsutil.Prettify(s)
  42507. }
  42508. // GoString returns the string representation
  42509. func (s CreateTrafficMirrorFilterRuleOutput) GoString() string {
  42510. return s.String()
  42511. }
  42512. // SetClientToken sets the ClientToken field's value.
  42513. func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput {
  42514. s.ClientToken = &v
  42515. return s
  42516. }
  42517. // SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
  42518. func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput {
  42519. s.TrafficMirrorFilterRule = v
  42520. return s
  42521. }
  42522. type CreateTrafficMirrorSessionInput struct {
  42523. _ struct{} `type:"structure"`
  42524. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42525. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42526. ClientToken *string `type:"string" idempotencyToken:"true"`
  42527. // The description of the Traffic Mirror session.
  42528. Description *string `type:"string"`
  42529. // Checks whether you have the required permissions for the action, without
  42530. // actually making the request, and provides an error response. If you have
  42531. // the required permissions, the error response is DryRunOperation. Otherwise,
  42532. // it is UnauthorizedOperation.
  42533. DryRun *bool `type:"boolean"`
  42534. // The ID of the source network interface.
  42535. //
  42536. // NetworkInterfaceId is a required field
  42537. NetworkInterfaceId *string `type:"string" required:"true"`
  42538. // The number of bytes in each packet to mirror. These are bytes after the VXLAN
  42539. // header. Do not specify this parameter when you want to mirror the entire
  42540. // packet. To mirror a subset of the packet, set this to the length (in bytes)
  42541. // that you want to mirror. For example, if you set this value to 100, then
  42542. // the first 100 bytes that meet the filter criteria are copied to the target.
  42543. //
  42544. // If you do not want to mirror the entire packet, use the PacketLength parameter
  42545. // to specify the number of bytes in each packet to mirror.
  42546. PacketLength *int64 `type:"integer"`
  42547. // The session number determines the order in which sessions are evaluated when
  42548. // an interface is used by multiple sessions. The first session with a matching
  42549. // filter is the one that mirrors the packets.
  42550. //
  42551. // Valid values are 1-32766.
  42552. //
  42553. // SessionNumber is a required field
  42554. SessionNumber *int64 `type:"integer" required:"true"`
  42555. // The tags to assign to a Traffic Mirror session.
  42556. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42557. // The ID of the Traffic Mirror filter.
  42558. //
  42559. // TrafficMirrorFilterId is a required field
  42560. TrafficMirrorFilterId *string `type:"string" required:"true"`
  42561. // The ID of the Traffic Mirror target.
  42562. //
  42563. // TrafficMirrorTargetId is a required field
  42564. TrafficMirrorTargetId *string `type:"string" required:"true"`
  42565. // The VXLAN ID for the Traffic Mirror session. For more information about the
  42566. // VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you
  42567. // do not specify a VirtualNetworkId, an account-wide unique id is chosen at
  42568. // random.
  42569. VirtualNetworkId *int64 `type:"integer"`
  42570. }
  42571. // String returns the string representation
  42572. func (s CreateTrafficMirrorSessionInput) String() string {
  42573. return awsutil.Prettify(s)
  42574. }
  42575. // GoString returns the string representation
  42576. func (s CreateTrafficMirrorSessionInput) GoString() string {
  42577. return s.String()
  42578. }
  42579. // Validate inspects the fields of the type to determine if they are valid.
  42580. func (s *CreateTrafficMirrorSessionInput) Validate() error {
  42581. invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"}
  42582. if s.NetworkInterfaceId == nil {
  42583. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  42584. }
  42585. if s.SessionNumber == nil {
  42586. invalidParams.Add(request.NewErrParamRequired("SessionNumber"))
  42587. }
  42588. if s.TrafficMirrorFilterId == nil {
  42589. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
  42590. }
  42591. if s.TrafficMirrorTargetId == nil {
  42592. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
  42593. }
  42594. if invalidParams.Len() > 0 {
  42595. return invalidParams
  42596. }
  42597. return nil
  42598. }
  42599. // SetClientToken sets the ClientToken field's value.
  42600. func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput {
  42601. s.ClientToken = &v
  42602. return s
  42603. }
  42604. // SetDescription sets the Description field's value.
  42605. func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput {
  42606. s.Description = &v
  42607. return s
  42608. }
  42609. // SetDryRun sets the DryRun field's value.
  42610. func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput {
  42611. s.DryRun = &v
  42612. return s
  42613. }
  42614. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42615. func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput {
  42616. s.NetworkInterfaceId = &v
  42617. return s
  42618. }
  42619. // SetPacketLength sets the PacketLength field's value.
  42620. func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput {
  42621. s.PacketLength = &v
  42622. return s
  42623. }
  42624. // SetSessionNumber sets the SessionNumber field's value.
  42625. func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput {
  42626. s.SessionNumber = &v
  42627. return s
  42628. }
  42629. // SetTagSpecifications sets the TagSpecifications field's value.
  42630. func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput {
  42631. s.TagSpecifications = v
  42632. return s
  42633. }
  42634. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  42635. func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput {
  42636. s.TrafficMirrorFilterId = &v
  42637. return s
  42638. }
  42639. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  42640. func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput {
  42641. s.TrafficMirrorTargetId = &v
  42642. return s
  42643. }
  42644. // SetVirtualNetworkId sets the VirtualNetworkId field's value.
  42645. func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput {
  42646. s.VirtualNetworkId = &v
  42647. return s
  42648. }
  42649. type CreateTrafficMirrorSessionOutput struct {
  42650. _ struct{} `type:"structure"`
  42651. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42652. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42653. ClientToken *string `locationName:"clientToken" type:"string"`
  42654. // Information about the Traffic Mirror session.
  42655. TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
  42656. }
  42657. // String returns the string representation
  42658. func (s CreateTrafficMirrorSessionOutput) String() string {
  42659. return awsutil.Prettify(s)
  42660. }
  42661. // GoString returns the string representation
  42662. func (s CreateTrafficMirrorSessionOutput) GoString() string {
  42663. return s.String()
  42664. }
  42665. // SetClientToken sets the ClientToken field's value.
  42666. func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput {
  42667. s.ClientToken = &v
  42668. return s
  42669. }
  42670. // SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
  42671. func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput {
  42672. s.TrafficMirrorSession = v
  42673. return s
  42674. }
  42675. type CreateTrafficMirrorTargetInput struct {
  42676. _ struct{} `type:"structure"`
  42677. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42678. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42679. ClientToken *string `type:"string" idempotencyToken:"true"`
  42680. // The description of the Traffic Mirror target.
  42681. Description *string `type:"string"`
  42682. // Checks whether you have the required permissions for the action, without
  42683. // actually making the request, and provides an error response. If you have
  42684. // the required permissions, the error response is DryRunOperation. Otherwise,
  42685. // it is UnauthorizedOperation.
  42686. DryRun *bool `type:"boolean"`
  42687. // The network interface ID that is associated with the target.
  42688. NetworkInterfaceId *string `type:"string"`
  42689. // The Amazon Resource Name (ARN) of the Network Load Balancer that is associated
  42690. // with the target.
  42691. NetworkLoadBalancerArn *string `type:"string"`
  42692. // The tags to assign to the Traffic Mirror target.
  42693. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42694. }
  42695. // String returns the string representation
  42696. func (s CreateTrafficMirrorTargetInput) String() string {
  42697. return awsutil.Prettify(s)
  42698. }
  42699. // GoString returns the string representation
  42700. func (s CreateTrafficMirrorTargetInput) GoString() string {
  42701. return s.String()
  42702. }
  42703. // SetClientToken sets the ClientToken field's value.
  42704. func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput {
  42705. s.ClientToken = &v
  42706. return s
  42707. }
  42708. // SetDescription sets the Description field's value.
  42709. func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput {
  42710. s.Description = &v
  42711. return s
  42712. }
  42713. // SetDryRun sets the DryRun field's value.
  42714. func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput {
  42715. s.DryRun = &v
  42716. return s
  42717. }
  42718. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42719. func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput {
  42720. s.NetworkInterfaceId = &v
  42721. return s
  42722. }
  42723. // SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
  42724. func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput {
  42725. s.NetworkLoadBalancerArn = &v
  42726. return s
  42727. }
  42728. // SetTagSpecifications sets the TagSpecifications field's value.
  42729. func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput {
  42730. s.TagSpecifications = v
  42731. return s
  42732. }
  42733. type CreateTrafficMirrorTargetOutput struct {
  42734. _ struct{} `type:"structure"`
  42735. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  42736. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42737. ClientToken *string `locationName:"clientToken" type:"string"`
  42738. // Information about the Traffic Mirror target.
  42739. TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"`
  42740. }
  42741. // String returns the string representation
  42742. func (s CreateTrafficMirrorTargetOutput) String() string {
  42743. return awsutil.Prettify(s)
  42744. }
  42745. // GoString returns the string representation
  42746. func (s CreateTrafficMirrorTargetOutput) GoString() string {
  42747. return s.String()
  42748. }
  42749. // SetClientToken sets the ClientToken field's value.
  42750. func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput {
  42751. s.ClientToken = &v
  42752. return s
  42753. }
  42754. // SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value.
  42755. func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput {
  42756. s.TrafficMirrorTarget = v
  42757. return s
  42758. }
  42759. type CreateTransitGatewayInput struct {
  42760. _ struct{} `type:"structure"`
  42761. // A description of the transit gateway.
  42762. Description *string `type:"string"`
  42763. // Checks whether you have the required permissions for the action, without
  42764. // actually making the request, and provides an error response. If you have
  42765. // the required permissions, the error response is DryRunOperation. Otherwise,
  42766. // it is UnauthorizedOperation.
  42767. DryRun *bool `type:"boolean"`
  42768. // The transit gateway options.
  42769. Options *TransitGatewayRequestOptions `type:"structure"`
  42770. // The tags to apply to the transit gateway.
  42771. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42772. }
  42773. // String returns the string representation
  42774. func (s CreateTransitGatewayInput) String() string {
  42775. return awsutil.Prettify(s)
  42776. }
  42777. // GoString returns the string representation
  42778. func (s CreateTransitGatewayInput) GoString() string {
  42779. return s.String()
  42780. }
  42781. // SetDescription sets the Description field's value.
  42782. func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
  42783. s.Description = &v
  42784. return s
  42785. }
  42786. // SetDryRun sets the DryRun field's value.
  42787. func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
  42788. s.DryRun = &v
  42789. return s
  42790. }
  42791. // SetOptions sets the Options field's value.
  42792. func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
  42793. s.Options = v
  42794. return s
  42795. }
  42796. // SetTagSpecifications sets the TagSpecifications field's value.
  42797. func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
  42798. s.TagSpecifications = v
  42799. return s
  42800. }
  42801. type CreateTransitGatewayMulticastDomainInput struct {
  42802. _ struct{} `type:"structure"`
  42803. // Checks whether you have the required permissions for the action, without
  42804. // actually making the request, and provides an error response. If you have
  42805. // the required permissions, the error response is DryRunOperation. Otherwise,
  42806. // it is UnauthorizedOperation.
  42807. DryRun *bool `type:"boolean"`
  42808. // The tags for the transit gateway multicast domain.
  42809. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42810. // The ID of the transit gateway.
  42811. //
  42812. // TransitGatewayId is a required field
  42813. TransitGatewayId *string `type:"string" required:"true"`
  42814. }
  42815. // String returns the string representation
  42816. func (s CreateTransitGatewayMulticastDomainInput) String() string {
  42817. return awsutil.Prettify(s)
  42818. }
  42819. // GoString returns the string representation
  42820. func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
  42821. return s.String()
  42822. }
  42823. // Validate inspects the fields of the type to determine if they are valid.
  42824. func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
  42825. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
  42826. if s.TransitGatewayId == nil {
  42827. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  42828. }
  42829. if invalidParams.Len() > 0 {
  42830. return invalidParams
  42831. }
  42832. return nil
  42833. }
  42834. // SetDryRun sets the DryRun field's value.
  42835. func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
  42836. s.DryRun = &v
  42837. return s
  42838. }
  42839. // SetTagSpecifications sets the TagSpecifications field's value.
  42840. func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
  42841. s.TagSpecifications = v
  42842. return s
  42843. }
  42844. // SetTransitGatewayId sets the TransitGatewayId field's value.
  42845. func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
  42846. s.TransitGatewayId = &v
  42847. return s
  42848. }
  42849. type CreateTransitGatewayMulticastDomainOutput struct {
  42850. _ struct{} `type:"structure"`
  42851. // Information about the transit gateway multicast domain.
  42852. TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
  42853. }
  42854. // String returns the string representation
  42855. func (s CreateTransitGatewayMulticastDomainOutput) String() string {
  42856. return awsutil.Prettify(s)
  42857. }
  42858. // GoString returns the string representation
  42859. func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
  42860. return s.String()
  42861. }
  42862. // SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
  42863. func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
  42864. s.TransitGatewayMulticastDomain = v
  42865. return s
  42866. }
  42867. type CreateTransitGatewayOutput struct {
  42868. _ struct{} `type:"structure"`
  42869. // Information about the transit gateway.
  42870. TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
  42871. }
  42872. // String returns the string representation
  42873. func (s CreateTransitGatewayOutput) String() string {
  42874. return awsutil.Prettify(s)
  42875. }
  42876. // GoString returns the string representation
  42877. func (s CreateTransitGatewayOutput) GoString() string {
  42878. return s.String()
  42879. }
  42880. // SetTransitGateway sets the TransitGateway field's value.
  42881. func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
  42882. s.TransitGateway = v
  42883. return s
  42884. }
  42885. type CreateTransitGatewayPeeringAttachmentInput struct {
  42886. _ struct{} `type:"structure"`
  42887. // Checks whether you have the required permissions for the action, without
  42888. // actually making the request, and provides an error response. If you have
  42889. // the required permissions, the error response is DryRunOperation. Otherwise,
  42890. // it is UnauthorizedOperation.
  42891. DryRun *bool `type:"boolean"`
  42892. // The AWS account ID of the owner of the peer transit gateway.
  42893. //
  42894. // PeerAccountId is a required field
  42895. PeerAccountId *string `type:"string" required:"true"`
  42896. // The Region where the peer transit gateway is located.
  42897. //
  42898. // PeerRegion is a required field
  42899. PeerRegion *string `type:"string" required:"true"`
  42900. // The ID of the peer transit gateway with which to create the peering attachment.
  42901. //
  42902. // PeerTransitGatewayId is a required field
  42903. PeerTransitGatewayId *string `type:"string" required:"true"`
  42904. // The tags to apply to the transit gateway peering attachment.
  42905. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  42906. // The ID of the transit gateway.
  42907. //
  42908. // TransitGatewayId is a required field
  42909. TransitGatewayId *string `type:"string" required:"true"`
  42910. }
  42911. // String returns the string representation
  42912. func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
  42913. return awsutil.Prettify(s)
  42914. }
  42915. // GoString returns the string representation
  42916. func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
  42917. return s.String()
  42918. }
  42919. // Validate inspects the fields of the type to determine if they are valid.
  42920. func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
  42921. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
  42922. if s.PeerAccountId == nil {
  42923. invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
  42924. }
  42925. if s.PeerRegion == nil {
  42926. invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
  42927. }
  42928. if s.PeerTransitGatewayId == nil {
  42929. invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
  42930. }
  42931. if s.TransitGatewayId == nil {
  42932. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  42933. }
  42934. if invalidParams.Len() > 0 {
  42935. return invalidParams
  42936. }
  42937. return nil
  42938. }
  42939. // SetDryRun sets the DryRun field's value.
  42940. func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
  42941. s.DryRun = &v
  42942. return s
  42943. }
  42944. // SetPeerAccountId sets the PeerAccountId field's value.
  42945. func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
  42946. s.PeerAccountId = &v
  42947. return s
  42948. }
  42949. // SetPeerRegion sets the PeerRegion field's value.
  42950. func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
  42951. s.PeerRegion = &v
  42952. return s
  42953. }
  42954. // SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
  42955. func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
  42956. s.PeerTransitGatewayId = &v
  42957. return s
  42958. }
  42959. // SetTagSpecifications sets the TagSpecifications field's value.
  42960. func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
  42961. s.TagSpecifications = v
  42962. return s
  42963. }
  42964. // SetTransitGatewayId sets the TransitGatewayId field's value.
  42965. func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
  42966. s.TransitGatewayId = &v
  42967. return s
  42968. }
  42969. type CreateTransitGatewayPeeringAttachmentOutput struct {
  42970. _ struct{} `type:"structure"`
  42971. // The transit gateway peering attachment.
  42972. TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
  42973. }
  42974. // String returns the string representation
  42975. func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
  42976. return awsutil.Prettify(s)
  42977. }
  42978. // GoString returns the string representation
  42979. func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
  42980. return s.String()
  42981. }
  42982. // SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
  42983. func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
  42984. s.TransitGatewayPeeringAttachment = v
  42985. return s
  42986. }
  42987. type CreateTransitGatewayRouteInput struct {
  42988. _ struct{} `type:"structure"`
  42989. // Indicates whether to drop traffic that matches this route.
  42990. Blackhole *bool `type:"boolean"`
  42991. // The CIDR range used for destination matches. Routing decisions are based
  42992. // on the most specific match.
  42993. //
  42994. // DestinationCidrBlock is a required field
  42995. DestinationCidrBlock *string `type:"string" required:"true"`
  42996. // Checks whether you have the required permissions for the action, without
  42997. // actually making the request, and provides an error response. If you have
  42998. // the required permissions, the error response is DryRunOperation. Otherwise,
  42999. // it is UnauthorizedOperation.
  43000. DryRun *bool `type:"boolean"`
  43001. // The ID of the attachment.
  43002. TransitGatewayAttachmentId *string `type:"string"`
  43003. // The ID of the transit gateway route table.
  43004. //
  43005. // TransitGatewayRouteTableId is a required field
  43006. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  43007. }
  43008. // String returns the string representation
  43009. func (s CreateTransitGatewayRouteInput) String() string {
  43010. return awsutil.Prettify(s)
  43011. }
  43012. // GoString returns the string representation
  43013. func (s CreateTransitGatewayRouteInput) GoString() string {
  43014. return s.String()
  43015. }
  43016. // Validate inspects the fields of the type to determine if they are valid.
  43017. func (s *CreateTransitGatewayRouteInput) Validate() error {
  43018. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
  43019. if s.DestinationCidrBlock == nil {
  43020. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  43021. }
  43022. if s.TransitGatewayRouteTableId == nil {
  43023. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  43024. }
  43025. if invalidParams.Len() > 0 {
  43026. return invalidParams
  43027. }
  43028. return nil
  43029. }
  43030. // SetBlackhole sets the Blackhole field's value.
  43031. func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
  43032. s.Blackhole = &v
  43033. return s
  43034. }
  43035. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  43036. func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
  43037. s.DestinationCidrBlock = &v
  43038. return s
  43039. }
  43040. // SetDryRun sets the DryRun field's value.
  43041. func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
  43042. s.DryRun = &v
  43043. return s
  43044. }
  43045. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  43046. func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
  43047. s.TransitGatewayAttachmentId = &v
  43048. return s
  43049. }
  43050. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  43051. func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
  43052. s.TransitGatewayRouteTableId = &v
  43053. return s
  43054. }
  43055. type CreateTransitGatewayRouteOutput struct {
  43056. _ struct{} `type:"structure"`
  43057. // Information about the route.
  43058. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  43059. }
  43060. // String returns the string representation
  43061. func (s CreateTransitGatewayRouteOutput) String() string {
  43062. return awsutil.Prettify(s)
  43063. }
  43064. // GoString returns the string representation
  43065. func (s CreateTransitGatewayRouteOutput) GoString() string {
  43066. return s.String()
  43067. }
  43068. // SetRoute sets the Route field's value.
  43069. func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
  43070. s.Route = v
  43071. return s
  43072. }
  43073. type CreateTransitGatewayRouteTableInput struct {
  43074. _ struct{} `type:"structure"`
  43075. // Checks whether you have the required permissions for the action, without
  43076. // actually making the request, and provides an error response. If you have
  43077. // the required permissions, the error response is DryRunOperation. Otherwise,
  43078. // it is UnauthorizedOperation.
  43079. DryRun *bool `type:"boolean"`
  43080. // The tags to apply to the transit gateway route table.
  43081. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  43082. // The ID of the transit gateway.
  43083. //
  43084. // TransitGatewayId is a required field
  43085. TransitGatewayId *string `type:"string" required:"true"`
  43086. }
  43087. // String returns the string representation
  43088. func (s CreateTransitGatewayRouteTableInput) String() string {
  43089. return awsutil.Prettify(s)
  43090. }
  43091. // GoString returns the string representation
  43092. func (s CreateTransitGatewayRouteTableInput) GoString() string {
  43093. return s.String()
  43094. }
  43095. // Validate inspects the fields of the type to determine if they are valid.
  43096. func (s *CreateTransitGatewayRouteTableInput) Validate() error {
  43097. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
  43098. if s.TransitGatewayId == nil {
  43099. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  43100. }
  43101. if invalidParams.Len() > 0 {
  43102. return invalidParams
  43103. }
  43104. return nil
  43105. }
  43106. // SetDryRun sets the DryRun field's value.
  43107. func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
  43108. s.DryRun = &v
  43109. return s
  43110. }
  43111. // SetTagSpecifications sets the TagSpecifications field's value.
  43112. func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
  43113. s.TagSpecifications = v
  43114. return s
  43115. }
  43116. // SetTransitGatewayId sets the TransitGatewayId field's value.
  43117. func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
  43118. s.TransitGatewayId = &v
  43119. return s
  43120. }
  43121. type CreateTransitGatewayRouteTableOutput struct {
  43122. _ struct{} `type:"structure"`
  43123. // Information about the transit gateway route table.
  43124. TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
  43125. }
  43126. // String returns the string representation
  43127. func (s CreateTransitGatewayRouteTableOutput) String() string {
  43128. return awsutil.Prettify(s)
  43129. }
  43130. // GoString returns the string representation
  43131. func (s CreateTransitGatewayRouteTableOutput) GoString() string {
  43132. return s.String()
  43133. }
  43134. // SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
  43135. func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
  43136. s.TransitGatewayRouteTable = v
  43137. return s
  43138. }
  43139. type CreateTransitGatewayVpcAttachmentInput struct {
  43140. _ struct{} `type:"structure"`
  43141. // Checks whether you have the required permissions for the action, without
  43142. // actually making the request, and provides an error response. If you have
  43143. // the required permissions, the error response is DryRunOperation. Otherwise,
  43144. // it is UnauthorizedOperation.
  43145. DryRun *bool `type:"boolean"`
  43146. // The VPC attachment options.
  43147. Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
  43148. // The IDs of one or more subnets. You can specify only one subnet per Availability
  43149. // Zone. You must specify at least one subnet, but we recommend that you specify
  43150. // two subnets for better availability. The transit gateway uses one IP address
  43151. // from each specified subnet.
  43152. //
  43153. // SubnetIds is a required field
  43154. SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
  43155. // The tags to apply to the VPC attachment.
  43156. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  43157. // The ID of the transit gateway.
  43158. //
  43159. // TransitGatewayId is a required field
  43160. TransitGatewayId *string `type:"string" required:"true"`
  43161. // The ID of the VPC.
  43162. //
  43163. // VpcId is a required field
  43164. VpcId *string `type:"string" required:"true"`
  43165. }
  43166. // String returns the string representation
  43167. func (s CreateTransitGatewayVpcAttachmentInput) String() string {
  43168. return awsutil.Prettify(s)
  43169. }
  43170. // GoString returns the string representation
  43171. func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
  43172. return s.String()
  43173. }
  43174. // Validate inspects the fields of the type to determine if they are valid.
  43175. func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
  43176. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
  43177. if s.SubnetIds == nil {
  43178. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  43179. }
  43180. if s.TransitGatewayId == nil {
  43181. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  43182. }
  43183. if s.VpcId == nil {
  43184. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  43185. }
  43186. if invalidParams.Len() > 0 {
  43187. return invalidParams
  43188. }
  43189. return nil
  43190. }
  43191. // SetDryRun sets the DryRun field's value.
  43192. func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
  43193. s.DryRun = &v
  43194. return s
  43195. }
  43196. // SetOptions sets the Options field's value.
  43197. func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
  43198. s.Options = v
  43199. return s
  43200. }
  43201. // SetSubnetIds sets the SubnetIds field's value.
  43202. func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
  43203. s.SubnetIds = v
  43204. return s
  43205. }
  43206. // SetTagSpecifications sets the TagSpecifications field's value.
  43207. func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
  43208. s.TagSpecifications = v
  43209. return s
  43210. }
  43211. // SetTransitGatewayId sets the TransitGatewayId field's value.
  43212. func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
  43213. s.TransitGatewayId = &v
  43214. return s
  43215. }
  43216. // SetVpcId sets the VpcId field's value.
  43217. func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
  43218. s.VpcId = &v
  43219. return s
  43220. }
  43221. type CreateTransitGatewayVpcAttachmentOutput struct {
  43222. _ struct{} `type:"structure"`
  43223. // Information about the VPC attachment.
  43224. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  43225. }
  43226. // String returns the string representation
  43227. func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
  43228. return awsutil.Prettify(s)
  43229. }
  43230. // GoString returns the string representation
  43231. func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
  43232. return s.String()
  43233. }
  43234. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  43235. func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
  43236. s.TransitGatewayVpcAttachment = v
  43237. return s
  43238. }
  43239. // Describes the options for a VPC attachment.
  43240. type CreateTransitGatewayVpcAttachmentRequestOptions struct {
  43241. _ struct{} `type:"structure"`
  43242. // Enable or disable DNS support. The default is enable.
  43243. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  43244. // Enable or disable IPv6 support. The default is enable.
  43245. Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
  43246. }
  43247. // String returns the string representation
  43248. func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
  43249. return awsutil.Prettify(s)
  43250. }
  43251. // GoString returns the string representation
  43252. func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
  43253. return s.String()
  43254. }
  43255. // SetDnsSupport sets the DnsSupport field's value.
  43256. func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
  43257. s.DnsSupport = &v
  43258. return s
  43259. }
  43260. // SetIpv6Support sets the Ipv6Support field's value.
  43261. func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
  43262. s.Ipv6Support = &v
  43263. return s
  43264. }
  43265. type CreateVolumeInput struct {
  43266. _ struct{} `type:"structure"`
  43267. // The Availability Zone in which to create the volume.
  43268. //
  43269. // AvailabilityZone is a required field
  43270. AvailabilityZone *string `type:"string" required:"true"`
  43271. // Checks whether you have the required permissions for the action, without
  43272. // actually making the request, and provides an error response. If you have
  43273. // the required permissions, the error response is DryRunOperation. Otherwise,
  43274. // it is UnauthorizedOperation.
  43275. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43276. // Specifies whether the volume should be encrypted. The effect of setting the
  43277. // encryption state to true depends on the volume origin (new or from a snapshot),
  43278. // starting encryption state, ownership, and whether encryption by default is
  43279. // enabled. For more information, see Encryption by Default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)
  43280. // in the Amazon Elastic Compute Cloud User Guide.
  43281. //
  43282. // Encrypted Amazon EBS volumes must be attached to instances that support Amazon
  43283. // EBS encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
  43284. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  43285. // The number of I/O operations per second (IOPS) to provision for the volume,
  43286. // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes
  43287. // in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based
  43288. // instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  43289. // Other instance families guarantee performance up to 32,000 IOPS. For more
  43290. // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  43291. // in the Amazon Elastic Compute Cloud User Guide.
  43292. //
  43293. // This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
  43294. Iops *int64 `type:"integer"`
  43295. // The identifier of the AWS Key Management Service (AWS KMS) customer master
  43296. // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
  43297. // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
  43298. // state must be true.
  43299. //
  43300. // You can specify the CMK using any of the following:
  43301. //
  43302. // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
  43303. //
  43304. // * Key alias. For example, alias/ExampleAlias.
  43305. //
  43306. // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  43307. //
  43308. // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  43309. //
  43310. // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
  43311. // alias, or ARN that is not valid, the action can appear to complete, but eventually
  43312. // fails.
  43313. KmsKeyId *string `type:"string"`
  43314. // The Amazon Resource Name (ARN) of the Outpost.
  43315. OutpostArn *string `type:"string"`
  43316. // The size of the volume, in GiBs.
  43317. //
  43318. // Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
  43319. // for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume
  43320. // size must be equal to or larger than the snapshot size.
  43321. //
  43322. // Default: If you're creating the volume from a snapshot and don't specify
  43323. // a volume size, the default is the snapshot size.
  43324. //
  43325. // At least one of Size or SnapshotId is required.
  43326. Size *int64 `type:"integer"`
  43327. // The snapshot from which to create the volume.
  43328. //
  43329. // At least one of Size or SnapshotId are required.
  43330. SnapshotId *string `type:"string"`
  43331. // The tags to apply to the volume during creation.
  43332. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  43333. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  43334. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  43335. // for Magnetic volumes.
  43336. //
  43337. // Default: gp2
  43338. VolumeType *string `type:"string" enum:"VolumeType"`
  43339. }
  43340. // String returns the string representation
  43341. func (s CreateVolumeInput) String() string {
  43342. return awsutil.Prettify(s)
  43343. }
  43344. // GoString returns the string representation
  43345. func (s CreateVolumeInput) GoString() string {
  43346. return s.String()
  43347. }
  43348. // Validate inspects the fields of the type to determine if they are valid.
  43349. func (s *CreateVolumeInput) Validate() error {
  43350. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  43351. if s.AvailabilityZone == nil {
  43352. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  43353. }
  43354. if invalidParams.Len() > 0 {
  43355. return invalidParams
  43356. }
  43357. return nil
  43358. }
  43359. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43360. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  43361. s.AvailabilityZone = &v
  43362. return s
  43363. }
  43364. // SetDryRun sets the DryRun field's value.
  43365. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  43366. s.DryRun = &v
  43367. return s
  43368. }
  43369. // SetEncrypted sets the Encrypted field's value.
  43370. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  43371. s.Encrypted = &v
  43372. return s
  43373. }
  43374. // SetIops sets the Iops field's value.
  43375. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  43376. s.Iops = &v
  43377. return s
  43378. }
  43379. // SetKmsKeyId sets the KmsKeyId field's value.
  43380. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  43381. s.KmsKeyId = &v
  43382. return s
  43383. }
  43384. // SetOutpostArn sets the OutpostArn field's value.
  43385. func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
  43386. s.OutpostArn = &v
  43387. return s
  43388. }
  43389. // SetSize sets the Size field's value.
  43390. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  43391. s.Size = &v
  43392. return s
  43393. }
  43394. // SetSnapshotId sets the SnapshotId field's value.
  43395. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  43396. s.SnapshotId = &v
  43397. return s
  43398. }
  43399. // SetTagSpecifications sets the TagSpecifications field's value.
  43400. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  43401. s.TagSpecifications = v
  43402. return s
  43403. }
  43404. // SetVolumeType sets the VolumeType field's value.
  43405. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  43406. s.VolumeType = &v
  43407. return s
  43408. }
  43409. // Describes the user or group to be added or removed from the list of create
  43410. // volume permissions for a volume.
  43411. type CreateVolumePermission struct {
  43412. _ struct{} `type:"structure"`
  43413. // The group to be added or removed. The possible value is all.
  43414. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  43415. // The AWS account ID to be added or removed.
  43416. UserId *string `locationName:"userId" type:"string"`
  43417. }
  43418. // String returns the string representation
  43419. func (s CreateVolumePermission) String() string {
  43420. return awsutil.Prettify(s)
  43421. }
  43422. // GoString returns the string representation
  43423. func (s CreateVolumePermission) GoString() string {
  43424. return s.String()
  43425. }
  43426. // SetGroup sets the Group field's value.
  43427. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  43428. s.Group = &v
  43429. return s
  43430. }
  43431. // SetUserId sets the UserId field's value.
  43432. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  43433. s.UserId = &v
  43434. return s
  43435. }
  43436. // Describes modifications to the list of create volume permissions for a volume.
  43437. type CreateVolumePermissionModifications struct {
  43438. _ struct{} `type:"structure"`
  43439. // Adds the specified AWS account ID or group to the list.
  43440. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  43441. // Removes the specified AWS account ID or group from the list.
  43442. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  43443. }
  43444. // String returns the string representation
  43445. func (s CreateVolumePermissionModifications) String() string {
  43446. return awsutil.Prettify(s)
  43447. }
  43448. // GoString returns the string representation
  43449. func (s CreateVolumePermissionModifications) GoString() string {
  43450. return s.String()
  43451. }
  43452. // SetAdd sets the Add field's value.
  43453. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  43454. s.Add = v
  43455. return s
  43456. }
  43457. // SetRemove sets the Remove field's value.
  43458. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  43459. s.Remove = v
  43460. return s
  43461. }
  43462. type CreateVpcEndpointConnectionNotificationInput struct {
  43463. _ struct{} `type:"structure"`
  43464. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43465. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43466. ClientToken *string `type:"string"`
  43467. // One or more endpoint events for which to receive notifications. Valid values
  43468. // are Accept, Connect, Delete, and Reject.
  43469. //
  43470. // ConnectionEvents is a required field
  43471. ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
  43472. // The ARN of the SNS topic for the notifications.
  43473. //
  43474. // ConnectionNotificationArn is a required field
  43475. ConnectionNotificationArn *string `type:"string" required:"true"`
  43476. // Checks whether you have the required permissions for the action, without
  43477. // actually making the request, and provides an error response. If you have
  43478. // the required permissions, the error response is DryRunOperation. Otherwise,
  43479. // it is UnauthorizedOperation.
  43480. DryRun *bool `type:"boolean"`
  43481. // The ID of the endpoint service.
  43482. ServiceId *string `type:"string"`
  43483. // The ID of the endpoint.
  43484. VpcEndpointId *string `type:"string"`
  43485. }
  43486. // String returns the string representation
  43487. func (s CreateVpcEndpointConnectionNotificationInput) String() string {
  43488. return awsutil.Prettify(s)
  43489. }
  43490. // GoString returns the string representation
  43491. func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
  43492. return s.String()
  43493. }
  43494. // Validate inspects the fields of the type to determine if they are valid.
  43495. func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
  43496. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
  43497. if s.ConnectionEvents == nil {
  43498. invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
  43499. }
  43500. if s.ConnectionNotificationArn == nil {
  43501. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
  43502. }
  43503. if invalidParams.Len() > 0 {
  43504. return invalidParams
  43505. }
  43506. return nil
  43507. }
  43508. // SetClientToken sets the ClientToken field's value.
  43509. func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
  43510. s.ClientToken = &v
  43511. return s
  43512. }
  43513. // SetConnectionEvents sets the ConnectionEvents field's value.
  43514. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
  43515. s.ConnectionEvents = v
  43516. return s
  43517. }
  43518. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  43519. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
  43520. s.ConnectionNotificationArn = &v
  43521. return s
  43522. }
  43523. // SetDryRun sets the DryRun field's value.
  43524. func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
  43525. s.DryRun = &v
  43526. return s
  43527. }
  43528. // SetServiceId sets the ServiceId field's value.
  43529. func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
  43530. s.ServiceId = &v
  43531. return s
  43532. }
  43533. // SetVpcEndpointId sets the VpcEndpointId field's value.
  43534. func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
  43535. s.VpcEndpointId = &v
  43536. return s
  43537. }
  43538. type CreateVpcEndpointConnectionNotificationOutput struct {
  43539. _ struct{} `type:"structure"`
  43540. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43541. // of the request.
  43542. ClientToken *string `locationName:"clientToken" type:"string"`
  43543. // Information about the notification.
  43544. ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
  43545. }
  43546. // String returns the string representation
  43547. func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
  43548. return awsutil.Prettify(s)
  43549. }
  43550. // GoString returns the string representation
  43551. func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
  43552. return s.String()
  43553. }
  43554. // SetClientToken sets the ClientToken field's value.
  43555. func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
  43556. s.ClientToken = &v
  43557. return s
  43558. }
  43559. // SetConnectionNotification sets the ConnectionNotification field's value.
  43560. func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
  43561. s.ConnectionNotification = v
  43562. return s
  43563. }
  43564. // Contains the parameters for CreateVpcEndpoint.
  43565. type CreateVpcEndpointInput struct {
  43566. _ struct{} `type:"structure"`
  43567. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43568. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43569. ClientToken *string `type:"string"`
  43570. // Checks whether you have the required permissions for the action, without
  43571. // actually making the request, and provides an error response. If you have
  43572. // the required permissions, the error response is DryRunOperation. Otherwise,
  43573. // it is UnauthorizedOperation.
  43574. DryRun *bool `type:"boolean"`
  43575. // A policy to attach to the endpoint that controls access to the service. The
  43576. // policy must be in valid JSON format. If this parameter is not specified,
  43577. // we attach a default policy that allows full access to the service.
  43578. PolicyDocument *string `type:"string"`
  43579. // (Interface endpoint) Indicates whether to associate a private hosted zone
  43580. // with the specified VPC. The private hosted zone contains a record set for
  43581. // the default public DNS name for the service for the Region (for example,
  43582. // kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses
  43583. // of the endpoint network interfaces in the VPC. This enables you to make requests
  43584. // to the default public DNS name for the service instead of the public DNS
  43585. // names that are automatically generated by the VPC endpoint service.
  43586. //
  43587. // To use a private hosted zone, you must set the following VPC attributes to
  43588. // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
  43589. // set the VPC attributes.
  43590. //
  43591. // Default: true
  43592. PrivateDnsEnabled *bool `type:"boolean"`
  43593. // (Gateway endpoint) One or more route table IDs.
  43594. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  43595. // (Interface endpoint) The ID of one or more security groups to associate with
  43596. // the endpoint network interface.
  43597. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  43598. // The service name. To get a list of available services, use the DescribeVpcEndpointServices
  43599. // request, or get the name from the service provider.
  43600. //
  43601. // ServiceName is a required field
  43602. ServiceName *string `type:"string" required:"true"`
  43603. // (Interface endpoint) The ID of one or more subnets in which to create an
  43604. // endpoint network interface.
  43605. SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
  43606. // The type of endpoint.
  43607. //
  43608. // Default: Gateway
  43609. VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
  43610. // The ID of the VPC in which the endpoint will be used.
  43611. //
  43612. // VpcId is a required field
  43613. VpcId *string `type:"string" required:"true"`
  43614. }
  43615. // String returns the string representation
  43616. func (s CreateVpcEndpointInput) String() string {
  43617. return awsutil.Prettify(s)
  43618. }
  43619. // GoString returns the string representation
  43620. func (s CreateVpcEndpointInput) GoString() string {
  43621. return s.String()
  43622. }
  43623. // Validate inspects the fields of the type to determine if they are valid.
  43624. func (s *CreateVpcEndpointInput) Validate() error {
  43625. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  43626. if s.ServiceName == nil {
  43627. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  43628. }
  43629. if s.VpcId == nil {
  43630. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  43631. }
  43632. if invalidParams.Len() > 0 {
  43633. return invalidParams
  43634. }
  43635. return nil
  43636. }
  43637. // SetClientToken sets the ClientToken field's value.
  43638. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  43639. s.ClientToken = &v
  43640. return s
  43641. }
  43642. // SetDryRun sets the DryRun field's value.
  43643. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  43644. s.DryRun = &v
  43645. return s
  43646. }
  43647. // SetPolicyDocument sets the PolicyDocument field's value.
  43648. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  43649. s.PolicyDocument = &v
  43650. return s
  43651. }
  43652. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  43653. func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
  43654. s.PrivateDnsEnabled = &v
  43655. return s
  43656. }
  43657. // SetRouteTableIds sets the RouteTableIds field's value.
  43658. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  43659. s.RouteTableIds = v
  43660. return s
  43661. }
  43662. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  43663. func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
  43664. s.SecurityGroupIds = v
  43665. return s
  43666. }
  43667. // SetServiceName sets the ServiceName field's value.
  43668. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  43669. s.ServiceName = &v
  43670. return s
  43671. }
  43672. // SetSubnetIds sets the SubnetIds field's value.
  43673. func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
  43674. s.SubnetIds = v
  43675. return s
  43676. }
  43677. // SetVpcEndpointType sets the VpcEndpointType field's value.
  43678. func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
  43679. s.VpcEndpointType = &v
  43680. return s
  43681. }
  43682. // SetVpcId sets the VpcId field's value.
  43683. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  43684. s.VpcId = &v
  43685. return s
  43686. }
  43687. // Contains the output of CreateVpcEndpoint.
  43688. type CreateVpcEndpointOutput struct {
  43689. _ struct{} `type:"structure"`
  43690. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43691. // of the request.
  43692. ClientToken *string `locationName:"clientToken" type:"string"`
  43693. // Information about the endpoint.
  43694. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  43695. }
  43696. // String returns the string representation
  43697. func (s CreateVpcEndpointOutput) String() string {
  43698. return awsutil.Prettify(s)
  43699. }
  43700. // GoString returns the string representation
  43701. func (s CreateVpcEndpointOutput) GoString() string {
  43702. return s.String()
  43703. }
  43704. // SetClientToken sets the ClientToken field's value.
  43705. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  43706. s.ClientToken = &v
  43707. return s
  43708. }
  43709. // SetVpcEndpoint sets the VpcEndpoint field's value.
  43710. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  43711. s.VpcEndpoint = v
  43712. return s
  43713. }
  43714. type CreateVpcEndpointServiceConfigurationInput struct {
  43715. _ struct{} `type:"structure"`
  43716. // Indicates whether requests from service consumers to create an endpoint to
  43717. // your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
  43718. AcceptanceRequired *bool `type:"boolean"`
  43719. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43720. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  43721. ClientToken *string `type:"string"`
  43722. // Checks whether you have the required permissions for the action, without
  43723. // actually making the request, and provides an error response. If you have
  43724. // the required permissions, the error response is DryRunOperation. Otherwise,
  43725. // it is UnauthorizedOperation.
  43726. DryRun *bool `type:"boolean"`
  43727. // The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
  43728. // your service.
  43729. //
  43730. // NetworkLoadBalancerArns is a required field
  43731. NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
  43732. // The private DNS name to assign to the VPC endpoint service.
  43733. PrivateDnsName *string `type:"string"`
  43734. }
  43735. // String returns the string representation
  43736. func (s CreateVpcEndpointServiceConfigurationInput) String() string {
  43737. return awsutil.Prettify(s)
  43738. }
  43739. // GoString returns the string representation
  43740. func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
  43741. return s.String()
  43742. }
  43743. // Validate inspects the fields of the type to determine if they are valid.
  43744. func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
  43745. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
  43746. if s.NetworkLoadBalancerArns == nil {
  43747. invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
  43748. }
  43749. if invalidParams.Len() > 0 {
  43750. return invalidParams
  43751. }
  43752. return nil
  43753. }
  43754. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  43755. func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
  43756. s.AcceptanceRequired = &v
  43757. return s
  43758. }
  43759. // SetClientToken sets the ClientToken field's value.
  43760. func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
  43761. s.ClientToken = &v
  43762. return s
  43763. }
  43764. // SetDryRun sets the DryRun field's value.
  43765. func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
  43766. s.DryRun = &v
  43767. return s
  43768. }
  43769. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  43770. func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
  43771. s.NetworkLoadBalancerArns = v
  43772. return s
  43773. }
  43774. // SetPrivateDnsName sets the PrivateDnsName field's value.
  43775. func (s *CreateVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *CreateVpcEndpointServiceConfigurationInput {
  43776. s.PrivateDnsName = &v
  43777. return s
  43778. }
  43779. type CreateVpcEndpointServiceConfigurationOutput struct {
  43780. _ struct{} `type:"structure"`
  43781. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43782. // of the request.
  43783. ClientToken *string `locationName:"clientToken" type:"string"`
  43784. // Information about the service configuration.
  43785. ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
  43786. }
  43787. // String returns the string representation
  43788. func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
  43789. return awsutil.Prettify(s)
  43790. }
  43791. // GoString returns the string representation
  43792. func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
  43793. return s.String()
  43794. }
  43795. // SetClientToken sets the ClientToken field's value.
  43796. func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
  43797. s.ClientToken = &v
  43798. return s
  43799. }
  43800. // SetServiceConfiguration sets the ServiceConfiguration field's value.
  43801. func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
  43802. s.ServiceConfiguration = v
  43803. return s
  43804. }
  43805. type CreateVpcInput struct {
  43806. _ struct{} `type:"structure"`
  43807. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  43808. // the VPC. You cannot specify the range of IP addresses, or the size of the
  43809. // CIDR block.
  43810. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  43811. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  43812. //
  43813. // CidrBlock is a required field
  43814. CidrBlock *string `type:"string" required:"true"`
  43815. // Checks whether you have the required permissions for the action, without
  43816. // actually making the request, and provides an error response. If you have
  43817. // the required permissions, the error response is DryRunOperation. Otherwise,
  43818. // it is UnauthorizedOperation.
  43819. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43820. // The tenancy options for instances launched into the VPC. For default, instances
  43821. // are launched with shared tenancy by default. You can launch instances with
  43822. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  43823. // as dedicated tenancy instances by default. You can only launch instances
  43824. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  43825. //
  43826. // Important: The host value cannot be used with this parameter. Use the default
  43827. // or dedicated values only.
  43828. //
  43829. // Default: default
  43830. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  43831. // The name of the location from which we advertise the IPV6 CIDR block. Use
  43832. // this parameter to limit the address to this location.
  43833. //
  43834. // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
  43835. Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
  43836. }
  43837. // String returns the string representation
  43838. func (s CreateVpcInput) String() string {
  43839. return awsutil.Prettify(s)
  43840. }
  43841. // GoString returns the string representation
  43842. func (s CreateVpcInput) GoString() string {
  43843. return s.String()
  43844. }
  43845. // Validate inspects the fields of the type to determine if they are valid.
  43846. func (s *CreateVpcInput) Validate() error {
  43847. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  43848. if s.CidrBlock == nil {
  43849. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  43850. }
  43851. if invalidParams.Len() > 0 {
  43852. return invalidParams
  43853. }
  43854. return nil
  43855. }
  43856. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  43857. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  43858. s.AmazonProvidedIpv6CidrBlock = &v
  43859. return s
  43860. }
  43861. // SetCidrBlock sets the CidrBlock field's value.
  43862. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  43863. s.CidrBlock = &v
  43864. return s
  43865. }
  43866. // SetDryRun sets the DryRun field's value.
  43867. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  43868. s.DryRun = &v
  43869. return s
  43870. }
  43871. // SetInstanceTenancy sets the InstanceTenancy field's value.
  43872. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  43873. s.InstanceTenancy = &v
  43874. return s
  43875. }
  43876. // SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
  43877. func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
  43878. s.Ipv6CidrBlockNetworkBorderGroup = &v
  43879. return s
  43880. }
  43881. type CreateVpcOutput struct {
  43882. _ struct{} `type:"structure"`
  43883. // Information about the VPC.
  43884. Vpc *Vpc `locationName:"vpc" type:"structure"`
  43885. }
  43886. // String returns the string representation
  43887. func (s CreateVpcOutput) String() string {
  43888. return awsutil.Prettify(s)
  43889. }
  43890. // GoString returns the string representation
  43891. func (s CreateVpcOutput) GoString() string {
  43892. return s.String()
  43893. }
  43894. // SetVpc sets the Vpc field's value.
  43895. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  43896. s.Vpc = v
  43897. return s
  43898. }
  43899. type CreateVpcPeeringConnectionInput struct {
  43900. _ struct{} `type:"structure"`
  43901. // Checks whether you have the required permissions for the action, without
  43902. // actually making the request, and provides an error response. If you have
  43903. // the required permissions, the error response is DryRunOperation. Otherwise,
  43904. // it is UnauthorizedOperation.
  43905. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43906. // The AWS account ID of the owner of the accepter VPC.
  43907. //
  43908. // Default: Your AWS account ID
  43909. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  43910. // The Region code for the accepter VPC, if the accepter VPC is located in a
  43911. // Region other than the Region in which you make the request.
  43912. //
  43913. // Default: The Region in which you make the request.
  43914. PeerRegion *string `type:"string"`
  43915. // The ID of the VPC with which you are creating the VPC peering connection.
  43916. // You must specify this parameter in the request.
  43917. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  43918. // The ID of the requester VPC. You must specify this parameter in the request.
  43919. VpcId *string `locationName:"vpcId" type:"string"`
  43920. }
  43921. // String returns the string representation
  43922. func (s CreateVpcPeeringConnectionInput) String() string {
  43923. return awsutil.Prettify(s)
  43924. }
  43925. // GoString returns the string representation
  43926. func (s CreateVpcPeeringConnectionInput) GoString() string {
  43927. return s.String()
  43928. }
  43929. // SetDryRun sets the DryRun field's value.
  43930. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  43931. s.DryRun = &v
  43932. return s
  43933. }
  43934. // SetPeerOwnerId sets the PeerOwnerId field's value.
  43935. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  43936. s.PeerOwnerId = &v
  43937. return s
  43938. }
  43939. // SetPeerRegion sets the PeerRegion field's value.
  43940. func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
  43941. s.PeerRegion = &v
  43942. return s
  43943. }
  43944. // SetPeerVpcId sets the PeerVpcId field's value.
  43945. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  43946. s.PeerVpcId = &v
  43947. return s
  43948. }
  43949. // SetVpcId sets the VpcId field's value.
  43950. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  43951. s.VpcId = &v
  43952. return s
  43953. }
  43954. type CreateVpcPeeringConnectionOutput struct {
  43955. _ struct{} `type:"structure"`
  43956. // Information about the VPC peering connection.
  43957. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  43958. }
  43959. // String returns the string representation
  43960. func (s CreateVpcPeeringConnectionOutput) String() string {
  43961. return awsutil.Prettify(s)
  43962. }
  43963. // GoString returns the string representation
  43964. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  43965. return s.String()
  43966. }
  43967. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  43968. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  43969. s.VpcPeeringConnection = v
  43970. return s
  43971. }
  43972. // Contains the parameters for CreateVpnConnection.
  43973. type CreateVpnConnectionInput struct {
  43974. _ struct{} `type:"structure"`
  43975. // The ID of the customer gateway.
  43976. //
  43977. // CustomerGatewayId is a required field
  43978. CustomerGatewayId *string `type:"string" required:"true"`
  43979. // Checks whether you have the required permissions for the action, without
  43980. // actually making the request, and provides an error response. If you have
  43981. // the required permissions, the error response is DryRunOperation. Otherwise,
  43982. // it is UnauthorizedOperation.
  43983. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43984. // The options for the VPN connection.
  43985. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  43986. // The ID of the transit gateway. If you specify a transit gateway, you cannot
  43987. // specify a virtual private gateway.
  43988. TransitGatewayId *string `type:"string"`
  43989. // The type of VPN connection (ipsec.1).
  43990. //
  43991. // Type is a required field
  43992. Type *string `type:"string" required:"true"`
  43993. // The ID of the virtual private gateway. If you specify a virtual private gateway,
  43994. // you cannot specify a transit gateway.
  43995. VpnGatewayId *string `type:"string"`
  43996. }
  43997. // String returns the string representation
  43998. func (s CreateVpnConnectionInput) String() string {
  43999. return awsutil.Prettify(s)
  44000. }
  44001. // GoString returns the string representation
  44002. func (s CreateVpnConnectionInput) GoString() string {
  44003. return s.String()
  44004. }
  44005. // Validate inspects the fields of the type to determine if they are valid.
  44006. func (s *CreateVpnConnectionInput) Validate() error {
  44007. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  44008. if s.CustomerGatewayId == nil {
  44009. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  44010. }
  44011. if s.Type == nil {
  44012. invalidParams.Add(request.NewErrParamRequired("Type"))
  44013. }
  44014. if invalidParams.Len() > 0 {
  44015. return invalidParams
  44016. }
  44017. return nil
  44018. }
  44019. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  44020. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  44021. s.CustomerGatewayId = &v
  44022. return s
  44023. }
  44024. // SetDryRun sets the DryRun field's value.
  44025. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  44026. s.DryRun = &v
  44027. return s
  44028. }
  44029. // SetOptions sets the Options field's value.
  44030. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  44031. s.Options = v
  44032. return s
  44033. }
  44034. // SetTransitGatewayId sets the TransitGatewayId field's value.
  44035. func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
  44036. s.TransitGatewayId = &v
  44037. return s
  44038. }
  44039. // SetType sets the Type field's value.
  44040. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  44041. s.Type = &v
  44042. return s
  44043. }
  44044. // SetVpnGatewayId sets the VpnGatewayId field's value.
  44045. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  44046. s.VpnGatewayId = &v
  44047. return s
  44048. }
  44049. // Contains the output of CreateVpnConnection.
  44050. type CreateVpnConnectionOutput struct {
  44051. _ struct{} `type:"structure"`
  44052. // Information about the VPN connection.
  44053. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  44054. }
  44055. // String returns the string representation
  44056. func (s CreateVpnConnectionOutput) String() string {
  44057. return awsutil.Prettify(s)
  44058. }
  44059. // GoString returns the string representation
  44060. func (s CreateVpnConnectionOutput) GoString() string {
  44061. return s.String()
  44062. }
  44063. // SetVpnConnection sets the VpnConnection field's value.
  44064. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  44065. s.VpnConnection = v
  44066. return s
  44067. }
  44068. // Contains the parameters for CreateVpnConnectionRoute.
  44069. type CreateVpnConnectionRouteInput struct {
  44070. _ struct{} `type:"structure"`
  44071. // The CIDR block associated with the local subnet of the customer network.
  44072. //
  44073. // DestinationCidrBlock is a required field
  44074. DestinationCidrBlock *string `type:"string" required:"true"`
  44075. // The ID of the VPN connection.
  44076. //
  44077. // VpnConnectionId is a required field
  44078. VpnConnectionId *string `type:"string" required:"true"`
  44079. }
  44080. // String returns the string representation
  44081. func (s CreateVpnConnectionRouteInput) String() string {
  44082. return awsutil.Prettify(s)
  44083. }
  44084. // GoString returns the string representation
  44085. func (s CreateVpnConnectionRouteInput) GoString() string {
  44086. return s.String()
  44087. }
  44088. // Validate inspects the fields of the type to determine if they are valid.
  44089. func (s *CreateVpnConnectionRouteInput) Validate() error {
  44090. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  44091. if s.DestinationCidrBlock == nil {
  44092. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  44093. }
  44094. if s.VpnConnectionId == nil {
  44095. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  44096. }
  44097. if invalidParams.Len() > 0 {
  44098. return invalidParams
  44099. }
  44100. return nil
  44101. }
  44102. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  44103. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  44104. s.DestinationCidrBlock = &v
  44105. return s
  44106. }
  44107. // SetVpnConnectionId sets the VpnConnectionId field's value.
  44108. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  44109. s.VpnConnectionId = &v
  44110. return s
  44111. }
  44112. type CreateVpnConnectionRouteOutput struct {
  44113. _ struct{} `type:"structure"`
  44114. }
  44115. // String returns the string representation
  44116. func (s CreateVpnConnectionRouteOutput) String() string {
  44117. return awsutil.Prettify(s)
  44118. }
  44119. // GoString returns the string representation
  44120. func (s CreateVpnConnectionRouteOutput) GoString() string {
  44121. return s.String()
  44122. }
  44123. // Contains the parameters for CreateVpnGateway.
  44124. type CreateVpnGatewayInput struct {
  44125. _ struct{} `type:"structure"`
  44126. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  44127. // If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
  44128. // you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
  44129. //
  44130. // Default: 64512
  44131. AmazonSideAsn *int64 `type:"long"`
  44132. // The Availability Zone for the virtual private gateway.
  44133. AvailabilityZone *string `type:"string"`
  44134. // Checks whether you have the required permissions for the action, without
  44135. // actually making the request, and provides an error response. If you have
  44136. // the required permissions, the error response is DryRunOperation. Otherwise,
  44137. // it is UnauthorizedOperation.
  44138. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44139. // The type of VPN connection this virtual private gateway supports.
  44140. //
  44141. // Type is a required field
  44142. Type *string `type:"string" required:"true" enum:"GatewayType"`
  44143. }
  44144. // String returns the string representation
  44145. func (s CreateVpnGatewayInput) String() string {
  44146. return awsutil.Prettify(s)
  44147. }
  44148. // GoString returns the string representation
  44149. func (s CreateVpnGatewayInput) GoString() string {
  44150. return s.String()
  44151. }
  44152. // Validate inspects the fields of the type to determine if they are valid.
  44153. func (s *CreateVpnGatewayInput) Validate() error {
  44154. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  44155. if s.Type == nil {
  44156. invalidParams.Add(request.NewErrParamRequired("Type"))
  44157. }
  44158. if invalidParams.Len() > 0 {
  44159. return invalidParams
  44160. }
  44161. return nil
  44162. }
  44163. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  44164. func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
  44165. s.AmazonSideAsn = &v
  44166. return s
  44167. }
  44168. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44169. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  44170. s.AvailabilityZone = &v
  44171. return s
  44172. }
  44173. // SetDryRun sets the DryRun field's value.
  44174. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  44175. s.DryRun = &v
  44176. return s
  44177. }
  44178. // SetType sets the Type field's value.
  44179. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  44180. s.Type = &v
  44181. return s
  44182. }
  44183. // Contains the output of CreateVpnGateway.
  44184. type CreateVpnGatewayOutput struct {
  44185. _ struct{} `type:"structure"`
  44186. // Information about the virtual private gateway.
  44187. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  44188. }
  44189. // String returns the string representation
  44190. func (s CreateVpnGatewayOutput) String() string {
  44191. return awsutil.Prettify(s)
  44192. }
  44193. // GoString returns the string representation
  44194. func (s CreateVpnGatewayOutput) GoString() string {
  44195. return s.String()
  44196. }
  44197. // SetVpnGateway sets the VpnGateway field's value.
  44198. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  44199. s.VpnGateway = v
  44200. return s
  44201. }
  44202. // Describes the credit option for CPU usage of a T2 or T3 instance.
  44203. type CreditSpecification struct {
  44204. _ struct{} `type:"structure"`
  44205. // The credit option for CPU usage of a T2 or T3 instance. Valid values are
  44206. // standard and unlimited.
  44207. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  44208. }
  44209. // String returns the string representation
  44210. func (s CreditSpecification) String() string {
  44211. return awsutil.Prettify(s)
  44212. }
  44213. // GoString returns the string representation
  44214. func (s CreditSpecification) GoString() string {
  44215. return s.String()
  44216. }
  44217. // SetCpuCredits sets the CpuCredits field's value.
  44218. func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
  44219. s.CpuCredits = &v
  44220. return s
  44221. }
  44222. // The credit option for CPU usage of a T2 or T3 instance.
  44223. type CreditSpecificationRequest struct {
  44224. _ struct{} `type:"structure"`
  44225. // The credit option for CPU usage of a T2 or T3 instance. Valid values are
  44226. // standard and unlimited.
  44227. //
  44228. // CpuCredits is a required field
  44229. CpuCredits *string `type:"string" required:"true"`
  44230. }
  44231. // String returns the string representation
  44232. func (s CreditSpecificationRequest) String() string {
  44233. return awsutil.Prettify(s)
  44234. }
  44235. // GoString returns the string representation
  44236. func (s CreditSpecificationRequest) GoString() string {
  44237. return s.String()
  44238. }
  44239. // Validate inspects the fields of the type to determine if they are valid.
  44240. func (s *CreditSpecificationRequest) Validate() error {
  44241. invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
  44242. if s.CpuCredits == nil {
  44243. invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
  44244. }
  44245. if invalidParams.Len() > 0 {
  44246. return invalidParams
  44247. }
  44248. return nil
  44249. }
  44250. // SetCpuCredits sets the CpuCredits field's value.
  44251. func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
  44252. s.CpuCredits = &v
  44253. return s
  44254. }
  44255. // Describes a customer gateway.
  44256. type CustomerGateway struct {
  44257. _ struct{} `type:"structure"`
  44258. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  44259. // (ASN).
  44260. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  44261. // The Amazon Resource Name (ARN) for the customer gateway certificate.
  44262. CertificateArn *string `locationName:"certificateArn" type:"string"`
  44263. // The ID of the customer gateway.
  44264. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  44265. // The name of customer gateway device.
  44266. DeviceName *string `locationName:"deviceName" type:"string"`
  44267. // The Internet-routable IP address of the customer gateway's outside interface.
  44268. IpAddress *string `locationName:"ipAddress" type:"string"`
  44269. // The current state of the customer gateway (pending | available | deleting
  44270. // | deleted).
  44271. State *string `locationName:"state" type:"string"`
  44272. // Any tags assigned to the customer gateway.
  44273. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44274. // The type of VPN connection the customer gateway supports (ipsec.1).
  44275. Type *string `locationName:"type" type:"string"`
  44276. }
  44277. // String returns the string representation
  44278. func (s CustomerGateway) String() string {
  44279. return awsutil.Prettify(s)
  44280. }
  44281. // GoString returns the string representation
  44282. func (s CustomerGateway) GoString() string {
  44283. return s.String()
  44284. }
  44285. // SetBgpAsn sets the BgpAsn field's value.
  44286. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  44287. s.BgpAsn = &v
  44288. return s
  44289. }
  44290. // SetCertificateArn sets the CertificateArn field's value.
  44291. func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway {
  44292. s.CertificateArn = &v
  44293. return s
  44294. }
  44295. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  44296. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  44297. s.CustomerGatewayId = &v
  44298. return s
  44299. }
  44300. // SetDeviceName sets the DeviceName field's value.
  44301. func (s *CustomerGateway) SetDeviceName(v string) *CustomerGateway {
  44302. s.DeviceName = &v
  44303. return s
  44304. }
  44305. // SetIpAddress sets the IpAddress field's value.
  44306. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  44307. s.IpAddress = &v
  44308. return s
  44309. }
  44310. // SetState sets the State field's value.
  44311. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  44312. s.State = &v
  44313. return s
  44314. }
  44315. // SetTags sets the Tags field's value.
  44316. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  44317. s.Tags = v
  44318. return s
  44319. }
  44320. // SetType sets the Type field's value.
  44321. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  44322. s.Type = &v
  44323. return s
  44324. }
  44325. type DeleteClientVpnEndpointInput struct {
  44326. _ struct{} `type:"structure"`
  44327. // The ID of the Client VPN to be deleted.
  44328. //
  44329. // ClientVpnEndpointId is a required field
  44330. ClientVpnEndpointId *string `type:"string" required:"true"`
  44331. // Checks whether you have the required permissions for the action, without
  44332. // actually making the request, and provides an error response. If you have
  44333. // the required permissions, the error response is DryRunOperation. Otherwise,
  44334. // it is UnauthorizedOperation.
  44335. DryRun *bool `type:"boolean"`
  44336. }
  44337. // String returns the string representation
  44338. func (s DeleteClientVpnEndpointInput) String() string {
  44339. return awsutil.Prettify(s)
  44340. }
  44341. // GoString returns the string representation
  44342. func (s DeleteClientVpnEndpointInput) GoString() string {
  44343. return s.String()
  44344. }
  44345. // Validate inspects the fields of the type to determine if they are valid.
  44346. func (s *DeleteClientVpnEndpointInput) Validate() error {
  44347. invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
  44348. if s.ClientVpnEndpointId == nil {
  44349. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  44350. }
  44351. if invalidParams.Len() > 0 {
  44352. return invalidParams
  44353. }
  44354. return nil
  44355. }
  44356. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  44357. func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
  44358. s.ClientVpnEndpointId = &v
  44359. return s
  44360. }
  44361. // SetDryRun sets the DryRun field's value.
  44362. func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
  44363. s.DryRun = &v
  44364. return s
  44365. }
  44366. type DeleteClientVpnEndpointOutput struct {
  44367. _ struct{} `type:"structure"`
  44368. // The current state of the Client VPN endpoint.
  44369. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  44370. }
  44371. // String returns the string representation
  44372. func (s DeleteClientVpnEndpointOutput) String() string {
  44373. return awsutil.Prettify(s)
  44374. }
  44375. // GoString returns the string representation
  44376. func (s DeleteClientVpnEndpointOutput) GoString() string {
  44377. return s.String()
  44378. }
  44379. // SetStatus sets the Status field's value.
  44380. func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
  44381. s.Status = v
  44382. return s
  44383. }
  44384. type DeleteClientVpnRouteInput struct {
  44385. _ struct{} `type:"structure"`
  44386. // The ID of the Client VPN endpoint from which the route is to be deleted.
  44387. //
  44388. // ClientVpnEndpointId is a required field
  44389. ClientVpnEndpointId *string `type:"string" required:"true"`
  44390. // The IPv4 address range, in CIDR notation, of the route to be deleted.
  44391. //
  44392. // DestinationCidrBlock is a required field
  44393. DestinationCidrBlock *string `type:"string" required:"true"`
  44394. // Checks whether you have the required permissions for the action, without
  44395. // actually making the request, and provides an error response. If you have
  44396. // the required permissions, the error response is DryRunOperation. Otherwise,
  44397. // it is UnauthorizedOperation.
  44398. DryRun *bool `type:"boolean"`
  44399. // The ID of the target subnet used by the route.
  44400. TargetVpcSubnetId *string `type:"string"`
  44401. }
  44402. // String returns the string representation
  44403. func (s DeleteClientVpnRouteInput) String() string {
  44404. return awsutil.Prettify(s)
  44405. }
  44406. // GoString returns the string representation
  44407. func (s DeleteClientVpnRouteInput) GoString() string {
  44408. return s.String()
  44409. }
  44410. // Validate inspects the fields of the type to determine if they are valid.
  44411. func (s *DeleteClientVpnRouteInput) Validate() error {
  44412. invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
  44413. if s.ClientVpnEndpointId == nil {
  44414. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  44415. }
  44416. if s.DestinationCidrBlock == nil {
  44417. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  44418. }
  44419. if invalidParams.Len() > 0 {
  44420. return invalidParams
  44421. }
  44422. return nil
  44423. }
  44424. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  44425. func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
  44426. s.ClientVpnEndpointId = &v
  44427. return s
  44428. }
  44429. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  44430. func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
  44431. s.DestinationCidrBlock = &v
  44432. return s
  44433. }
  44434. // SetDryRun sets the DryRun field's value.
  44435. func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
  44436. s.DryRun = &v
  44437. return s
  44438. }
  44439. // SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
  44440. func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
  44441. s.TargetVpcSubnetId = &v
  44442. return s
  44443. }
  44444. type DeleteClientVpnRouteOutput struct {
  44445. _ struct{} `type:"structure"`
  44446. // The current state of the route.
  44447. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  44448. }
  44449. // String returns the string representation
  44450. func (s DeleteClientVpnRouteOutput) String() string {
  44451. return awsutil.Prettify(s)
  44452. }
  44453. // GoString returns the string representation
  44454. func (s DeleteClientVpnRouteOutput) GoString() string {
  44455. return s.String()
  44456. }
  44457. // SetStatus sets the Status field's value.
  44458. func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
  44459. s.Status = v
  44460. return s
  44461. }
  44462. // Contains the parameters for DeleteCustomerGateway.
  44463. type DeleteCustomerGatewayInput struct {
  44464. _ struct{} `type:"structure"`
  44465. // The ID of the customer gateway.
  44466. //
  44467. // CustomerGatewayId is a required field
  44468. CustomerGatewayId *string `type:"string" required:"true"`
  44469. // Checks whether you have the required permissions for the action, without
  44470. // actually making the request, and provides an error response. If you have
  44471. // the required permissions, the error response is DryRunOperation. Otherwise,
  44472. // it is UnauthorizedOperation.
  44473. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44474. }
  44475. // String returns the string representation
  44476. func (s DeleteCustomerGatewayInput) String() string {
  44477. return awsutil.Prettify(s)
  44478. }
  44479. // GoString returns the string representation
  44480. func (s DeleteCustomerGatewayInput) GoString() string {
  44481. return s.String()
  44482. }
  44483. // Validate inspects the fields of the type to determine if they are valid.
  44484. func (s *DeleteCustomerGatewayInput) Validate() error {
  44485. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  44486. if s.CustomerGatewayId == nil {
  44487. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  44488. }
  44489. if invalidParams.Len() > 0 {
  44490. return invalidParams
  44491. }
  44492. return nil
  44493. }
  44494. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  44495. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  44496. s.CustomerGatewayId = &v
  44497. return s
  44498. }
  44499. // SetDryRun sets the DryRun field's value.
  44500. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  44501. s.DryRun = &v
  44502. return s
  44503. }
  44504. type DeleteCustomerGatewayOutput struct {
  44505. _ struct{} `type:"structure"`
  44506. }
  44507. // String returns the string representation
  44508. func (s DeleteCustomerGatewayOutput) String() string {
  44509. return awsutil.Prettify(s)
  44510. }
  44511. // GoString returns the string representation
  44512. func (s DeleteCustomerGatewayOutput) GoString() string {
  44513. return s.String()
  44514. }
  44515. type DeleteDhcpOptionsInput struct {
  44516. _ struct{} `type:"structure"`
  44517. // The ID of the DHCP options set.
  44518. //
  44519. // DhcpOptionsId is a required field
  44520. DhcpOptionsId *string `type:"string" required:"true"`
  44521. // Checks whether you have the required permissions for the action, without
  44522. // actually making the request, and provides an error response. If you have
  44523. // the required permissions, the error response is DryRunOperation. Otherwise,
  44524. // it is UnauthorizedOperation.
  44525. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44526. }
  44527. // String returns the string representation
  44528. func (s DeleteDhcpOptionsInput) String() string {
  44529. return awsutil.Prettify(s)
  44530. }
  44531. // GoString returns the string representation
  44532. func (s DeleteDhcpOptionsInput) GoString() string {
  44533. return s.String()
  44534. }
  44535. // Validate inspects the fields of the type to determine if they are valid.
  44536. func (s *DeleteDhcpOptionsInput) Validate() error {
  44537. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  44538. if s.DhcpOptionsId == nil {
  44539. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  44540. }
  44541. if invalidParams.Len() > 0 {
  44542. return invalidParams
  44543. }
  44544. return nil
  44545. }
  44546. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  44547. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  44548. s.DhcpOptionsId = &v
  44549. return s
  44550. }
  44551. // SetDryRun sets the DryRun field's value.
  44552. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  44553. s.DryRun = &v
  44554. return s
  44555. }
  44556. type DeleteDhcpOptionsOutput struct {
  44557. _ struct{} `type:"structure"`
  44558. }
  44559. // String returns the string representation
  44560. func (s DeleteDhcpOptionsOutput) String() string {
  44561. return awsutil.Prettify(s)
  44562. }
  44563. // GoString returns the string representation
  44564. func (s DeleteDhcpOptionsOutput) GoString() string {
  44565. return s.String()
  44566. }
  44567. type DeleteEgressOnlyInternetGatewayInput struct {
  44568. _ struct{} `type:"structure"`
  44569. // Checks whether you have the required permissions for the action, without
  44570. // actually making the request, and provides an error response. If you have
  44571. // the required permissions, the error response is DryRunOperation. Otherwise,
  44572. // it is UnauthorizedOperation.
  44573. DryRun *bool `type:"boolean"`
  44574. // The ID of the egress-only internet gateway.
  44575. //
  44576. // EgressOnlyInternetGatewayId is a required field
  44577. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  44578. }
  44579. // String returns the string representation
  44580. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  44581. return awsutil.Prettify(s)
  44582. }
  44583. // GoString returns the string representation
  44584. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  44585. return s.String()
  44586. }
  44587. // Validate inspects the fields of the type to determine if they are valid.
  44588. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  44589. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  44590. if s.EgressOnlyInternetGatewayId == nil {
  44591. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  44592. }
  44593. if invalidParams.Len() > 0 {
  44594. return invalidParams
  44595. }
  44596. return nil
  44597. }
  44598. // SetDryRun sets the DryRun field's value.
  44599. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  44600. s.DryRun = &v
  44601. return s
  44602. }
  44603. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  44604. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  44605. s.EgressOnlyInternetGatewayId = &v
  44606. return s
  44607. }
  44608. type DeleteEgressOnlyInternetGatewayOutput struct {
  44609. _ struct{} `type:"structure"`
  44610. // Returns true if the request succeeds; otherwise, it returns an error.
  44611. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  44612. }
  44613. // String returns the string representation
  44614. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  44615. return awsutil.Prettify(s)
  44616. }
  44617. // GoString returns the string representation
  44618. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  44619. return s.String()
  44620. }
  44621. // SetReturnCode sets the ReturnCode field's value.
  44622. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  44623. s.ReturnCode = &v
  44624. return s
  44625. }
  44626. // Describes an EC2 Fleet error.
  44627. type DeleteFleetError struct {
  44628. _ struct{} `type:"structure"`
  44629. // The error code.
  44630. Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
  44631. // The description for the error code.
  44632. Message *string `locationName:"message" type:"string"`
  44633. }
  44634. // String returns the string representation
  44635. func (s DeleteFleetError) String() string {
  44636. return awsutil.Prettify(s)
  44637. }
  44638. // GoString returns the string representation
  44639. func (s DeleteFleetError) GoString() string {
  44640. return s.String()
  44641. }
  44642. // SetCode sets the Code field's value.
  44643. func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
  44644. s.Code = &v
  44645. return s
  44646. }
  44647. // SetMessage sets the Message field's value.
  44648. func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
  44649. s.Message = &v
  44650. return s
  44651. }
  44652. // Describes an EC2 Fleet that was not successfully deleted.
  44653. type DeleteFleetErrorItem struct {
  44654. _ struct{} `type:"structure"`
  44655. // The error.
  44656. Error *DeleteFleetError `locationName:"error" type:"structure"`
  44657. // The ID of the EC2 Fleet.
  44658. FleetId *string `locationName:"fleetId" type:"string"`
  44659. }
  44660. // String returns the string representation
  44661. func (s DeleteFleetErrorItem) String() string {
  44662. return awsutil.Prettify(s)
  44663. }
  44664. // GoString returns the string representation
  44665. func (s DeleteFleetErrorItem) GoString() string {
  44666. return s.String()
  44667. }
  44668. // SetError sets the Error field's value.
  44669. func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
  44670. s.Error = v
  44671. return s
  44672. }
  44673. // SetFleetId sets the FleetId field's value.
  44674. func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
  44675. s.FleetId = &v
  44676. return s
  44677. }
  44678. // Describes an EC2 Fleet that was successfully deleted.
  44679. type DeleteFleetSuccessItem struct {
  44680. _ struct{} `type:"structure"`
  44681. // The current state of the EC2 Fleet.
  44682. CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
  44683. // The ID of the EC2 Fleet.
  44684. FleetId *string `locationName:"fleetId" type:"string"`
  44685. // The previous state of the EC2 Fleet.
  44686. PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
  44687. }
  44688. // String returns the string representation
  44689. func (s DeleteFleetSuccessItem) String() string {
  44690. return awsutil.Prettify(s)
  44691. }
  44692. // GoString returns the string representation
  44693. func (s DeleteFleetSuccessItem) GoString() string {
  44694. return s.String()
  44695. }
  44696. // SetCurrentFleetState sets the CurrentFleetState field's value.
  44697. func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
  44698. s.CurrentFleetState = &v
  44699. return s
  44700. }
  44701. // SetFleetId sets the FleetId field's value.
  44702. func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
  44703. s.FleetId = &v
  44704. return s
  44705. }
  44706. // SetPreviousFleetState sets the PreviousFleetState field's value.
  44707. func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
  44708. s.PreviousFleetState = &v
  44709. return s
  44710. }
  44711. type DeleteFleetsInput struct {
  44712. _ struct{} `type:"structure"`
  44713. // Checks whether you have the required permissions for the action, without
  44714. // actually making the request, and provides an error response. If you have
  44715. // the required permissions, the error response is DryRunOperation. Otherwise,
  44716. // it is UnauthorizedOperation.
  44717. DryRun *bool `type:"boolean"`
  44718. // The IDs of the EC2 Fleets.
  44719. //
  44720. // FleetIds is a required field
  44721. FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
  44722. // Indicates whether to terminate instances for an EC2 Fleet if it is deleted
  44723. // successfully.
  44724. //
  44725. // TerminateInstances is a required field
  44726. TerminateInstances *bool `type:"boolean" required:"true"`
  44727. }
  44728. // String returns the string representation
  44729. func (s DeleteFleetsInput) String() string {
  44730. return awsutil.Prettify(s)
  44731. }
  44732. // GoString returns the string representation
  44733. func (s DeleteFleetsInput) GoString() string {
  44734. return s.String()
  44735. }
  44736. // Validate inspects the fields of the type to determine if they are valid.
  44737. func (s *DeleteFleetsInput) Validate() error {
  44738. invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
  44739. if s.FleetIds == nil {
  44740. invalidParams.Add(request.NewErrParamRequired("FleetIds"))
  44741. }
  44742. if s.TerminateInstances == nil {
  44743. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  44744. }
  44745. if invalidParams.Len() > 0 {
  44746. return invalidParams
  44747. }
  44748. return nil
  44749. }
  44750. // SetDryRun sets the DryRun field's value.
  44751. func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
  44752. s.DryRun = &v
  44753. return s
  44754. }
  44755. // SetFleetIds sets the FleetIds field's value.
  44756. func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
  44757. s.FleetIds = v
  44758. return s
  44759. }
  44760. // SetTerminateInstances sets the TerminateInstances field's value.
  44761. func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
  44762. s.TerminateInstances = &v
  44763. return s
  44764. }
  44765. type DeleteFleetsOutput struct {
  44766. _ struct{} `type:"structure"`
  44767. // Information about the EC2 Fleets that are successfully deleted.
  44768. SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
  44769. // Information about the EC2 Fleets that are not successfully deleted.
  44770. UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
  44771. }
  44772. // String returns the string representation
  44773. func (s DeleteFleetsOutput) String() string {
  44774. return awsutil.Prettify(s)
  44775. }
  44776. // GoString returns the string representation
  44777. func (s DeleteFleetsOutput) GoString() string {
  44778. return s.String()
  44779. }
  44780. // SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
  44781. func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
  44782. s.SuccessfulFleetDeletions = v
  44783. return s
  44784. }
  44785. // SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
  44786. func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
  44787. s.UnsuccessfulFleetDeletions = v
  44788. return s
  44789. }
  44790. type DeleteFlowLogsInput struct {
  44791. _ struct{} `type:"structure"`
  44792. // Checks whether you have the required permissions for the action, without
  44793. // actually making the request, and provides an error response. If you have
  44794. // the required permissions, the error response is DryRunOperation. Otherwise,
  44795. // it is UnauthorizedOperation.
  44796. DryRun *bool `type:"boolean"`
  44797. // One or more flow log IDs.
  44798. //
  44799. // Constraint: Maximum of 1000 flow log IDs.
  44800. //
  44801. // FlowLogIds is a required field
  44802. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  44803. }
  44804. // String returns the string representation
  44805. func (s DeleteFlowLogsInput) String() string {
  44806. return awsutil.Prettify(s)
  44807. }
  44808. // GoString returns the string representation
  44809. func (s DeleteFlowLogsInput) GoString() string {
  44810. return s.String()
  44811. }
  44812. // Validate inspects the fields of the type to determine if they are valid.
  44813. func (s *DeleteFlowLogsInput) Validate() error {
  44814. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  44815. if s.FlowLogIds == nil {
  44816. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  44817. }
  44818. if invalidParams.Len() > 0 {
  44819. return invalidParams
  44820. }
  44821. return nil
  44822. }
  44823. // SetDryRun sets the DryRun field's value.
  44824. func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
  44825. s.DryRun = &v
  44826. return s
  44827. }
  44828. // SetFlowLogIds sets the FlowLogIds field's value.
  44829. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  44830. s.FlowLogIds = v
  44831. return s
  44832. }
  44833. type DeleteFlowLogsOutput struct {
  44834. _ struct{} `type:"structure"`
  44835. // Information about the flow logs that could not be deleted successfully.
  44836. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  44837. }
  44838. // String returns the string representation
  44839. func (s DeleteFlowLogsOutput) String() string {
  44840. return awsutil.Prettify(s)
  44841. }
  44842. // GoString returns the string representation
  44843. func (s DeleteFlowLogsOutput) GoString() string {
  44844. return s.String()
  44845. }
  44846. // SetUnsuccessful sets the Unsuccessful field's value.
  44847. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  44848. s.Unsuccessful = v
  44849. return s
  44850. }
  44851. type DeleteFpgaImageInput struct {
  44852. _ struct{} `type:"structure"`
  44853. // Checks whether you have the required permissions for the action, without
  44854. // actually making the request, and provides an error response. If you have
  44855. // the required permissions, the error response is DryRunOperation. Otherwise,
  44856. // it is UnauthorizedOperation.
  44857. DryRun *bool `type:"boolean"`
  44858. // The ID of the AFI.
  44859. //
  44860. // FpgaImageId is a required field
  44861. FpgaImageId *string `type:"string" required:"true"`
  44862. }
  44863. // String returns the string representation
  44864. func (s DeleteFpgaImageInput) String() string {
  44865. return awsutil.Prettify(s)
  44866. }
  44867. // GoString returns the string representation
  44868. func (s DeleteFpgaImageInput) GoString() string {
  44869. return s.String()
  44870. }
  44871. // Validate inspects the fields of the type to determine if they are valid.
  44872. func (s *DeleteFpgaImageInput) Validate() error {
  44873. invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
  44874. if s.FpgaImageId == nil {
  44875. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  44876. }
  44877. if invalidParams.Len() > 0 {
  44878. return invalidParams
  44879. }
  44880. return nil
  44881. }
  44882. // SetDryRun sets the DryRun field's value.
  44883. func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
  44884. s.DryRun = &v
  44885. return s
  44886. }
  44887. // SetFpgaImageId sets the FpgaImageId field's value.
  44888. func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
  44889. s.FpgaImageId = &v
  44890. return s
  44891. }
  44892. type DeleteFpgaImageOutput struct {
  44893. _ struct{} `type:"structure"`
  44894. // Is true if the request succeeds, and an error otherwise.
  44895. Return *bool `locationName:"return" type:"boolean"`
  44896. }
  44897. // String returns the string representation
  44898. func (s DeleteFpgaImageOutput) String() string {
  44899. return awsutil.Prettify(s)
  44900. }
  44901. // GoString returns the string representation
  44902. func (s DeleteFpgaImageOutput) GoString() string {
  44903. return s.String()
  44904. }
  44905. // SetReturn sets the Return field's value.
  44906. func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
  44907. s.Return = &v
  44908. return s
  44909. }
  44910. type DeleteInternetGatewayInput struct {
  44911. _ struct{} `type:"structure"`
  44912. // Checks whether you have the required permissions for the action, without
  44913. // actually making the request, and provides an error response. If you have
  44914. // the required permissions, the error response is DryRunOperation. Otherwise,
  44915. // it is UnauthorizedOperation.
  44916. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44917. // The ID of the internet gateway.
  44918. //
  44919. // InternetGatewayId is a required field
  44920. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  44921. }
  44922. // String returns the string representation
  44923. func (s DeleteInternetGatewayInput) String() string {
  44924. return awsutil.Prettify(s)
  44925. }
  44926. // GoString returns the string representation
  44927. func (s DeleteInternetGatewayInput) GoString() string {
  44928. return s.String()
  44929. }
  44930. // Validate inspects the fields of the type to determine if they are valid.
  44931. func (s *DeleteInternetGatewayInput) Validate() error {
  44932. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  44933. if s.InternetGatewayId == nil {
  44934. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  44935. }
  44936. if invalidParams.Len() > 0 {
  44937. return invalidParams
  44938. }
  44939. return nil
  44940. }
  44941. // SetDryRun sets the DryRun field's value.
  44942. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  44943. s.DryRun = &v
  44944. return s
  44945. }
  44946. // SetInternetGatewayId sets the InternetGatewayId field's value.
  44947. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  44948. s.InternetGatewayId = &v
  44949. return s
  44950. }
  44951. type DeleteInternetGatewayOutput struct {
  44952. _ struct{} `type:"structure"`
  44953. }
  44954. // String returns the string representation
  44955. func (s DeleteInternetGatewayOutput) String() string {
  44956. return awsutil.Prettify(s)
  44957. }
  44958. // GoString returns the string representation
  44959. func (s DeleteInternetGatewayOutput) GoString() string {
  44960. return s.String()
  44961. }
  44962. type DeleteKeyPairInput struct {
  44963. _ struct{} `type:"structure"`
  44964. // Checks whether you have the required permissions for the action, without
  44965. // actually making the request, and provides an error response. If you have
  44966. // the required permissions, the error response is DryRunOperation. Otherwise,
  44967. // it is UnauthorizedOperation.
  44968. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44969. // The name of the key pair.
  44970. //
  44971. // KeyName is a required field
  44972. KeyName *string `type:"string" required:"true"`
  44973. }
  44974. // String returns the string representation
  44975. func (s DeleteKeyPairInput) String() string {
  44976. return awsutil.Prettify(s)
  44977. }
  44978. // GoString returns the string representation
  44979. func (s DeleteKeyPairInput) GoString() string {
  44980. return s.String()
  44981. }
  44982. // Validate inspects the fields of the type to determine if they are valid.
  44983. func (s *DeleteKeyPairInput) Validate() error {
  44984. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  44985. if s.KeyName == nil {
  44986. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  44987. }
  44988. if invalidParams.Len() > 0 {
  44989. return invalidParams
  44990. }
  44991. return nil
  44992. }
  44993. // SetDryRun sets the DryRun field's value.
  44994. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  44995. s.DryRun = &v
  44996. return s
  44997. }
  44998. // SetKeyName sets the KeyName field's value.
  44999. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  45000. s.KeyName = &v
  45001. return s
  45002. }
  45003. type DeleteKeyPairOutput struct {
  45004. _ struct{} `type:"structure"`
  45005. }
  45006. // String returns the string representation
  45007. func (s DeleteKeyPairOutput) String() string {
  45008. return awsutil.Prettify(s)
  45009. }
  45010. // GoString returns the string representation
  45011. func (s DeleteKeyPairOutput) GoString() string {
  45012. return s.String()
  45013. }
  45014. type DeleteLaunchTemplateInput struct {
  45015. _ struct{} `type:"structure"`
  45016. // Checks whether you have the required permissions for the action, without
  45017. // actually making the request, and provides an error response. If you have
  45018. // the required permissions, the error response is DryRunOperation. Otherwise,
  45019. // it is UnauthorizedOperation.
  45020. DryRun *bool `type:"boolean"`
  45021. // The ID of the launch template. You must specify either the launch template
  45022. // ID or launch template name in the request.
  45023. LaunchTemplateId *string `type:"string"`
  45024. // The name of the launch template. You must specify either the launch template
  45025. // ID or launch template name in the request.
  45026. LaunchTemplateName *string `min:"3" type:"string"`
  45027. }
  45028. // String returns the string representation
  45029. func (s DeleteLaunchTemplateInput) String() string {
  45030. return awsutil.Prettify(s)
  45031. }
  45032. // GoString returns the string representation
  45033. func (s DeleteLaunchTemplateInput) GoString() string {
  45034. return s.String()
  45035. }
  45036. // Validate inspects the fields of the type to determine if they are valid.
  45037. func (s *DeleteLaunchTemplateInput) Validate() error {
  45038. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
  45039. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  45040. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  45041. }
  45042. if invalidParams.Len() > 0 {
  45043. return invalidParams
  45044. }
  45045. return nil
  45046. }
  45047. // SetDryRun sets the DryRun field's value.
  45048. func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
  45049. s.DryRun = &v
  45050. return s
  45051. }
  45052. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45053. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
  45054. s.LaunchTemplateId = &v
  45055. return s
  45056. }
  45057. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45058. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
  45059. s.LaunchTemplateName = &v
  45060. return s
  45061. }
  45062. type DeleteLaunchTemplateOutput struct {
  45063. _ struct{} `type:"structure"`
  45064. // Information about the launch template.
  45065. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  45066. }
  45067. // String returns the string representation
  45068. func (s DeleteLaunchTemplateOutput) String() string {
  45069. return awsutil.Prettify(s)
  45070. }
  45071. // GoString returns the string representation
  45072. func (s DeleteLaunchTemplateOutput) GoString() string {
  45073. return s.String()
  45074. }
  45075. // SetLaunchTemplate sets the LaunchTemplate field's value.
  45076. func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
  45077. s.LaunchTemplate = v
  45078. return s
  45079. }
  45080. type DeleteLaunchTemplateVersionsInput struct {
  45081. _ struct{} `type:"structure"`
  45082. // Checks whether you have the required permissions for the action, without
  45083. // actually making the request, and provides an error response. If you have
  45084. // the required permissions, the error response is DryRunOperation. Otherwise,
  45085. // it is UnauthorizedOperation.
  45086. DryRun *bool `type:"boolean"`
  45087. // The ID of the launch template. You must specify either the launch template
  45088. // ID or launch template name in the request.
  45089. LaunchTemplateId *string `type:"string"`
  45090. // The name of the launch template. You must specify either the launch template
  45091. // ID or launch template name in the request.
  45092. LaunchTemplateName *string `min:"3" type:"string"`
  45093. // The version numbers of one or more launch template versions to delete.
  45094. //
  45095. // Versions is a required field
  45096. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
  45097. }
  45098. // String returns the string representation
  45099. func (s DeleteLaunchTemplateVersionsInput) String() string {
  45100. return awsutil.Prettify(s)
  45101. }
  45102. // GoString returns the string representation
  45103. func (s DeleteLaunchTemplateVersionsInput) GoString() string {
  45104. return s.String()
  45105. }
  45106. // Validate inspects the fields of the type to determine if they are valid.
  45107. func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
  45108. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
  45109. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  45110. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  45111. }
  45112. if s.Versions == nil {
  45113. invalidParams.Add(request.NewErrParamRequired("Versions"))
  45114. }
  45115. if invalidParams.Len() > 0 {
  45116. return invalidParams
  45117. }
  45118. return nil
  45119. }
  45120. // SetDryRun sets the DryRun field's value.
  45121. func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
  45122. s.DryRun = &v
  45123. return s
  45124. }
  45125. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45126. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
  45127. s.LaunchTemplateId = &v
  45128. return s
  45129. }
  45130. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45131. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
  45132. s.LaunchTemplateName = &v
  45133. return s
  45134. }
  45135. // SetVersions sets the Versions field's value.
  45136. func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
  45137. s.Versions = v
  45138. return s
  45139. }
  45140. type DeleteLaunchTemplateVersionsOutput struct {
  45141. _ struct{} `type:"structure"`
  45142. // Information about the launch template versions that were successfully deleted.
  45143. SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  45144. // Information about the launch template versions that could not be deleted.
  45145. UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  45146. }
  45147. // String returns the string representation
  45148. func (s DeleteLaunchTemplateVersionsOutput) String() string {
  45149. return awsutil.Prettify(s)
  45150. }
  45151. // GoString returns the string representation
  45152. func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
  45153. return s.String()
  45154. }
  45155. // SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
  45156. func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
  45157. s.SuccessfullyDeletedLaunchTemplateVersions = v
  45158. return s
  45159. }
  45160. // SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
  45161. func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
  45162. s.UnsuccessfullyDeletedLaunchTemplateVersions = v
  45163. return s
  45164. }
  45165. // Describes a launch template version that could not be deleted.
  45166. type DeleteLaunchTemplateVersionsResponseErrorItem struct {
  45167. _ struct{} `type:"structure"`
  45168. // The ID of the launch template.
  45169. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  45170. // The name of the launch template.
  45171. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  45172. // Information about the error.
  45173. ResponseError *ResponseError `locationName:"responseError" type:"structure"`
  45174. // The version number of the launch template.
  45175. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  45176. }
  45177. // String returns the string representation
  45178. func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
  45179. return awsutil.Prettify(s)
  45180. }
  45181. // GoString returns the string representation
  45182. func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
  45183. return s.String()
  45184. }
  45185. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45186. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  45187. s.LaunchTemplateId = &v
  45188. return s
  45189. }
  45190. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45191. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  45192. s.LaunchTemplateName = &v
  45193. return s
  45194. }
  45195. // SetResponseError sets the ResponseError field's value.
  45196. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
  45197. s.ResponseError = v
  45198. return s
  45199. }
  45200. // SetVersionNumber sets the VersionNumber field's value.
  45201. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
  45202. s.VersionNumber = &v
  45203. return s
  45204. }
  45205. // Describes a launch template version that was successfully deleted.
  45206. type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
  45207. _ struct{} `type:"structure"`
  45208. // The ID of the launch template.
  45209. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  45210. // The name of the launch template.
  45211. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  45212. // The version number of the launch template.
  45213. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  45214. }
  45215. // String returns the string representation
  45216. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
  45217. return awsutil.Prettify(s)
  45218. }
  45219. // GoString returns the string representation
  45220. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
  45221. return s.String()
  45222. }
  45223. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  45224. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  45225. s.LaunchTemplateId = &v
  45226. return s
  45227. }
  45228. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  45229. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  45230. s.LaunchTemplateName = &v
  45231. return s
  45232. }
  45233. // SetVersionNumber sets the VersionNumber field's value.
  45234. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  45235. s.VersionNumber = &v
  45236. return s
  45237. }
  45238. type DeleteLocalGatewayRouteInput struct {
  45239. _ struct{} `type:"structure"`
  45240. // The CIDR range for the route. This must match the CIDR for the route exactly.
  45241. //
  45242. // DestinationCidrBlock is a required field
  45243. DestinationCidrBlock *string `type:"string" required:"true"`
  45244. // Checks whether you have the required permissions for the action, without
  45245. // actually making the request, and provides an error response. If you have
  45246. // the required permissions, the error response is DryRunOperation. Otherwise,
  45247. // it is UnauthorizedOperation.
  45248. DryRun *bool `type:"boolean"`
  45249. // The ID of the local gateway route table.
  45250. //
  45251. // LocalGatewayRouteTableId is a required field
  45252. LocalGatewayRouteTableId *string `type:"string" required:"true"`
  45253. }
  45254. // String returns the string representation
  45255. func (s DeleteLocalGatewayRouteInput) String() string {
  45256. return awsutil.Prettify(s)
  45257. }
  45258. // GoString returns the string representation
  45259. func (s DeleteLocalGatewayRouteInput) GoString() string {
  45260. return s.String()
  45261. }
  45262. // Validate inspects the fields of the type to determine if they are valid.
  45263. func (s *DeleteLocalGatewayRouteInput) Validate() error {
  45264. invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
  45265. if s.DestinationCidrBlock == nil {
  45266. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  45267. }
  45268. if s.LocalGatewayRouteTableId == nil {
  45269. invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
  45270. }
  45271. if invalidParams.Len() > 0 {
  45272. return invalidParams
  45273. }
  45274. return nil
  45275. }
  45276. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  45277. func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
  45278. s.DestinationCidrBlock = &v
  45279. return s
  45280. }
  45281. // SetDryRun sets the DryRun field's value.
  45282. func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
  45283. s.DryRun = &v
  45284. return s
  45285. }
  45286. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  45287. func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
  45288. s.LocalGatewayRouteTableId = &v
  45289. return s
  45290. }
  45291. type DeleteLocalGatewayRouteOutput struct {
  45292. _ struct{} `type:"structure"`
  45293. // Information about the route.
  45294. Route *LocalGatewayRoute `locationName:"route" type:"structure"`
  45295. }
  45296. // String returns the string representation
  45297. func (s DeleteLocalGatewayRouteOutput) String() string {
  45298. return awsutil.Prettify(s)
  45299. }
  45300. // GoString returns the string representation
  45301. func (s DeleteLocalGatewayRouteOutput) GoString() string {
  45302. return s.String()
  45303. }
  45304. // SetRoute sets the Route field's value.
  45305. func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
  45306. s.Route = v
  45307. return s
  45308. }
  45309. type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
  45310. _ struct{} `type:"structure"`
  45311. // Checks whether you have the required permissions for the action, without
  45312. // actually making the request, and provides an error response. If you have
  45313. // the required permissions, the error response is DryRunOperation. Otherwise,
  45314. // it is UnauthorizedOperation.
  45315. DryRun *bool `type:"boolean"`
  45316. // The ID of the association.
  45317. //
  45318. // LocalGatewayRouteTableVpcAssociationId is a required field
  45319. LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
  45320. }
  45321. // String returns the string representation
  45322. func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
  45323. return awsutil.Prettify(s)
  45324. }
  45325. // GoString returns the string representation
  45326. func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
  45327. return s.String()
  45328. }
  45329. // Validate inspects the fields of the type to determine if they are valid.
  45330. func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
  45331. invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
  45332. if s.LocalGatewayRouteTableVpcAssociationId == nil {
  45333. invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
  45334. }
  45335. if invalidParams.Len() > 0 {
  45336. return invalidParams
  45337. }
  45338. return nil
  45339. }
  45340. // SetDryRun sets the DryRun field's value.
  45341. func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
  45342. s.DryRun = &v
  45343. return s
  45344. }
  45345. // SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
  45346. func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
  45347. s.LocalGatewayRouteTableVpcAssociationId = &v
  45348. return s
  45349. }
  45350. type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
  45351. _ struct{} `type:"structure"`
  45352. // Information about the association.
  45353. LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
  45354. }
  45355. // String returns the string representation
  45356. func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
  45357. return awsutil.Prettify(s)
  45358. }
  45359. // GoString returns the string representation
  45360. func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
  45361. return s.String()
  45362. }
  45363. // SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
  45364. func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
  45365. s.LocalGatewayRouteTableVpcAssociation = v
  45366. return s
  45367. }
  45368. type DeleteNatGatewayInput struct {
  45369. _ struct{} `type:"structure"`
  45370. // The ID of the NAT gateway.
  45371. //
  45372. // NatGatewayId is a required field
  45373. NatGatewayId *string `type:"string" required:"true"`
  45374. }
  45375. // String returns the string representation
  45376. func (s DeleteNatGatewayInput) String() string {
  45377. return awsutil.Prettify(s)
  45378. }
  45379. // GoString returns the string representation
  45380. func (s DeleteNatGatewayInput) GoString() string {
  45381. return s.String()
  45382. }
  45383. // Validate inspects the fields of the type to determine if they are valid.
  45384. func (s *DeleteNatGatewayInput) Validate() error {
  45385. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  45386. if s.NatGatewayId == nil {
  45387. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  45388. }
  45389. if invalidParams.Len() > 0 {
  45390. return invalidParams
  45391. }
  45392. return nil
  45393. }
  45394. // SetNatGatewayId sets the NatGatewayId field's value.
  45395. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  45396. s.NatGatewayId = &v
  45397. return s
  45398. }
  45399. type DeleteNatGatewayOutput struct {
  45400. _ struct{} `type:"structure"`
  45401. // The ID of the NAT gateway.
  45402. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  45403. }
  45404. // String returns the string representation
  45405. func (s DeleteNatGatewayOutput) String() string {
  45406. return awsutil.Prettify(s)
  45407. }
  45408. // GoString returns the string representation
  45409. func (s DeleteNatGatewayOutput) GoString() string {
  45410. return s.String()
  45411. }
  45412. // SetNatGatewayId sets the NatGatewayId field's value.
  45413. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  45414. s.NatGatewayId = &v
  45415. return s
  45416. }
  45417. type DeleteNetworkAclEntryInput struct {
  45418. _ struct{} `type:"structure"`
  45419. // Checks whether you have the required permissions for the action, without
  45420. // actually making the request, and provides an error response. If you have
  45421. // the required permissions, the error response is DryRunOperation. Otherwise,
  45422. // it is UnauthorizedOperation.
  45423. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45424. // Indicates whether the rule is an egress rule.
  45425. //
  45426. // Egress is a required field
  45427. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  45428. // The ID of the network ACL.
  45429. //
  45430. // NetworkAclId is a required field
  45431. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  45432. // The rule number of the entry to delete.
  45433. //
  45434. // RuleNumber is a required field
  45435. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  45436. }
  45437. // String returns the string representation
  45438. func (s DeleteNetworkAclEntryInput) String() string {
  45439. return awsutil.Prettify(s)
  45440. }
  45441. // GoString returns the string representation
  45442. func (s DeleteNetworkAclEntryInput) GoString() string {
  45443. return s.String()
  45444. }
  45445. // Validate inspects the fields of the type to determine if they are valid.
  45446. func (s *DeleteNetworkAclEntryInput) Validate() error {
  45447. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  45448. if s.Egress == nil {
  45449. invalidParams.Add(request.NewErrParamRequired("Egress"))
  45450. }
  45451. if s.NetworkAclId == nil {
  45452. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  45453. }
  45454. if s.RuleNumber == nil {
  45455. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  45456. }
  45457. if invalidParams.Len() > 0 {
  45458. return invalidParams
  45459. }
  45460. return nil
  45461. }
  45462. // SetDryRun sets the DryRun field's value.
  45463. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  45464. s.DryRun = &v
  45465. return s
  45466. }
  45467. // SetEgress sets the Egress field's value.
  45468. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  45469. s.Egress = &v
  45470. return s
  45471. }
  45472. // SetNetworkAclId sets the NetworkAclId field's value.
  45473. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  45474. s.NetworkAclId = &v
  45475. return s
  45476. }
  45477. // SetRuleNumber sets the RuleNumber field's value.
  45478. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  45479. s.RuleNumber = &v
  45480. return s
  45481. }
  45482. type DeleteNetworkAclEntryOutput struct {
  45483. _ struct{} `type:"structure"`
  45484. }
  45485. // String returns the string representation
  45486. func (s DeleteNetworkAclEntryOutput) String() string {
  45487. return awsutil.Prettify(s)
  45488. }
  45489. // GoString returns the string representation
  45490. func (s DeleteNetworkAclEntryOutput) GoString() string {
  45491. return s.String()
  45492. }
  45493. type DeleteNetworkAclInput struct {
  45494. _ struct{} `type:"structure"`
  45495. // Checks whether you have the required permissions for the action, without
  45496. // actually making the request, and provides an error response. If you have
  45497. // the required permissions, the error response is DryRunOperation. Otherwise,
  45498. // it is UnauthorizedOperation.
  45499. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45500. // The ID of the network ACL.
  45501. //
  45502. // NetworkAclId is a required field
  45503. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  45504. }
  45505. // String returns the string representation
  45506. func (s DeleteNetworkAclInput) String() string {
  45507. return awsutil.Prettify(s)
  45508. }
  45509. // GoString returns the string representation
  45510. func (s DeleteNetworkAclInput) GoString() string {
  45511. return s.String()
  45512. }
  45513. // Validate inspects the fields of the type to determine if they are valid.
  45514. func (s *DeleteNetworkAclInput) Validate() error {
  45515. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  45516. if s.NetworkAclId == nil {
  45517. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  45518. }
  45519. if invalidParams.Len() > 0 {
  45520. return invalidParams
  45521. }
  45522. return nil
  45523. }
  45524. // SetDryRun sets the DryRun field's value.
  45525. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  45526. s.DryRun = &v
  45527. return s
  45528. }
  45529. // SetNetworkAclId sets the NetworkAclId field's value.
  45530. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  45531. s.NetworkAclId = &v
  45532. return s
  45533. }
  45534. type DeleteNetworkAclOutput struct {
  45535. _ struct{} `type:"structure"`
  45536. }
  45537. // String returns the string representation
  45538. func (s DeleteNetworkAclOutput) String() string {
  45539. return awsutil.Prettify(s)
  45540. }
  45541. // GoString returns the string representation
  45542. func (s DeleteNetworkAclOutput) GoString() string {
  45543. return s.String()
  45544. }
  45545. // Contains the parameters for DeleteNetworkInterface.
  45546. type DeleteNetworkInterfaceInput struct {
  45547. _ struct{} `type:"structure"`
  45548. // Checks whether you have the required permissions for the action, without
  45549. // actually making the request, and provides an error response. If you have
  45550. // the required permissions, the error response is DryRunOperation. Otherwise,
  45551. // it is UnauthorizedOperation.
  45552. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45553. // The ID of the network interface.
  45554. //
  45555. // NetworkInterfaceId is a required field
  45556. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  45557. }
  45558. // String returns the string representation
  45559. func (s DeleteNetworkInterfaceInput) String() string {
  45560. return awsutil.Prettify(s)
  45561. }
  45562. // GoString returns the string representation
  45563. func (s DeleteNetworkInterfaceInput) GoString() string {
  45564. return s.String()
  45565. }
  45566. // Validate inspects the fields of the type to determine if they are valid.
  45567. func (s *DeleteNetworkInterfaceInput) Validate() error {
  45568. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  45569. if s.NetworkInterfaceId == nil {
  45570. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  45571. }
  45572. if invalidParams.Len() > 0 {
  45573. return invalidParams
  45574. }
  45575. return nil
  45576. }
  45577. // SetDryRun sets the DryRun field's value.
  45578. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  45579. s.DryRun = &v
  45580. return s
  45581. }
  45582. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  45583. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  45584. s.NetworkInterfaceId = &v
  45585. return s
  45586. }
  45587. type DeleteNetworkInterfaceOutput struct {
  45588. _ struct{} `type:"structure"`
  45589. }
  45590. // String returns the string representation
  45591. func (s DeleteNetworkInterfaceOutput) String() string {
  45592. return awsutil.Prettify(s)
  45593. }
  45594. // GoString returns the string representation
  45595. func (s DeleteNetworkInterfaceOutput) GoString() string {
  45596. return s.String()
  45597. }
  45598. // Contains the parameters for DeleteNetworkInterfacePermission.
  45599. type DeleteNetworkInterfacePermissionInput struct {
  45600. _ struct{} `type:"structure"`
  45601. // Checks whether you have the required permissions for the action, without
  45602. // actually making the request, and provides an error response. If you have
  45603. // the required permissions, the error response is DryRunOperation. Otherwise,
  45604. // it is UnauthorizedOperation.
  45605. DryRun *bool `type:"boolean"`
  45606. // Specify true to remove the permission even if the network interface is attached
  45607. // to an instance.
  45608. Force *bool `type:"boolean"`
  45609. // The ID of the network interface permission.
  45610. //
  45611. // NetworkInterfacePermissionId is a required field
  45612. NetworkInterfacePermissionId *string `type:"string" required:"true"`
  45613. }
  45614. // String returns the string representation
  45615. func (s DeleteNetworkInterfacePermissionInput) String() string {
  45616. return awsutil.Prettify(s)
  45617. }
  45618. // GoString returns the string representation
  45619. func (s DeleteNetworkInterfacePermissionInput) GoString() string {
  45620. return s.String()
  45621. }
  45622. // Validate inspects the fields of the type to determine if they are valid.
  45623. func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
  45624. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
  45625. if s.NetworkInterfacePermissionId == nil {
  45626. invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
  45627. }
  45628. if invalidParams.Len() > 0 {
  45629. return invalidParams
  45630. }
  45631. return nil
  45632. }
  45633. // SetDryRun sets the DryRun field's value.
  45634. func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
  45635. s.DryRun = &v
  45636. return s
  45637. }
  45638. // SetForce sets the Force field's value.
  45639. func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
  45640. s.Force = &v
  45641. return s
  45642. }
  45643. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  45644. func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
  45645. s.NetworkInterfacePermissionId = &v
  45646. return s
  45647. }
  45648. // Contains the output for DeleteNetworkInterfacePermission.
  45649. type DeleteNetworkInterfacePermissionOutput struct {
  45650. _ struct{} `type:"structure"`
  45651. // Returns true if the request succeeds, otherwise returns an error.
  45652. Return *bool `locationName:"return" type:"boolean"`
  45653. }
  45654. // String returns the string representation
  45655. func (s DeleteNetworkInterfacePermissionOutput) String() string {
  45656. return awsutil.Prettify(s)
  45657. }
  45658. // GoString returns the string representation
  45659. func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
  45660. return s.String()
  45661. }
  45662. // SetReturn sets the Return field's value.
  45663. func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
  45664. s.Return = &v
  45665. return s
  45666. }
  45667. type DeletePlacementGroupInput struct {
  45668. _ struct{} `type:"structure"`
  45669. // Checks whether you have the required permissions for the action, without
  45670. // actually making the request, and provides an error response. If you have
  45671. // the required permissions, the error response is DryRunOperation. Otherwise,
  45672. // it is UnauthorizedOperation.
  45673. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45674. // The name of the placement group.
  45675. //
  45676. // GroupName is a required field
  45677. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  45678. }
  45679. // String returns the string representation
  45680. func (s DeletePlacementGroupInput) String() string {
  45681. return awsutil.Prettify(s)
  45682. }
  45683. // GoString returns the string representation
  45684. func (s DeletePlacementGroupInput) GoString() string {
  45685. return s.String()
  45686. }
  45687. // Validate inspects the fields of the type to determine if they are valid.
  45688. func (s *DeletePlacementGroupInput) Validate() error {
  45689. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  45690. if s.GroupName == nil {
  45691. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  45692. }
  45693. if invalidParams.Len() > 0 {
  45694. return invalidParams
  45695. }
  45696. return nil
  45697. }
  45698. // SetDryRun sets the DryRun field's value.
  45699. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  45700. s.DryRun = &v
  45701. return s
  45702. }
  45703. // SetGroupName sets the GroupName field's value.
  45704. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  45705. s.GroupName = &v
  45706. return s
  45707. }
  45708. type DeletePlacementGroupOutput struct {
  45709. _ struct{} `type:"structure"`
  45710. }
  45711. // String returns the string representation
  45712. func (s DeletePlacementGroupOutput) String() string {
  45713. return awsutil.Prettify(s)
  45714. }
  45715. // GoString returns the string representation
  45716. func (s DeletePlacementGroupOutput) GoString() string {
  45717. return s.String()
  45718. }
  45719. // Describes the error for a Reserved Instance whose queued purchase could not
  45720. // be deleted.
  45721. type DeleteQueuedReservedInstancesError struct {
  45722. _ struct{} `type:"structure"`
  45723. // The error code.
  45724. Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"`
  45725. // The error message.
  45726. Message *string `locationName:"message" type:"string"`
  45727. }
  45728. // String returns the string representation
  45729. func (s DeleteQueuedReservedInstancesError) String() string {
  45730. return awsutil.Prettify(s)
  45731. }
  45732. // GoString returns the string representation
  45733. func (s DeleteQueuedReservedInstancesError) GoString() string {
  45734. return s.String()
  45735. }
  45736. // SetCode sets the Code field's value.
  45737. func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError {
  45738. s.Code = &v
  45739. return s
  45740. }
  45741. // SetMessage sets the Message field's value.
  45742. func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError {
  45743. s.Message = &v
  45744. return s
  45745. }
  45746. type DeleteQueuedReservedInstancesInput struct {
  45747. _ struct{} `type:"structure"`
  45748. // Checks whether you have the required permissions for the action, without
  45749. // actually making the request, and provides an error response. If you have
  45750. // the required permissions, the error response is DryRunOperation. Otherwise,
  45751. // it is UnauthorizedOperation.
  45752. DryRun *bool `type:"boolean"`
  45753. // The IDs of the Reserved Instances.
  45754. //
  45755. // ReservedInstancesIds is a required field
  45756. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"`
  45757. }
  45758. // String returns the string representation
  45759. func (s DeleteQueuedReservedInstancesInput) String() string {
  45760. return awsutil.Prettify(s)
  45761. }
  45762. // GoString returns the string representation
  45763. func (s DeleteQueuedReservedInstancesInput) GoString() string {
  45764. return s.String()
  45765. }
  45766. // Validate inspects the fields of the type to determine if they are valid.
  45767. func (s *DeleteQueuedReservedInstancesInput) Validate() error {
  45768. invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"}
  45769. if s.ReservedInstancesIds == nil {
  45770. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  45771. }
  45772. if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 {
  45773. invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1))
  45774. }
  45775. if invalidParams.Len() > 0 {
  45776. return invalidParams
  45777. }
  45778. return nil
  45779. }
  45780. // SetDryRun sets the DryRun field's value.
  45781. func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput {
  45782. s.DryRun = &v
  45783. return s
  45784. }
  45785. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  45786. func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput {
  45787. s.ReservedInstancesIds = v
  45788. return s
  45789. }
  45790. type DeleteQueuedReservedInstancesOutput struct {
  45791. _ struct{} `type:"structure"`
  45792. // Information about the queued purchases that could not be deleted.
  45793. FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
  45794. // Information about the queued purchases that were successfully deleted.
  45795. SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
  45796. }
  45797. // String returns the string representation
  45798. func (s DeleteQueuedReservedInstancesOutput) String() string {
  45799. return awsutil.Prettify(s)
  45800. }
  45801. // GoString returns the string representation
  45802. func (s DeleteQueuedReservedInstancesOutput) GoString() string {
  45803. return s.String()
  45804. }
  45805. // SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value.
  45806. func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
  45807. s.FailedQueuedPurchaseDeletions = v
  45808. return s
  45809. }
  45810. // SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value.
  45811. func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
  45812. s.SuccessfulQueuedPurchaseDeletions = v
  45813. return s
  45814. }
  45815. type DeleteRouteInput struct {
  45816. _ struct{} `type:"structure"`
  45817. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  45818. // for the route exactly.
  45819. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  45820. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  45821. // for the route exactly.
  45822. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  45823. // Checks whether you have the required permissions for the action, without
  45824. // actually making the request, and provides an error response. If you have
  45825. // the required permissions, the error response is DryRunOperation. Otherwise,
  45826. // it is UnauthorizedOperation.
  45827. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45828. // The ID of the route table.
  45829. //
  45830. // RouteTableId is a required field
  45831. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  45832. }
  45833. // String returns the string representation
  45834. func (s DeleteRouteInput) String() string {
  45835. return awsutil.Prettify(s)
  45836. }
  45837. // GoString returns the string representation
  45838. func (s DeleteRouteInput) GoString() string {
  45839. return s.String()
  45840. }
  45841. // Validate inspects the fields of the type to determine if they are valid.
  45842. func (s *DeleteRouteInput) Validate() error {
  45843. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  45844. if s.RouteTableId == nil {
  45845. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  45846. }
  45847. if invalidParams.Len() > 0 {
  45848. return invalidParams
  45849. }
  45850. return nil
  45851. }
  45852. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  45853. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  45854. s.DestinationCidrBlock = &v
  45855. return s
  45856. }
  45857. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  45858. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  45859. s.DestinationIpv6CidrBlock = &v
  45860. return s
  45861. }
  45862. // SetDryRun sets the DryRun field's value.
  45863. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  45864. s.DryRun = &v
  45865. return s
  45866. }
  45867. // SetRouteTableId sets the RouteTableId field's value.
  45868. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  45869. s.RouteTableId = &v
  45870. return s
  45871. }
  45872. type DeleteRouteOutput struct {
  45873. _ struct{} `type:"structure"`
  45874. }
  45875. // String returns the string representation
  45876. func (s DeleteRouteOutput) String() string {
  45877. return awsutil.Prettify(s)
  45878. }
  45879. // GoString returns the string representation
  45880. func (s DeleteRouteOutput) GoString() string {
  45881. return s.String()
  45882. }
  45883. type DeleteRouteTableInput struct {
  45884. _ struct{} `type:"structure"`
  45885. // Checks whether you have the required permissions for the action, without
  45886. // actually making the request, and provides an error response. If you have
  45887. // the required permissions, the error response is DryRunOperation. Otherwise,
  45888. // it is UnauthorizedOperation.
  45889. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45890. // The ID of the route table.
  45891. //
  45892. // RouteTableId is a required field
  45893. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  45894. }
  45895. // String returns the string representation
  45896. func (s DeleteRouteTableInput) String() string {
  45897. return awsutil.Prettify(s)
  45898. }
  45899. // GoString returns the string representation
  45900. func (s DeleteRouteTableInput) GoString() string {
  45901. return s.String()
  45902. }
  45903. // Validate inspects the fields of the type to determine if they are valid.
  45904. func (s *DeleteRouteTableInput) Validate() error {
  45905. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  45906. if s.RouteTableId == nil {
  45907. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  45908. }
  45909. if invalidParams.Len() > 0 {
  45910. return invalidParams
  45911. }
  45912. return nil
  45913. }
  45914. // SetDryRun sets the DryRun field's value.
  45915. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  45916. s.DryRun = &v
  45917. return s
  45918. }
  45919. // SetRouteTableId sets the RouteTableId field's value.
  45920. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  45921. s.RouteTableId = &v
  45922. return s
  45923. }
  45924. type DeleteRouteTableOutput struct {
  45925. _ struct{} `type:"structure"`
  45926. }
  45927. // String returns the string representation
  45928. func (s DeleteRouteTableOutput) String() string {
  45929. return awsutil.Prettify(s)
  45930. }
  45931. // GoString returns the string representation
  45932. func (s DeleteRouteTableOutput) GoString() string {
  45933. return s.String()
  45934. }
  45935. type DeleteSecurityGroupInput struct {
  45936. _ struct{} `type:"structure"`
  45937. // Checks whether you have the required permissions for the action, without
  45938. // actually making the request, and provides an error response. If you have
  45939. // the required permissions, the error response is DryRunOperation. Otherwise,
  45940. // it is UnauthorizedOperation.
  45941. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45942. // The ID of the security group. Required for a nondefault VPC.
  45943. GroupId *string `type:"string"`
  45944. // [EC2-Classic, default VPC] The name of the security group. You can specify
  45945. // either the security group name or the security group ID.
  45946. GroupName *string `type:"string"`
  45947. }
  45948. // String returns the string representation
  45949. func (s DeleteSecurityGroupInput) String() string {
  45950. return awsutil.Prettify(s)
  45951. }
  45952. // GoString returns the string representation
  45953. func (s DeleteSecurityGroupInput) GoString() string {
  45954. return s.String()
  45955. }
  45956. // SetDryRun sets the DryRun field's value.
  45957. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  45958. s.DryRun = &v
  45959. return s
  45960. }
  45961. // SetGroupId sets the GroupId field's value.
  45962. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  45963. s.GroupId = &v
  45964. return s
  45965. }
  45966. // SetGroupName sets the GroupName field's value.
  45967. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  45968. s.GroupName = &v
  45969. return s
  45970. }
  45971. type DeleteSecurityGroupOutput struct {
  45972. _ struct{} `type:"structure"`
  45973. }
  45974. // String returns the string representation
  45975. func (s DeleteSecurityGroupOutput) String() string {
  45976. return awsutil.Prettify(s)
  45977. }
  45978. // GoString returns the string representation
  45979. func (s DeleteSecurityGroupOutput) GoString() string {
  45980. return s.String()
  45981. }
  45982. type DeleteSnapshotInput struct {
  45983. _ struct{} `type:"structure"`
  45984. // Checks whether you have the required permissions for the action, without
  45985. // actually making the request, and provides an error response. If you have
  45986. // the required permissions, the error response is DryRunOperation. Otherwise,
  45987. // it is UnauthorizedOperation.
  45988. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45989. // The ID of the EBS snapshot.
  45990. //
  45991. // SnapshotId is a required field
  45992. SnapshotId *string `type:"string" required:"true"`
  45993. }
  45994. // String returns the string representation
  45995. func (s DeleteSnapshotInput) String() string {
  45996. return awsutil.Prettify(s)
  45997. }
  45998. // GoString returns the string representation
  45999. func (s DeleteSnapshotInput) GoString() string {
  46000. return s.String()
  46001. }
  46002. // Validate inspects the fields of the type to determine if they are valid.
  46003. func (s *DeleteSnapshotInput) Validate() error {
  46004. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  46005. if s.SnapshotId == nil {
  46006. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  46007. }
  46008. if invalidParams.Len() > 0 {
  46009. return invalidParams
  46010. }
  46011. return nil
  46012. }
  46013. // SetDryRun sets the DryRun field's value.
  46014. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  46015. s.DryRun = &v
  46016. return s
  46017. }
  46018. // SetSnapshotId sets the SnapshotId field's value.
  46019. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  46020. s.SnapshotId = &v
  46021. return s
  46022. }
  46023. type DeleteSnapshotOutput struct {
  46024. _ struct{} `type:"structure"`
  46025. }
  46026. // String returns the string representation
  46027. func (s DeleteSnapshotOutput) String() string {
  46028. return awsutil.Prettify(s)
  46029. }
  46030. // GoString returns the string representation
  46031. func (s DeleteSnapshotOutput) GoString() string {
  46032. return s.String()
  46033. }
  46034. // Contains the parameters for DeleteSpotDatafeedSubscription.
  46035. type DeleteSpotDatafeedSubscriptionInput struct {
  46036. _ struct{} `type:"structure"`
  46037. // Checks whether you have the required permissions for the action, without
  46038. // actually making the request, and provides an error response. If you have
  46039. // the required permissions, the error response is DryRunOperation. Otherwise,
  46040. // it is UnauthorizedOperation.
  46041. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46042. }
  46043. // String returns the string representation
  46044. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  46045. return awsutil.Prettify(s)
  46046. }
  46047. // GoString returns the string representation
  46048. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  46049. return s.String()
  46050. }
  46051. // SetDryRun sets the DryRun field's value.
  46052. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  46053. s.DryRun = &v
  46054. return s
  46055. }
  46056. type DeleteSpotDatafeedSubscriptionOutput struct {
  46057. _ struct{} `type:"structure"`
  46058. }
  46059. // String returns the string representation
  46060. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  46061. return awsutil.Prettify(s)
  46062. }
  46063. // GoString returns the string representation
  46064. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  46065. return s.String()
  46066. }
  46067. type DeleteSubnetInput struct {
  46068. _ struct{} `type:"structure"`
  46069. // Checks whether you have the required permissions for the action, without
  46070. // actually making the request, and provides an error response. If you have
  46071. // the required permissions, the error response is DryRunOperation. Otherwise,
  46072. // it is UnauthorizedOperation.
  46073. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46074. // The ID of the subnet.
  46075. //
  46076. // SubnetId is a required field
  46077. SubnetId *string `type:"string" required:"true"`
  46078. }
  46079. // String returns the string representation
  46080. func (s DeleteSubnetInput) String() string {
  46081. return awsutil.Prettify(s)
  46082. }
  46083. // GoString returns the string representation
  46084. func (s DeleteSubnetInput) GoString() string {
  46085. return s.String()
  46086. }
  46087. // Validate inspects the fields of the type to determine if they are valid.
  46088. func (s *DeleteSubnetInput) Validate() error {
  46089. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  46090. if s.SubnetId == nil {
  46091. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  46092. }
  46093. if invalidParams.Len() > 0 {
  46094. return invalidParams
  46095. }
  46096. return nil
  46097. }
  46098. // SetDryRun sets the DryRun field's value.
  46099. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  46100. s.DryRun = &v
  46101. return s
  46102. }
  46103. // SetSubnetId sets the SubnetId field's value.
  46104. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  46105. s.SubnetId = &v
  46106. return s
  46107. }
  46108. type DeleteSubnetOutput struct {
  46109. _ struct{} `type:"structure"`
  46110. }
  46111. // String returns the string representation
  46112. func (s DeleteSubnetOutput) String() string {
  46113. return awsutil.Prettify(s)
  46114. }
  46115. // GoString returns the string representation
  46116. func (s DeleteSubnetOutput) GoString() string {
  46117. return s.String()
  46118. }
  46119. type DeleteTagsInput struct {
  46120. _ struct{} `type:"structure"`
  46121. // Checks whether you have the required permissions for the action, without
  46122. // actually making the request, and provides an error response. If you have
  46123. // the required permissions, the error response is DryRunOperation. Otherwise,
  46124. // it is UnauthorizedOperation.
  46125. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46126. // The IDs of the resources, separated by spaces.
  46127. //
  46128. // Constraints: Up to 1000 resource IDs. We recommend breaking up this request
  46129. // into smaller batches.
  46130. //
  46131. // Resources is a required field
  46132. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  46133. // The tags to delete. Specify a tag key and an optional tag value to delete
  46134. // specific tags. If you specify a tag key without a tag value, we delete any
  46135. // tag with this key regardless of its value. If you specify a tag key with
  46136. // an empty string as the tag value, we delete the tag only if its value is
  46137. // an empty string.
  46138. //
  46139. // If you omit this parameter, we delete all user-defined tags for the specified
  46140. // resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
  46141. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  46142. }
  46143. // String returns the string representation
  46144. func (s DeleteTagsInput) String() string {
  46145. return awsutil.Prettify(s)
  46146. }
  46147. // GoString returns the string representation
  46148. func (s DeleteTagsInput) GoString() string {
  46149. return s.String()
  46150. }
  46151. // Validate inspects the fields of the type to determine if they are valid.
  46152. func (s *DeleteTagsInput) Validate() error {
  46153. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  46154. if s.Resources == nil {
  46155. invalidParams.Add(request.NewErrParamRequired("Resources"))
  46156. }
  46157. if invalidParams.Len() > 0 {
  46158. return invalidParams
  46159. }
  46160. return nil
  46161. }
  46162. // SetDryRun sets the DryRun field's value.
  46163. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  46164. s.DryRun = &v
  46165. return s
  46166. }
  46167. // SetResources sets the Resources field's value.
  46168. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  46169. s.Resources = v
  46170. return s
  46171. }
  46172. // SetTags sets the Tags field's value.
  46173. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  46174. s.Tags = v
  46175. return s
  46176. }
  46177. type DeleteTagsOutput struct {
  46178. _ struct{} `type:"structure"`
  46179. }
  46180. // String returns the string representation
  46181. func (s DeleteTagsOutput) String() string {
  46182. return awsutil.Prettify(s)
  46183. }
  46184. // GoString returns the string representation
  46185. func (s DeleteTagsOutput) GoString() string {
  46186. return s.String()
  46187. }
  46188. type DeleteTrafficMirrorFilterInput struct {
  46189. _ struct{} `type:"structure"`
  46190. // Checks whether you have the required permissions for the action, without
  46191. // actually making the request, and provides an error response. If you have
  46192. // the required permissions, the error response is DryRunOperation. Otherwise,
  46193. // it is UnauthorizedOperation.
  46194. DryRun *bool `type:"boolean"`
  46195. // The ID of the Traffic Mirror filter.
  46196. //
  46197. // TrafficMirrorFilterId is a required field
  46198. TrafficMirrorFilterId *string `type:"string" required:"true"`
  46199. }
  46200. // String returns the string representation
  46201. func (s DeleteTrafficMirrorFilterInput) String() string {
  46202. return awsutil.Prettify(s)
  46203. }
  46204. // GoString returns the string representation
  46205. func (s DeleteTrafficMirrorFilterInput) GoString() string {
  46206. return s.String()
  46207. }
  46208. // Validate inspects the fields of the type to determine if they are valid.
  46209. func (s *DeleteTrafficMirrorFilterInput) Validate() error {
  46210. invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"}
  46211. if s.TrafficMirrorFilterId == nil {
  46212. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
  46213. }
  46214. if invalidParams.Len() > 0 {
  46215. return invalidParams
  46216. }
  46217. return nil
  46218. }
  46219. // SetDryRun sets the DryRun field's value.
  46220. func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput {
  46221. s.DryRun = &v
  46222. return s
  46223. }
  46224. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  46225. func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput {
  46226. s.TrafficMirrorFilterId = &v
  46227. return s
  46228. }
  46229. type DeleteTrafficMirrorFilterOutput struct {
  46230. _ struct{} `type:"structure"`
  46231. // The ID of the Traffic Mirror filter.
  46232. TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
  46233. }
  46234. // String returns the string representation
  46235. func (s DeleteTrafficMirrorFilterOutput) String() string {
  46236. return awsutil.Prettify(s)
  46237. }
  46238. // GoString returns the string representation
  46239. func (s DeleteTrafficMirrorFilterOutput) GoString() string {
  46240. return s.String()
  46241. }
  46242. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  46243. func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput {
  46244. s.TrafficMirrorFilterId = &v
  46245. return s
  46246. }
  46247. type DeleteTrafficMirrorFilterRuleInput struct {
  46248. _ struct{} `type:"structure"`
  46249. // Checks whether you have the required permissions for the action, without
  46250. // actually making the request, and provides an error response. If you have
  46251. // the required permissions, the error response is DryRunOperation. Otherwise,
  46252. // it is UnauthorizedOperation.
  46253. DryRun *bool `type:"boolean"`
  46254. // The ID of the Traffic Mirror rule.
  46255. //
  46256. // TrafficMirrorFilterRuleId is a required field
  46257. TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
  46258. }
  46259. // String returns the string representation
  46260. func (s DeleteTrafficMirrorFilterRuleInput) String() string {
  46261. return awsutil.Prettify(s)
  46262. }
  46263. // GoString returns the string representation
  46264. func (s DeleteTrafficMirrorFilterRuleInput) GoString() string {
  46265. return s.String()
  46266. }
  46267. // Validate inspects the fields of the type to determine if they are valid.
  46268. func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error {
  46269. invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"}
  46270. if s.TrafficMirrorFilterRuleId == nil {
  46271. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
  46272. }
  46273. if invalidParams.Len() > 0 {
  46274. return invalidParams
  46275. }
  46276. return nil
  46277. }
  46278. // SetDryRun sets the DryRun field's value.
  46279. func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput {
  46280. s.DryRun = &v
  46281. return s
  46282. }
  46283. // SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
  46284. func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput {
  46285. s.TrafficMirrorFilterRuleId = &v
  46286. return s
  46287. }
  46288. type DeleteTrafficMirrorFilterRuleOutput struct {
  46289. _ struct{} `type:"structure"`
  46290. // The ID of the deleted Traffic Mirror rule.
  46291. TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
  46292. }
  46293. // String returns the string representation
  46294. func (s DeleteTrafficMirrorFilterRuleOutput) String() string {
  46295. return awsutil.Prettify(s)
  46296. }
  46297. // GoString returns the string representation
  46298. func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string {
  46299. return s.String()
  46300. }
  46301. // SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
  46302. func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput {
  46303. s.TrafficMirrorFilterRuleId = &v
  46304. return s
  46305. }
  46306. type DeleteTrafficMirrorSessionInput struct {
  46307. _ struct{} `type:"structure"`
  46308. // Checks whether you have the required permissions for the action, without
  46309. // actually making the request, and provides an error response. If you have
  46310. // the required permissions, the error response is DryRunOperation. Otherwise,
  46311. // it is UnauthorizedOperation.
  46312. DryRun *bool `type:"boolean"`
  46313. // The ID of the Traffic Mirror session.
  46314. //
  46315. // TrafficMirrorSessionId is a required field
  46316. TrafficMirrorSessionId *string `type:"string" required:"true"`
  46317. }
  46318. // String returns the string representation
  46319. func (s DeleteTrafficMirrorSessionInput) String() string {
  46320. return awsutil.Prettify(s)
  46321. }
  46322. // GoString returns the string representation
  46323. func (s DeleteTrafficMirrorSessionInput) GoString() string {
  46324. return s.String()
  46325. }
  46326. // Validate inspects the fields of the type to determine if they are valid.
  46327. func (s *DeleteTrafficMirrorSessionInput) Validate() error {
  46328. invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"}
  46329. if s.TrafficMirrorSessionId == nil {
  46330. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
  46331. }
  46332. if invalidParams.Len() > 0 {
  46333. return invalidParams
  46334. }
  46335. return nil
  46336. }
  46337. // SetDryRun sets the DryRun field's value.
  46338. func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput {
  46339. s.DryRun = &v
  46340. return s
  46341. }
  46342. // SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
  46343. func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput {
  46344. s.TrafficMirrorSessionId = &v
  46345. return s
  46346. }
  46347. type DeleteTrafficMirrorSessionOutput struct {
  46348. _ struct{} `type:"structure"`
  46349. // The ID of the deleted Traffic Mirror session.
  46350. TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
  46351. }
  46352. // String returns the string representation
  46353. func (s DeleteTrafficMirrorSessionOutput) String() string {
  46354. return awsutil.Prettify(s)
  46355. }
  46356. // GoString returns the string representation
  46357. func (s DeleteTrafficMirrorSessionOutput) GoString() string {
  46358. return s.String()
  46359. }
  46360. // SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
  46361. func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput {
  46362. s.TrafficMirrorSessionId = &v
  46363. return s
  46364. }
  46365. type DeleteTrafficMirrorTargetInput struct {
  46366. _ struct{} `type:"structure"`
  46367. // Checks whether you have the required permissions for the action, without
  46368. // actually making the request, and provides an error response. If you have
  46369. // the required permissions, the error response is DryRunOperation. Otherwise,
  46370. // it is UnauthorizedOperation.
  46371. DryRun *bool `type:"boolean"`
  46372. // The ID of the Traffic Mirror target.
  46373. //
  46374. // TrafficMirrorTargetId is a required field
  46375. TrafficMirrorTargetId *string `type:"string" required:"true"`
  46376. }
  46377. // String returns the string representation
  46378. func (s DeleteTrafficMirrorTargetInput) String() string {
  46379. return awsutil.Prettify(s)
  46380. }
  46381. // GoString returns the string representation
  46382. func (s DeleteTrafficMirrorTargetInput) GoString() string {
  46383. return s.String()
  46384. }
  46385. // Validate inspects the fields of the type to determine if they are valid.
  46386. func (s *DeleteTrafficMirrorTargetInput) Validate() error {
  46387. invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"}
  46388. if s.TrafficMirrorTargetId == nil {
  46389. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
  46390. }
  46391. if invalidParams.Len() > 0 {
  46392. return invalidParams
  46393. }
  46394. return nil
  46395. }
  46396. // SetDryRun sets the DryRun field's value.
  46397. func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput {
  46398. s.DryRun = &v
  46399. return s
  46400. }
  46401. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  46402. func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput {
  46403. s.TrafficMirrorTargetId = &v
  46404. return s
  46405. }
  46406. type DeleteTrafficMirrorTargetOutput struct {
  46407. _ struct{} `type:"structure"`
  46408. // The ID of the deleted Traffic Mirror target.
  46409. TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
  46410. }
  46411. // String returns the string representation
  46412. func (s DeleteTrafficMirrorTargetOutput) String() string {
  46413. return awsutil.Prettify(s)
  46414. }
  46415. // GoString returns the string representation
  46416. func (s DeleteTrafficMirrorTargetOutput) GoString() string {
  46417. return s.String()
  46418. }
  46419. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  46420. func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput {
  46421. s.TrafficMirrorTargetId = &v
  46422. return s
  46423. }
  46424. type DeleteTransitGatewayInput struct {
  46425. _ struct{} `type:"structure"`
  46426. // Checks whether you have the required permissions for the action, without
  46427. // actually making the request, and provides an error response. If you have
  46428. // the required permissions, the error response is DryRunOperation. Otherwise,
  46429. // it is UnauthorizedOperation.
  46430. DryRun *bool `type:"boolean"`
  46431. // The ID of the transit gateway.
  46432. //
  46433. // TransitGatewayId is a required field
  46434. TransitGatewayId *string `type:"string" required:"true"`
  46435. }
  46436. // String returns the string representation
  46437. func (s DeleteTransitGatewayInput) String() string {
  46438. return awsutil.Prettify(s)
  46439. }
  46440. // GoString returns the string representation
  46441. func (s DeleteTransitGatewayInput) GoString() string {
  46442. return s.String()
  46443. }
  46444. // Validate inspects the fields of the type to determine if they are valid.
  46445. func (s *DeleteTransitGatewayInput) Validate() error {
  46446. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
  46447. if s.TransitGatewayId == nil {
  46448. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  46449. }
  46450. if invalidParams.Len() > 0 {
  46451. return invalidParams
  46452. }
  46453. return nil
  46454. }
  46455. // SetDryRun sets the DryRun field's value.
  46456. func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
  46457. s.DryRun = &v
  46458. return s
  46459. }
  46460. // SetTransitGatewayId sets the TransitGatewayId field's value.
  46461. func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
  46462. s.TransitGatewayId = &v
  46463. return s
  46464. }
  46465. type DeleteTransitGatewayMulticastDomainInput struct {
  46466. _ struct{} `type:"structure"`
  46467. // Checks whether you have the required permissions for the action, without
  46468. // actually making the request, and provides an error response. If you have
  46469. // the required permissions, the error response is DryRunOperation. Otherwise,
  46470. // it is UnauthorizedOperation.
  46471. DryRun *bool `type:"boolean"`
  46472. // The ID of the transit gateway multicast domain.
  46473. //
  46474. // TransitGatewayMulticastDomainId is a required field
  46475. TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
  46476. }
  46477. // String returns the string representation
  46478. func (s DeleteTransitGatewayMulticastDomainInput) String() string {
  46479. return awsutil.Prettify(s)
  46480. }
  46481. // GoString returns the string representation
  46482. func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
  46483. return s.String()
  46484. }
  46485. // Validate inspects the fields of the type to determine if they are valid.
  46486. func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
  46487. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
  46488. if s.TransitGatewayMulticastDomainId == nil {
  46489. invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
  46490. }
  46491. if invalidParams.Len() > 0 {
  46492. return invalidParams
  46493. }
  46494. return nil
  46495. }
  46496. // SetDryRun sets the DryRun field's value.
  46497. func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
  46498. s.DryRun = &v
  46499. return s
  46500. }
  46501. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  46502. func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
  46503. s.TransitGatewayMulticastDomainId = &v
  46504. return s
  46505. }
  46506. type DeleteTransitGatewayMulticastDomainOutput struct {
  46507. _ struct{} `type:"structure"`
  46508. // Information about the deleted transit gateway multicast domain.
  46509. TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
  46510. }
  46511. // String returns the string representation
  46512. func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
  46513. return awsutil.Prettify(s)
  46514. }
  46515. // GoString returns the string representation
  46516. func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
  46517. return s.String()
  46518. }
  46519. // SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
  46520. func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
  46521. s.TransitGatewayMulticastDomain = v
  46522. return s
  46523. }
  46524. type DeleteTransitGatewayOutput struct {
  46525. _ struct{} `type:"structure"`
  46526. // Information about the deleted transit gateway.
  46527. TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
  46528. }
  46529. // String returns the string representation
  46530. func (s DeleteTransitGatewayOutput) String() string {
  46531. return awsutil.Prettify(s)
  46532. }
  46533. // GoString returns the string representation
  46534. func (s DeleteTransitGatewayOutput) GoString() string {
  46535. return s.String()
  46536. }
  46537. // SetTransitGateway sets the TransitGateway field's value.
  46538. func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
  46539. s.TransitGateway = v
  46540. return s
  46541. }
  46542. type DeleteTransitGatewayPeeringAttachmentInput struct {
  46543. _ struct{} `type:"structure"`
  46544. // Checks whether you have the required permissions for the action, without
  46545. // actually making the request, and provides an error response. If you have
  46546. // the required permissions, the error response is DryRunOperation. Otherwise,
  46547. // it is UnauthorizedOperation.
  46548. DryRun *bool `type:"boolean"`
  46549. // The ID of the transit gateway peering attachment.
  46550. //
  46551. // TransitGatewayAttachmentId is a required field
  46552. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  46553. }
  46554. // String returns the string representation
  46555. func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
  46556. return awsutil.Prettify(s)
  46557. }
  46558. // GoString returns the string representation
  46559. func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
  46560. return s.String()
  46561. }
  46562. // Validate inspects the fields of the type to determine if they are valid.
  46563. func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
  46564. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
  46565. if s.TransitGatewayAttachmentId == nil {
  46566. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  46567. }
  46568. if invalidParams.Len() > 0 {
  46569. return invalidParams
  46570. }
  46571. return nil
  46572. }
  46573. // SetDryRun sets the DryRun field's value.
  46574. func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
  46575. s.DryRun = &v
  46576. return s
  46577. }
  46578. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  46579. func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
  46580. s.TransitGatewayAttachmentId = &v
  46581. return s
  46582. }
  46583. type DeleteTransitGatewayPeeringAttachmentOutput struct {
  46584. _ struct{} `type:"structure"`
  46585. // The transit gateway peering attachment.
  46586. TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
  46587. }
  46588. // String returns the string representation
  46589. func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
  46590. return awsutil.Prettify(s)
  46591. }
  46592. // GoString returns the string representation
  46593. func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
  46594. return s.String()
  46595. }
  46596. // SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
  46597. func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
  46598. s.TransitGatewayPeeringAttachment = v
  46599. return s
  46600. }
  46601. type DeleteTransitGatewayRouteInput struct {
  46602. _ struct{} `type:"structure"`
  46603. // The CIDR range for the route. This must match the CIDR for the route exactly.
  46604. //
  46605. // DestinationCidrBlock is a required field
  46606. DestinationCidrBlock *string `type:"string" required:"true"`
  46607. // Checks whether you have the required permissions for the action, without
  46608. // actually making the request, and provides an error response. If you have
  46609. // the required permissions, the error response is DryRunOperation. Otherwise,
  46610. // it is UnauthorizedOperation.
  46611. DryRun *bool `type:"boolean"`
  46612. // The ID of the transit gateway route table.
  46613. //
  46614. // TransitGatewayRouteTableId is a required field
  46615. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  46616. }
  46617. // String returns the string representation
  46618. func (s DeleteTransitGatewayRouteInput) String() string {
  46619. return awsutil.Prettify(s)
  46620. }
  46621. // GoString returns the string representation
  46622. func (s DeleteTransitGatewayRouteInput) GoString() string {
  46623. return s.String()
  46624. }
  46625. // Validate inspects the fields of the type to determine if they are valid.
  46626. func (s *DeleteTransitGatewayRouteInput) Validate() error {
  46627. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
  46628. if s.DestinationCidrBlock == nil {
  46629. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  46630. }
  46631. if s.TransitGatewayRouteTableId == nil {
  46632. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  46633. }
  46634. if invalidParams.Len() > 0 {
  46635. return invalidParams
  46636. }
  46637. return nil
  46638. }
  46639. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  46640. func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
  46641. s.DestinationCidrBlock = &v
  46642. return s
  46643. }
  46644. // SetDryRun sets the DryRun field's value.
  46645. func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
  46646. s.DryRun = &v
  46647. return s
  46648. }
  46649. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  46650. func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
  46651. s.TransitGatewayRouteTableId = &v
  46652. return s
  46653. }
  46654. type DeleteTransitGatewayRouteOutput struct {
  46655. _ struct{} `type:"structure"`
  46656. // Information about the route.
  46657. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  46658. }
  46659. // String returns the string representation
  46660. func (s DeleteTransitGatewayRouteOutput) String() string {
  46661. return awsutil.Prettify(s)
  46662. }
  46663. // GoString returns the string representation
  46664. func (s DeleteTransitGatewayRouteOutput) GoString() string {
  46665. return s.String()
  46666. }
  46667. // SetRoute sets the Route field's value.
  46668. func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
  46669. s.Route = v
  46670. return s
  46671. }
  46672. type DeleteTransitGatewayRouteTableInput struct {
  46673. _ struct{} `type:"structure"`
  46674. // Checks whether you have the required permissions for the action, without
  46675. // actually making the request, and provides an error response. If you have
  46676. // the required permissions, the error response is DryRunOperation. Otherwise,
  46677. // it is UnauthorizedOperation.
  46678. DryRun *bool `type:"boolean"`
  46679. // The ID of the transit gateway route table.
  46680. //
  46681. // TransitGatewayRouteTableId is a required field
  46682. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  46683. }
  46684. // String returns the string representation
  46685. func (s DeleteTransitGatewayRouteTableInput) String() string {
  46686. return awsutil.Prettify(s)
  46687. }
  46688. // GoString returns the string representation
  46689. func (s DeleteTransitGatewayRouteTableInput) GoString() string {
  46690. return s.String()
  46691. }
  46692. // Validate inspects the fields of the type to determine if they are valid.
  46693. func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
  46694. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
  46695. if s.TransitGatewayRouteTableId == nil {
  46696. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  46697. }
  46698. if invalidParams.Len() > 0 {
  46699. return invalidParams
  46700. }
  46701. return nil
  46702. }
  46703. // SetDryRun sets the DryRun field's value.
  46704. func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
  46705. s.DryRun = &v
  46706. return s
  46707. }
  46708. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  46709. func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
  46710. s.TransitGatewayRouteTableId = &v
  46711. return s
  46712. }
  46713. type DeleteTransitGatewayRouteTableOutput struct {
  46714. _ struct{} `type:"structure"`
  46715. // Information about the deleted transit gateway route table.
  46716. TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
  46717. }
  46718. // String returns the string representation
  46719. func (s DeleteTransitGatewayRouteTableOutput) String() string {
  46720. return awsutil.Prettify(s)
  46721. }
  46722. // GoString returns the string representation
  46723. func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
  46724. return s.String()
  46725. }
  46726. // SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
  46727. func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
  46728. s.TransitGatewayRouteTable = v
  46729. return s
  46730. }
  46731. type DeleteTransitGatewayVpcAttachmentInput struct {
  46732. _ struct{} `type:"structure"`
  46733. // Checks whether you have the required permissions for the action, without
  46734. // actually making the request, and provides an error response. If you have
  46735. // the required permissions, the error response is DryRunOperation. Otherwise,
  46736. // it is UnauthorizedOperation.
  46737. DryRun *bool `type:"boolean"`
  46738. // The ID of the attachment.
  46739. //
  46740. // TransitGatewayAttachmentId is a required field
  46741. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  46742. }
  46743. // String returns the string representation
  46744. func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
  46745. return awsutil.Prettify(s)
  46746. }
  46747. // GoString returns the string representation
  46748. func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
  46749. return s.String()
  46750. }
  46751. // Validate inspects the fields of the type to determine if they are valid.
  46752. func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
  46753. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
  46754. if s.TransitGatewayAttachmentId == nil {
  46755. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  46756. }
  46757. if invalidParams.Len() > 0 {
  46758. return invalidParams
  46759. }
  46760. return nil
  46761. }
  46762. // SetDryRun sets the DryRun field's value.
  46763. func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
  46764. s.DryRun = &v
  46765. return s
  46766. }
  46767. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  46768. func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
  46769. s.TransitGatewayAttachmentId = &v
  46770. return s
  46771. }
  46772. type DeleteTransitGatewayVpcAttachmentOutput struct {
  46773. _ struct{} `type:"structure"`
  46774. // Information about the deleted VPC attachment.
  46775. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  46776. }
  46777. // String returns the string representation
  46778. func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
  46779. return awsutil.Prettify(s)
  46780. }
  46781. // GoString returns the string representation
  46782. func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
  46783. return s.String()
  46784. }
  46785. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  46786. func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
  46787. s.TransitGatewayVpcAttachment = v
  46788. return s
  46789. }
  46790. type DeleteVolumeInput struct {
  46791. _ struct{} `type:"structure"`
  46792. // Checks whether you have the required permissions for the action, without
  46793. // actually making the request, and provides an error response. If you have
  46794. // the required permissions, the error response is DryRunOperation. Otherwise,
  46795. // it is UnauthorizedOperation.
  46796. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46797. // The ID of the volume.
  46798. //
  46799. // VolumeId is a required field
  46800. VolumeId *string `type:"string" required:"true"`
  46801. }
  46802. // String returns the string representation
  46803. func (s DeleteVolumeInput) String() string {
  46804. return awsutil.Prettify(s)
  46805. }
  46806. // GoString returns the string representation
  46807. func (s DeleteVolumeInput) GoString() string {
  46808. return s.String()
  46809. }
  46810. // Validate inspects the fields of the type to determine if they are valid.
  46811. func (s *DeleteVolumeInput) Validate() error {
  46812. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  46813. if s.VolumeId == nil {
  46814. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  46815. }
  46816. if invalidParams.Len() > 0 {
  46817. return invalidParams
  46818. }
  46819. return nil
  46820. }
  46821. // SetDryRun sets the DryRun field's value.
  46822. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  46823. s.DryRun = &v
  46824. return s
  46825. }
  46826. // SetVolumeId sets the VolumeId field's value.
  46827. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  46828. s.VolumeId = &v
  46829. return s
  46830. }
  46831. type DeleteVolumeOutput struct {
  46832. _ struct{} `type:"structure"`
  46833. }
  46834. // String returns the string representation
  46835. func (s DeleteVolumeOutput) String() string {
  46836. return awsutil.Prettify(s)
  46837. }
  46838. // GoString returns the string representation
  46839. func (s DeleteVolumeOutput) GoString() string {
  46840. return s.String()
  46841. }
  46842. type DeleteVpcEndpointConnectionNotificationsInput struct {
  46843. _ struct{} `type:"structure"`
  46844. // One or more notification IDs.
  46845. //
  46846. // ConnectionNotificationIds is a required field
  46847. ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
  46848. // Checks whether you have the required permissions for the action, without
  46849. // actually making the request, and provides an error response. If you have
  46850. // the required permissions, the error response is DryRunOperation. Otherwise,
  46851. // it is UnauthorizedOperation.
  46852. DryRun *bool `type:"boolean"`
  46853. }
  46854. // String returns the string representation
  46855. func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
  46856. return awsutil.Prettify(s)
  46857. }
  46858. // GoString returns the string representation
  46859. func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
  46860. return s.String()
  46861. }
  46862. // Validate inspects the fields of the type to determine if they are valid.
  46863. func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
  46864. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
  46865. if s.ConnectionNotificationIds == nil {
  46866. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
  46867. }
  46868. if invalidParams.Len() > 0 {
  46869. return invalidParams
  46870. }
  46871. return nil
  46872. }
  46873. // SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
  46874. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
  46875. s.ConnectionNotificationIds = v
  46876. return s
  46877. }
  46878. // SetDryRun sets the DryRun field's value.
  46879. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
  46880. s.DryRun = &v
  46881. return s
  46882. }
  46883. type DeleteVpcEndpointConnectionNotificationsOutput struct {
  46884. _ struct{} `type:"structure"`
  46885. // Information about the notifications that could not be deleted successfully.
  46886. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  46887. }
  46888. // String returns the string representation
  46889. func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
  46890. return awsutil.Prettify(s)
  46891. }
  46892. // GoString returns the string representation
  46893. func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
  46894. return s.String()
  46895. }
  46896. // SetUnsuccessful sets the Unsuccessful field's value.
  46897. func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
  46898. s.Unsuccessful = v
  46899. return s
  46900. }
  46901. type DeleteVpcEndpointServiceConfigurationsInput struct {
  46902. _ struct{} `type:"structure"`
  46903. // Checks whether you have the required permissions for the action, without
  46904. // actually making the request, and provides an error response. If you have
  46905. // the required permissions, the error response is DryRunOperation. Otherwise,
  46906. // it is UnauthorizedOperation.
  46907. DryRun *bool `type:"boolean"`
  46908. // The IDs of one or more services.
  46909. //
  46910. // ServiceIds is a required field
  46911. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
  46912. }
  46913. // String returns the string representation
  46914. func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
  46915. return awsutil.Prettify(s)
  46916. }
  46917. // GoString returns the string representation
  46918. func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
  46919. return s.String()
  46920. }
  46921. // Validate inspects the fields of the type to determine if they are valid.
  46922. func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
  46923. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
  46924. if s.ServiceIds == nil {
  46925. invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
  46926. }
  46927. if invalidParams.Len() > 0 {
  46928. return invalidParams
  46929. }
  46930. return nil
  46931. }
  46932. // SetDryRun sets the DryRun field's value.
  46933. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
  46934. s.DryRun = &v
  46935. return s
  46936. }
  46937. // SetServiceIds sets the ServiceIds field's value.
  46938. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
  46939. s.ServiceIds = v
  46940. return s
  46941. }
  46942. type DeleteVpcEndpointServiceConfigurationsOutput struct {
  46943. _ struct{} `type:"structure"`
  46944. // Information about the service configurations that were not deleted, if applicable.
  46945. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  46946. }
  46947. // String returns the string representation
  46948. func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
  46949. return awsutil.Prettify(s)
  46950. }
  46951. // GoString returns the string representation
  46952. func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
  46953. return s.String()
  46954. }
  46955. // SetUnsuccessful sets the Unsuccessful field's value.
  46956. func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
  46957. s.Unsuccessful = v
  46958. return s
  46959. }
  46960. // Contains the parameters for DeleteVpcEndpoints.
  46961. type DeleteVpcEndpointsInput struct {
  46962. _ struct{} `type:"structure"`
  46963. // Checks whether you have the required permissions for the action, without
  46964. // actually making the request, and provides an error response. If you have
  46965. // the required permissions, the error response is DryRunOperation. Otherwise,
  46966. // it is UnauthorizedOperation.
  46967. DryRun *bool `type:"boolean"`
  46968. // One or more VPC endpoint IDs.
  46969. //
  46970. // VpcEndpointIds is a required field
  46971. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  46972. }
  46973. // String returns the string representation
  46974. func (s DeleteVpcEndpointsInput) String() string {
  46975. return awsutil.Prettify(s)
  46976. }
  46977. // GoString returns the string representation
  46978. func (s DeleteVpcEndpointsInput) GoString() string {
  46979. return s.String()
  46980. }
  46981. // Validate inspects the fields of the type to determine if they are valid.
  46982. func (s *DeleteVpcEndpointsInput) Validate() error {
  46983. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  46984. if s.VpcEndpointIds == nil {
  46985. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  46986. }
  46987. if invalidParams.Len() > 0 {
  46988. return invalidParams
  46989. }
  46990. return nil
  46991. }
  46992. // SetDryRun sets the DryRun field's value.
  46993. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  46994. s.DryRun = &v
  46995. return s
  46996. }
  46997. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  46998. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  46999. s.VpcEndpointIds = v
  47000. return s
  47001. }
  47002. // Contains the output of DeleteVpcEndpoints.
  47003. type DeleteVpcEndpointsOutput struct {
  47004. _ struct{} `type:"structure"`
  47005. // Information about the VPC endpoints that were not successfully deleted.
  47006. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  47007. }
  47008. // String returns the string representation
  47009. func (s DeleteVpcEndpointsOutput) String() string {
  47010. return awsutil.Prettify(s)
  47011. }
  47012. // GoString returns the string representation
  47013. func (s DeleteVpcEndpointsOutput) GoString() string {
  47014. return s.String()
  47015. }
  47016. // SetUnsuccessful sets the Unsuccessful field's value.
  47017. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  47018. s.Unsuccessful = v
  47019. return s
  47020. }
  47021. type DeleteVpcInput struct {
  47022. _ struct{} `type:"structure"`
  47023. // Checks whether you have the required permissions for the action, without
  47024. // actually making the request, and provides an error response. If you have
  47025. // the required permissions, the error response is DryRunOperation. Otherwise,
  47026. // it is UnauthorizedOperation.
  47027. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47028. // The ID of the VPC.
  47029. //
  47030. // VpcId is a required field
  47031. VpcId *string `type:"string" required:"true"`
  47032. }
  47033. // String returns the string representation
  47034. func (s DeleteVpcInput) String() string {
  47035. return awsutil.Prettify(s)
  47036. }
  47037. // GoString returns the string representation
  47038. func (s DeleteVpcInput) GoString() string {
  47039. return s.String()
  47040. }
  47041. // Validate inspects the fields of the type to determine if they are valid.
  47042. func (s *DeleteVpcInput) Validate() error {
  47043. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  47044. if s.VpcId == nil {
  47045. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47046. }
  47047. if invalidParams.Len() > 0 {
  47048. return invalidParams
  47049. }
  47050. return nil
  47051. }
  47052. // SetDryRun sets the DryRun field's value.
  47053. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  47054. s.DryRun = &v
  47055. return s
  47056. }
  47057. // SetVpcId sets the VpcId field's value.
  47058. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  47059. s.VpcId = &v
  47060. return s
  47061. }
  47062. type DeleteVpcOutput struct {
  47063. _ struct{} `type:"structure"`
  47064. }
  47065. // String returns the string representation
  47066. func (s DeleteVpcOutput) String() string {
  47067. return awsutil.Prettify(s)
  47068. }
  47069. // GoString returns the string representation
  47070. func (s DeleteVpcOutput) GoString() string {
  47071. return s.String()
  47072. }
  47073. type DeleteVpcPeeringConnectionInput struct {
  47074. _ struct{} `type:"structure"`
  47075. // Checks whether you have the required permissions for the action, without
  47076. // actually making the request, and provides an error response. If you have
  47077. // the required permissions, the error response is DryRunOperation. Otherwise,
  47078. // it is UnauthorizedOperation.
  47079. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47080. // The ID of the VPC peering connection.
  47081. //
  47082. // VpcPeeringConnectionId is a required field
  47083. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  47084. }
  47085. // String returns the string representation
  47086. func (s DeleteVpcPeeringConnectionInput) String() string {
  47087. return awsutil.Prettify(s)
  47088. }
  47089. // GoString returns the string representation
  47090. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  47091. return s.String()
  47092. }
  47093. // Validate inspects the fields of the type to determine if they are valid.
  47094. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  47095. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  47096. if s.VpcPeeringConnectionId == nil {
  47097. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  47098. }
  47099. if invalidParams.Len() > 0 {
  47100. return invalidParams
  47101. }
  47102. return nil
  47103. }
  47104. // SetDryRun sets the DryRun field's value.
  47105. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  47106. s.DryRun = &v
  47107. return s
  47108. }
  47109. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  47110. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  47111. s.VpcPeeringConnectionId = &v
  47112. return s
  47113. }
  47114. type DeleteVpcPeeringConnectionOutput struct {
  47115. _ struct{} `type:"structure"`
  47116. // Returns true if the request succeeds; otherwise, it returns an error.
  47117. Return *bool `locationName:"return" type:"boolean"`
  47118. }
  47119. // String returns the string representation
  47120. func (s DeleteVpcPeeringConnectionOutput) String() string {
  47121. return awsutil.Prettify(s)
  47122. }
  47123. // GoString returns the string representation
  47124. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  47125. return s.String()
  47126. }
  47127. // SetReturn sets the Return field's value.
  47128. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  47129. s.Return = &v
  47130. return s
  47131. }
  47132. // Contains the parameters for DeleteVpnConnection.
  47133. type DeleteVpnConnectionInput struct {
  47134. _ struct{} `type:"structure"`
  47135. // Checks whether you have the required permissions for the action, without
  47136. // actually making the request, and provides an error response. If you have
  47137. // the required permissions, the error response is DryRunOperation. Otherwise,
  47138. // it is UnauthorizedOperation.
  47139. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47140. // The ID of the VPN connection.
  47141. //
  47142. // VpnConnectionId is a required field
  47143. VpnConnectionId *string `type:"string" required:"true"`
  47144. }
  47145. // String returns the string representation
  47146. func (s DeleteVpnConnectionInput) String() string {
  47147. return awsutil.Prettify(s)
  47148. }
  47149. // GoString returns the string representation
  47150. func (s DeleteVpnConnectionInput) GoString() string {
  47151. return s.String()
  47152. }
  47153. // Validate inspects the fields of the type to determine if they are valid.
  47154. func (s *DeleteVpnConnectionInput) Validate() error {
  47155. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  47156. if s.VpnConnectionId == nil {
  47157. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  47158. }
  47159. if invalidParams.Len() > 0 {
  47160. return invalidParams
  47161. }
  47162. return nil
  47163. }
  47164. // SetDryRun sets the DryRun field's value.
  47165. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  47166. s.DryRun = &v
  47167. return s
  47168. }
  47169. // SetVpnConnectionId sets the VpnConnectionId field's value.
  47170. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  47171. s.VpnConnectionId = &v
  47172. return s
  47173. }
  47174. type DeleteVpnConnectionOutput struct {
  47175. _ struct{} `type:"structure"`
  47176. }
  47177. // String returns the string representation
  47178. func (s DeleteVpnConnectionOutput) String() string {
  47179. return awsutil.Prettify(s)
  47180. }
  47181. // GoString returns the string representation
  47182. func (s DeleteVpnConnectionOutput) GoString() string {
  47183. return s.String()
  47184. }
  47185. // Contains the parameters for DeleteVpnConnectionRoute.
  47186. type DeleteVpnConnectionRouteInput struct {
  47187. _ struct{} `type:"structure"`
  47188. // The CIDR block associated with the local subnet of the customer network.
  47189. //
  47190. // DestinationCidrBlock is a required field
  47191. DestinationCidrBlock *string `type:"string" required:"true"`
  47192. // The ID of the VPN connection.
  47193. //
  47194. // VpnConnectionId is a required field
  47195. VpnConnectionId *string `type:"string" required:"true"`
  47196. }
  47197. // String returns the string representation
  47198. func (s DeleteVpnConnectionRouteInput) String() string {
  47199. return awsutil.Prettify(s)
  47200. }
  47201. // GoString returns the string representation
  47202. func (s DeleteVpnConnectionRouteInput) GoString() string {
  47203. return s.String()
  47204. }
  47205. // Validate inspects the fields of the type to determine if they are valid.
  47206. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  47207. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  47208. if s.DestinationCidrBlock == nil {
  47209. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  47210. }
  47211. if s.VpnConnectionId == nil {
  47212. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  47213. }
  47214. if invalidParams.Len() > 0 {
  47215. return invalidParams
  47216. }
  47217. return nil
  47218. }
  47219. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  47220. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  47221. s.DestinationCidrBlock = &v
  47222. return s
  47223. }
  47224. // SetVpnConnectionId sets the VpnConnectionId field's value.
  47225. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  47226. s.VpnConnectionId = &v
  47227. return s
  47228. }
  47229. type DeleteVpnConnectionRouteOutput struct {
  47230. _ struct{} `type:"structure"`
  47231. }
  47232. // String returns the string representation
  47233. func (s DeleteVpnConnectionRouteOutput) String() string {
  47234. return awsutil.Prettify(s)
  47235. }
  47236. // GoString returns the string representation
  47237. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  47238. return s.String()
  47239. }
  47240. // Contains the parameters for DeleteVpnGateway.
  47241. type DeleteVpnGatewayInput struct {
  47242. _ struct{} `type:"structure"`
  47243. // Checks whether you have the required permissions for the action, without
  47244. // actually making the request, and provides an error response. If you have
  47245. // the required permissions, the error response is DryRunOperation. Otherwise,
  47246. // it is UnauthorizedOperation.
  47247. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47248. // The ID of the virtual private gateway.
  47249. //
  47250. // VpnGatewayId is a required field
  47251. VpnGatewayId *string `type:"string" required:"true"`
  47252. }
  47253. // String returns the string representation
  47254. func (s DeleteVpnGatewayInput) String() string {
  47255. return awsutil.Prettify(s)
  47256. }
  47257. // GoString returns the string representation
  47258. func (s DeleteVpnGatewayInput) GoString() string {
  47259. return s.String()
  47260. }
  47261. // Validate inspects the fields of the type to determine if they are valid.
  47262. func (s *DeleteVpnGatewayInput) Validate() error {
  47263. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  47264. if s.VpnGatewayId == nil {
  47265. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  47266. }
  47267. if invalidParams.Len() > 0 {
  47268. return invalidParams
  47269. }
  47270. return nil
  47271. }
  47272. // SetDryRun sets the DryRun field's value.
  47273. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  47274. s.DryRun = &v
  47275. return s
  47276. }
  47277. // SetVpnGatewayId sets the VpnGatewayId field's value.
  47278. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  47279. s.VpnGatewayId = &v
  47280. return s
  47281. }
  47282. type DeleteVpnGatewayOutput struct {
  47283. _ struct{} `type:"structure"`
  47284. }
  47285. // String returns the string representation
  47286. func (s DeleteVpnGatewayOutput) String() string {
  47287. return awsutil.Prettify(s)
  47288. }
  47289. // GoString returns the string representation
  47290. func (s DeleteVpnGatewayOutput) GoString() string {
  47291. return s.String()
  47292. }
  47293. type DeprovisionByoipCidrInput struct {
  47294. _ struct{} `type:"structure"`
  47295. // The public IPv4 address range, in CIDR notation. The prefix must be the same
  47296. // prefix that you specified when you provisioned the address range.
  47297. //
  47298. // Cidr is a required field
  47299. Cidr *string `type:"string" required:"true"`
  47300. // Checks whether you have the required permissions for the action, without
  47301. // actually making the request, and provides an error response. If you have
  47302. // the required permissions, the error response is DryRunOperation. Otherwise,
  47303. // it is UnauthorizedOperation.
  47304. DryRun *bool `type:"boolean"`
  47305. }
  47306. // String returns the string representation
  47307. func (s DeprovisionByoipCidrInput) String() string {
  47308. return awsutil.Prettify(s)
  47309. }
  47310. // GoString returns the string representation
  47311. func (s DeprovisionByoipCidrInput) GoString() string {
  47312. return s.String()
  47313. }
  47314. // Validate inspects the fields of the type to determine if they are valid.
  47315. func (s *DeprovisionByoipCidrInput) Validate() error {
  47316. invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
  47317. if s.Cidr == nil {
  47318. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  47319. }
  47320. if invalidParams.Len() > 0 {
  47321. return invalidParams
  47322. }
  47323. return nil
  47324. }
  47325. // SetCidr sets the Cidr field's value.
  47326. func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
  47327. s.Cidr = &v
  47328. return s
  47329. }
  47330. // SetDryRun sets the DryRun field's value.
  47331. func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
  47332. s.DryRun = &v
  47333. return s
  47334. }
  47335. type DeprovisionByoipCidrOutput struct {
  47336. _ struct{} `type:"structure"`
  47337. // Information about the address range.
  47338. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  47339. }
  47340. // String returns the string representation
  47341. func (s DeprovisionByoipCidrOutput) String() string {
  47342. return awsutil.Prettify(s)
  47343. }
  47344. // GoString returns the string representation
  47345. func (s DeprovisionByoipCidrOutput) GoString() string {
  47346. return s.String()
  47347. }
  47348. // SetByoipCidr sets the ByoipCidr field's value.
  47349. func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
  47350. s.ByoipCidr = v
  47351. return s
  47352. }
  47353. // Contains the parameters for DeregisterImage.
  47354. type DeregisterImageInput struct {
  47355. _ struct{} `type:"structure"`
  47356. // Checks whether you have the required permissions for the action, without
  47357. // actually making the request, and provides an error response. If you have
  47358. // the required permissions, the error response is DryRunOperation. Otherwise,
  47359. // it is UnauthorizedOperation.
  47360. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47361. // The ID of the AMI.
  47362. //
  47363. // ImageId is a required field
  47364. ImageId *string `type:"string" required:"true"`
  47365. }
  47366. // String returns the string representation
  47367. func (s DeregisterImageInput) String() string {
  47368. return awsutil.Prettify(s)
  47369. }
  47370. // GoString returns the string representation
  47371. func (s DeregisterImageInput) GoString() string {
  47372. return s.String()
  47373. }
  47374. // Validate inspects the fields of the type to determine if they are valid.
  47375. func (s *DeregisterImageInput) Validate() error {
  47376. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  47377. if s.ImageId == nil {
  47378. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  47379. }
  47380. if invalidParams.Len() > 0 {
  47381. return invalidParams
  47382. }
  47383. return nil
  47384. }
  47385. // SetDryRun sets the DryRun field's value.
  47386. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  47387. s.DryRun = &v
  47388. return s
  47389. }
  47390. // SetImageId sets the ImageId field's value.
  47391. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  47392. s.ImageId = &v
  47393. return s
  47394. }
  47395. type DeregisterImageOutput struct {
  47396. _ struct{} `type:"structure"`
  47397. }
  47398. // String returns the string representation
  47399. func (s DeregisterImageOutput) String() string {
  47400. return awsutil.Prettify(s)
  47401. }
  47402. // GoString returns the string representation
  47403. func (s DeregisterImageOutput) GoString() string {
  47404. return s.String()
  47405. }
  47406. type DeregisterTransitGatewayMulticastGroupMembersInput struct {
  47407. _ struct{} `type:"structure"`
  47408. // Checks whether you have the required permissions for the action, without
  47409. // actually making the request, and provides an error response. If you have
  47410. // the required permissions, the error response is DryRunOperation. Otherwise,
  47411. // it is UnauthorizedOperation.
  47412. DryRun *bool `type:"boolean"`
  47413. // The IP address assigned to the transit gateway multicast group.
  47414. GroupIpAddress *string `type:"string"`
  47415. // The IDs of the group members' network interfaces.
  47416. NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
  47417. // The ID of the transit gateway multicast domain.
  47418. TransitGatewayMulticastDomainId *string `type:"string"`
  47419. }
  47420. // String returns the string representation
  47421. func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
  47422. return awsutil.Prettify(s)
  47423. }
  47424. // GoString returns the string representation
  47425. func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
  47426. return s.String()
  47427. }
  47428. // SetDryRun sets the DryRun field's value.
  47429. func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
  47430. s.DryRun = &v
  47431. return s
  47432. }
  47433. // SetGroupIpAddress sets the GroupIpAddress field's value.
  47434. func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
  47435. s.GroupIpAddress = &v
  47436. return s
  47437. }
  47438. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  47439. func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
  47440. s.NetworkInterfaceIds = v
  47441. return s
  47442. }
  47443. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  47444. func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
  47445. s.TransitGatewayMulticastDomainId = &v
  47446. return s
  47447. }
  47448. type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
  47449. _ struct{} `type:"structure"`
  47450. // Information about the deregistered members.
  47451. DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
  47452. }
  47453. // String returns the string representation
  47454. func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
  47455. return awsutil.Prettify(s)
  47456. }
  47457. // GoString returns the string representation
  47458. func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
  47459. return s.String()
  47460. }
  47461. // SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
  47462. func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
  47463. s.DeregisteredMulticastGroupMembers = v
  47464. return s
  47465. }
  47466. type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
  47467. _ struct{} `type:"structure"`
  47468. // Checks whether you have the required permissions for the action, without
  47469. // actually making the request, and provides an error response. If you have
  47470. // the required permissions, the error response is DryRunOperation. Otherwise,
  47471. // it is UnauthorizedOperation.
  47472. DryRun *bool `type:"boolean"`
  47473. // The IP address assigned to the transit gateway multicast group.
  47474. GroupIpAddress *string `type:"string"`
  47475. // The IDs of the group sources' network interfaces.
  47476. NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
  47477. // The ID of the transit gateway multicast domain.
  47478. TransitGatewayMulticastDomainId *string `type:"string"`
  47479. }
  47480. // String returns the string representation
  47481. func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
  47482. return awsutil.Prettify(s)
  47483. }
  47484. // GoString returns the string representation
  47485. func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
  47486. return s.String()
  47487. }
  47488. // SetDryRun sets the DryRun field's value.
  47489. func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
  47490. s.DryRun = &v
  47491. return s
  47492. }
  47493. // SetGroupIpAddress sets the GroupIpAddress field's value.
  47494. func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
  47495. s.GroupIpAddress = &v
  47496. return s
  47497. }
  47498. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  47499. func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
  47500. s.NetworkInterfaceIds = v
  47501. return s
  47502. }
  47503. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  47504. func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
  47505. s.TransitGatewayMulticastDomainId = &v
  47506. return s
  47507. }
  47508. type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
  47509. _ struct{} `type:"structure"`
  47510. // Information about the deregistered group sources.
  47511. DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
  47512. }
  47513. // String returns the string representation
  47514. func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
  47515. return awsutil.Prettify(s)
  47516. }
  47517. // GoString returns the string representation
  47518. func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
  47519. return s.String()
  47520. }
  47521. // SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
  47522. func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
  47523. s.DeregisteredMulticastGroupSources = v
  47524. return s
  47525. }
  47526. type DescribeAccountAttributesInput struct {
  47527. _ struct{} `type:"structure"`
  47528. // The account attribute names.
  47529. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  47530. // Checks whether you have the required permissions for the action, without
  47531. // actually making the request, and provides an error response. If you have
  47532. // the required permissions, the error response is DryRunOperation. Otherwise,
  47533. // it is UnauthorizedOperation.
  47534. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47535. }
  47536. // String returns the string representation
  47537. func (s DescribeAccountAttributesInput) String() string {
  47538. return awsutil.Prettify(s)
  47539. }
  47540. // GoString returns the string representation
  47541. func (s DescribeAccountAttributesInput) GoString() string {
  47542. return s.String()
  47543. }
  47544. // SetAttributeNames sets the AttributeNames field's value.
  47545. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  47546. s.AttributeNames = v
  47547. return s
  47548. }
  47549. // SetDryRun sets the DryRun field's value.
  47550. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  47551. s.DryRun = &v
  47552. return s
  47553. }
  47554. type DescribeAccountAttributesOutput struct {
  47555. _ struct{} `type:"structure"`
  47556. // Information about the account attributes.
  47557. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  47558. }
  47559. // String returns the string representation
  47560. func (s DescribeAccountAttributesOutput) String() string {
  47561. return awsutil.Prettify(s)
  47562. }
  47563. // GoString returns the string representation
  47564. func (s DescribeAccountAttributesOutput) GoString() string {
  47565. return s.String()
  47566. }
  47567. // SetAccountAttributes sets the AccountAttributes field's value.
  47568. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  47569. s.AccountAttributes = v
  47570. return s
  47571. }
  47572. type DescribeAddressesInput struct {
  47573. _ struct{} `type:"structure"`
  47574. // [EC2-VPC] Information about the allocation IDs.
  47575. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  47576. // Checks whether you have the required permissions for the action, without
  47577. // actually making the request, and provides an error response. If you have
  47578. // the required permissions, the error response is DryRunOperation. Otherwise,
  47579. // it is UnauthorizedOperation.
  47580. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47581. // One or more filters. Filter names and values are case-sensitive.
  47582. //
  47583. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  47584. //
  47585. // * association-id - [EC2-VPC] The association ID for the address.
  47586. //
  47587. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  47588. // or in a VPC (vpc).
  47589. //
  47590. // * instance-id - The ID of the instance the address is associated with,
  47591. // if any.
  47592. //
  47593. // * network-border-group - The location from where the IP address is advertised.
  47594. //
  47595. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  47596. // the address is associated with, if any.
  47597. //
  47598. // * network-interface-owner-id - The AWS account ID of the owner.
  47599. //
  47600. // * private-ip-address - [EC2-VPC] The private IP address associated with
  47601. // the Elastic IP address.
  47602. //
  47603. // * public-ip - The Elastic IP address.
  47604. //
  47605. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  47606. // Use the tag key in the filter name and the tag value as the filter value.
  47607. // For example, to find all resources that have a tag with the key Owner
  47608. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  47609. // the filter value.
  47610. //
  47611. // * tag-key - The key of a tag assigned to the resource. Use this filter
  47612. // to find all resources assigned a tag with a specific key, regardless of
  47613. // the tag value.
  47614. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47615. // One or more Elastic IP addresses.
  47616. //
  47617. // Default: Describes all your Elastic IP addresses.
  47618. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  47619. }
  47620. // String returns the string representation
  47621. func (s DescribeAddressesInput) String() string {
  47622. return awsutil.Prettify(s)
  47623. }
  47624. // GoString returns the string representation
  47625. func (s DescribeAddressesInput) GoString() string {
  47626. return s.String()
  47627. }
  47628. // SetAllocationIds sets the AllocationIds field's value.
  47629. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  47630. s.AllocationIds = v
  47631. return s
  47632. }
  47633. // SetDryRun sets the DryRun field's value.
  47634. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  47635. s.DryRun = &v
  47636. return s
  47637. }
  47638. // SetFilters sets the Filters field's value.
  47639. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  47640. s.Filters = v
  47641. return s
  47642. }
  47643. // SetPublicIps sets the PublicIps field's value.
  47644. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  47645. s.PublicIps = v
  47646. return s
  47647. }
  47648. type DescribeAddressesOutput struct {
  47649. _ struct{} `type:"structure"`
  47650. // Information about the Elastic IP addresses.
  47651. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  47652. }
  47653. // String returns the string representation
  47654. func (s DescribeAddressesOutput) String() string {
  47655. return awsutil.Prettify(s)
  47656. }
  47657. // GoString returns the string representation
  47658. func (s DescribeAddressesOutput) GoString() string {
  47659. return s.String()
  47660. }
  47661. // SetAddresses sets the Addresses field's value.
  47662. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  47663. s.Addresses = v
  47664. return s
  47665. }
  47666. type DescribeAggregateIdFormatInput struct {
  47667. _ struct{} `type:"structure"`
  47668. // Checks whether you have the required permissions for the action, without
  47669. // actually making the request, and provides an error response. If you have
  47670. // the required permissions, the error response is DryRunOperation. Otherwise,
  47671. // it is UnauthorizedOperation.
  47672. DryRun *bool `type:"boolean"`
  47673. }
  47674. // String returns the string representation
  47675. func (s DescribeAggregateIdFormatInput) String() string {
  47676. return awsutil.Prettify(s)
  47677. }
  47678. // GoString returns the string representation
  47679. func (s DescribeAggregateIdFormatInput) GoString() string {
  47680. return s.String()
  47681. }
  47682. // SetDryRun sets the DryRun field's value.
  47683. func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
  47684. s.DryRun = &v
  47685. return s
  47686. }
  47687. type DescribeAggregateIdFormatOutput struct {
  47688. _ struct{} `type:"structure"`
  47689. // Information about each resource's ID format.
  47690. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  47691. // Indicates whether all resource types in the Region are configured to use
  47692. // longer IDs. This value is only true if all users are configured to use longer
  47693. // IDs for all resources types in the Region.
  47694. UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
  47695. }
  47696. // String returns the string representation
  47697. func (s DescribeAggregateIdFormatOutput) String() string {
  47698. return awsutil.Prettify(s)
  47699. }
  47700. // GoString returns the string representation
  47701. func (s DescribeAggregateIdFormatOutput) GoString() string {
  47702. return s.String()
  47703. }
  47704. // SetStatuses sets the Statuses field's value.
  47705. func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
  47706. s.Statuses = v
  47707. return s
  47708. }
  47709. // SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
  47710. func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
  47711. s.UseLongIdsAggregated = &v
  47712. return s
  47713. }
  47714. type DescribeAvailabilityZonesInput struct {
  47715. _ struct{} `type:"structure"`
  47716. // Include all Availability Zones and Local Zones regardless of your opt in
  47717. // status.
  47718. //
  47719. // If you do not use this parameter, the results include only the zones for
  47720. // the Regions where you have chosen the option to opt in.
  47721. AllAvailabilityZones *bool `type:"boolean"`
  47722. // Checks whether you have the required permissions for the action, without
  47723. // actually making the request, and provides an error response. If you have
  47724. // the required permissions, the error response is DryRunOperation. Otherwise,
  47725. // it is UnauthorizedOperation.
  47726. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47727. // The filters.
  47728. //
  47729. // * group-name - For Availability Zones, use the Region name. For Local
  47730. // Zones, use the name of the group associated with the Local Zone (for example,
  47731. // us-west-2-lax-1).
  47732. //
  47733. // * message - The Availability Zone or Local Zone message.
  47734. //
  47735. // * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required).
  47736. //
  47737. // * region-name - The name of the Region for the Availability Zone or Local
  47738. // Zone (for example, us-east-1).
  47739. //
  47740. // * state - The state of the Availability Zone or Local Zone (available
  47741. // | information | impaired | unavailable).
  47742. //
  47743. // * zone-id - The ID of the Availability Zone (for example, use1-az1) or
  47744. // the Local Zone (for example, use usw2-lax1-az1).
  47745. //
  47746. // * zone-name - The name of the Availability Zone (for example, us-east-1a)
  47747. // or the Local Zone (for example, use us-west-2-lax-1a).
  47748. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47749. // The IDs of the Availability Zones and Local Zones.
  47750. ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
  47751. // The names of the Availability Zones and Local Zones.
  47752. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  47753. }
  47754. // String returns the string representation
  47755. func (s DescribeAvailabilityZonesInput) String() string {
  47756. return awsutil.Prettify(s)
  47757. }
  47758. // GoString returns the string representation
  47759. func (s DescribeAvailabilityZonesInput) GoString() string {
  47760. return s.String()
  47761. }
  47762. // SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
  47763. func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
  47764. s.AllAvailabilityZones = &v
  47765. return s
  47766. }
  47767. // SetDryRun sets the DryRun field's value.
  47768. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  47769. s.DryRun = &v
  47770. return s
  47771. }
  47772. // SetFilters sets the Filters field's value.
  47773. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  47774. s.Filters = v
  47775. return s
  47776. }
  47777. // SetZoneIds sets the ZoneIds field's value.
  47778. func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
  47779. s.ZoneIds = v
  47780. return s
  47781. }
  47782. // SetZoneNames sets the ZoneNames field's value.
  47783. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  47784. s.ZoneNames = v
  47785. return s
  47786. }
  47787. type DescribeAvailabilityZonesOutput struct {
  47788. _ struct{} `type:"structure"`
  47789. // Information about the Availability Zones and Local Zones.
  47790. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  47791. }
  47792. // String returns the string representation
  47793. func (s DescribeAvailabilityZonesOutput) String() string {
  47794. return awsutil.Prettify(s)
  47795. }
  47796. // GoString returns the string representation
  47797. func (s DescribeAvailabilityZonesOutput) GoString() string {
  47798. return s.String()
  47799. }
  47800. // SetAvailabilityZones sets the AvailabilityZones field's value.
  47801. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  47802. s.AvailabilityZones = v
  47803. return s
  47804. }
  47805. type DescribeBundleTasksInput struct {
  47806. _ struct{} `type:"structure"`
  47807. // The bundle task IDs.
  47808. //
  47809. // Default: Describes all your bundle tasks.
  47810. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  47811. // Checks whether you have the required permissions for the action, without
  47812. // actually making the request, and provides an error response. If you have
  47813. // the required permissions, the error response is DryRunOperation. Otherwise,
  47814. // it is UnauthorizedOperation.
  47815. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47816. // The filters.
  47817. //
  47818. // * bundle-id - The ID of the bundle task.
  47819. //
  47820. // * error-code - If the task failed, the error code returned.
  47821. //
  47822. // * error-message - If the task failed, the error message returned.
  47823. //
  47824. // * instance-id - The ID of the instance.
  47825. //
  47826. // * progress - The level of task completion, as a percentage (for example,
  47827. // 20%).
  47828. //
  47829. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  47830. //
  47831. // * s3-prefix - The beginning of the AMI name.
  47832. //
  47833. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  47834. //
  47835. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  47836. // | storing | cancelling | complete | failed).
  47837. //
  47838. // * update-time - The time of the most recent update for the task.
  47839. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47840. }
  47841. // String returns the string representation
  47842. func (s DescribeBundleTasksInput) String() string {
  47843. return awsutil.Prettify(s)
  47844. }
  47845. // GoString returns the string representation
  47846. func (s DescribeBundleTasksInput) GoString() string {
  47847. return s.String()
  47848. }
  47849. // SetBundleIds sets the BundleIds field's value.
  47850. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  47851. s.BundleIds = v
  47852. return s
  47853. }
  47854. // SetDryRun sets the DryRun field's value.
  47855. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  47856. s.DryRun = &v
  47857. return s
  47858. }
  47859. // SetFilters sets the Filters field's value.
  47860. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  47861. s.Filters = v
  47862. return s
  47863. }
  47864. type DescribeBundleTasksOutput struct {
  47865. _ struct{} `type:"structure"`
  47866. // Information about the bundle tasks.
  47867. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  47868. }
  47869. // String returns the string representation
  47870. func (s DescribeBundleTasksOutput) String() string {
  47871. return awsutil.Prettify(s)
  47872. }
  47873. // GoString returns the string representation
  47874. func (s DescribeBundleTasksOutput) GoString() string {
  47875. return s.String()
  47876. }
  47877. // SetBundleTasks sets the BundleTasks field's value.
  47878. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  47879. s.BundleTasks = v
  47880. return s
  47881. }
  47882. type DescribeByoipCidrsInput struct {
  47883. _ struct{} `type:"structure"`
  47884. // Checks whether you have the required permissions for the action, without
  47885. // actually making the request, and provides an error response. If you have
  47886. // the required permissions, the error response is DryRunOperation. Otherwise,
  47887. // it is UnauthorizedOperation.
  47888. DryRun *bool `type:"boolean"`
  47889. // The maximum number of results to return with a single call. To retrieve the
  47890. // remaining results, make another call with the returned nextToken value.
  47891. //
  47892. // MaxResults is a required field
  47893. MaxResults *int64 `min:"1" type:"integer" required:"true"`
  47894. // The token for the next page of results.
  47895. NextToken *string `type:"string"`
  47896. }
  47897. // String returns the string representation
  47898. func (s DescribeByoipCidrsInput) String() string {
  47899. return awsutil.Prettify(s)
  47900. }
  47901. // GoString returns the string representation
  47902. func (s DescribeByoipCidrsInput) GoString() string {
  47903. return s.String()
  47904. }
  47905. // Validate inspects the fields of the type to determine if they are valid.
  47906. func (s *DescribeByoipCidrsInput) Validate() error {
  47907. invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
  47908. if s.MaxResults == nil {
  47909. invalidParams.Add(request.NewErrParamRequired("MaxResults"))
  47910. }
  47911. if s.MaxResults != nil && *s.MaxResults < 1 {
  47912. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  47913. }
  47914. if invalidParams.Len() > 0 {
  47915. return invalidParams
  47916. }
  47917. return nil
  47918. }
  47919. // SetDryRun sets the DryRun field's value.
  47920. func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
  47921. s.DryRun = &v
  47922. return s
  47923. }
  47924. // SetMaxResults sets the MaxResults field's value.
  47925. func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
  47926. s.MaxResults = &v
  47927. return s
  47928. }
  47929. // SetNextToken sets the NextToken field's value.
  47930. func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
  47931. s.NextToken = &v
  47932. return s
  47933. }
  47934. type DescribeByoipCidrsOutput struct {
  47935. _ struct{} `type:"structure"`
  47936. // Information about your address ranges.
  47937. ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
  47938. // The token to use to retrieve the next page of results. This value is null
  47939. // when there are no more results to return.
  47940. NextToken *string `locationName:"nextToken" type:"string"`
  47941. }
  47942. // String returns the string representation
  47943. func (s DescribeByoipCidrsOutput) String() string {
  47944. return awsutil.Prettify(s)
  47945. }
  47946. // GoString returns the string representation
  47947. func (s DescribeByoipCidrsOutput) GoString() string {
  47948. return s.String()
  47949. }
  47950. // SetByoipCidrs sets the ByoipCidrs field's value.
  47951. func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
  47952. s.ByoipCidrs = v
  47953. return s
  47954. }
  47955. // SetNextToken sets the NextToken field's value.
  47956. func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
  47957. s.NextToken = &v
  47958. return s
  47959. }
  47960. type DescribeCapacityReservationsInput struct {
  47961. _ struct{} `type:"structure"`
  47962. // The ID of the Capacity Reservation.
  47963. CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
  47964. // Checks whether you have the required permissions for the action, without
  47965. // actually making the request, and provides an error response. If you have
  47966. // the required permissions, the error response is DryRunOperation. Otherwise,
  47967. // it is UnauthorizedOperation.
  47968. DryRun *bool `type:"boolean"`
  47969. // One or more filters.
  47970. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47971. // The maximum number of results to return for the request in a single page.
  47972. // The remaining results can be seen by sending another request with the returned
  47973. // nextToken value.
  47974. MaxResults *int64 `min:"1" type:"integer"`
  47975. // The token to retrieve the next page of results.
  47976. NextToken *string `type:"string"`
  47977. }
  47978. // String returns the string representation
  47979. func (s DescribeCapacityReservationsInput) String() string {
  47980. return awsutil.Prettify(s)
  47981. }
  47982. // GoString returns the string representation
  47983. func (s DescribeCapacityReservationsInput) GoString() string {
  47984. return s.String()
  47985. }
  47986. // Validate inspects the fields of the type to determine if they are valid.
  47987. func (s *DescribeCapacityReservationsInput) Validate() error {
  47988. invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
  47989. if s.MaxResults != nil && *s.MaxResults < 1 {
  47990. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  47991. }
  47992. if invalidParams.Len() > 0 {
  47993. return invalidParams
  47994. }
  47995. return nil
  47996. }
  47997. // SetCapacityReservationIds sets the CapacityReservationIds field's value.
  47998. func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
  47999. s.CapacityReservationIds = v
  48000. return s
  48001. }
  48002. // SetDryRun sets the DryRun field's value.
  48003. func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
  48004. s.DryRun = &v
  48005. return s
  48006. }
  48007. // SetFilters sets the Filters field's value.
  48008. func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
  48009. s.Filters = v
  48010. return s
  48011. }
  48012. // SetMaxResults sets the MaxResults field's value.
  48013. func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
  48014. s.MaxResults = &v
  48015. return s
  48016. }
  48017. // SetNextToken sets the NextToken field's value.
  48018. func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
  48019. s.NextToken = &v
  48020. return s
  48021. }
  48022. type DescribeCapacityReservationsOutput struct {
  48023. _ struct{} `type:"structure"`
  48024. // Information about the Capacity Reservations.
  48025. CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
  48026. // The token to use to retrieve the next page of results. This value is null
  48027. // when there are no more results to return.
  48028. NextToken *string `locationName:"nextToken" type:"string"`
  48029. }
  48030. // String returns the string representation
  48031. func (s DescribeCapacityReservationsOutput) String() string {
  48032. return awsutil.Prettify(s)
  48033. }
  48034. // GoString returns the string representation
  48035. func (s DescribeCapacityReservationsOutput) GoString() string {
  48036. return s.String()
  48037. }
  48038. // SetCapacityReservations sets the CapacityReservations field's value.
  48039. func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
  48040. s.CapacityReservations = v
  48041. return s
  48042. }
  48043. // SetNextToken sets the NextToken field's value.
  48044. func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
  48045. s.NextToken = &v
  48046. return s
  48047. }
  48048. type DescribeClassicLinkInstancesInput struct {
  48049. _ struct{} `type:"structure"`
  48050. // Checks whether you have the required permissions for the action, without
  48051. // actually making the request, and provides an error response. If you have
  48052. // the required permissions, the error response is DryRunOperation. Otherwise,
  48053. // it is UnauthorizedOperation.
  48054. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48055. // One or more filters.
  48056. //
  48057. // * group-id - The ID of a VPC security group that's associated with the
  48058. // instance.
  48059. //
  48060. // * instance-id - The ID of the instance.
  48061. //
  48062. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  48063. // Use the tag key in the filter name and the tag value as the filter value.
  48064. // For example, to find all resources that have a tag with the key Owner
  48065. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  48066. // the filter value.
  48067. //
  48068. // * tag-key - The key of a tag assigned to the resource. Use this filter
  48069. // to find all resources assigned a tag with a specific key, regardless of
  48070. // the tag value.
  48071. //
  48072. // * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
  48073. // The ID of the VPC that the instance is linked to.
  48074. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48075. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  48076. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  48077. // The maximum number of results to return with a single call. To retrieve the
  48078. // remaining results, make another call with the returned nextToken value.
  48079. //
  48080. // Constraint: If the value is greater than 1000, we return only 1000 items.
  48081. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  48082. // The token for the next page of results.
  48083. NextToken *string `locationName:"nextToken" type:"string"`
  48084. }
  48085. // String returns the string representation
  48086. func (s DescribeClassicLinkInstancesInput) String() string {
  48087. return awsutil.Prettify(s)
  48088. }
  48089. // GoString returns the string representation
  48090. func (s DescribeClassicLinkInstancesInput) GoString() string {
  48091. return s.String()
  48092. }
  48093. // Validate inspects the fields of the type to determine if they are valid.
  48094. func (s *DescribeClassicLinkInstancesInput) Validate() error {
  48095. invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"}
  48096. if s.MaxResults != nil && *s.MaxResults < 5 {
  48097. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48098. }
  48099. if invalidParams.Len() > 0 {
  48100. return invalidParams
  48101. }
  48102. return nil
  48103. }
  48104. // SetDryRun sets the DryRun field's value.
  48105. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  48106. s.DryRun = &v
  48107. return s
  48108. }
  48109. // SetFilters sets the Filters field's value.
  48110. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  48111. s.Filters = v
  48112. return s
  48113. }
  48114. // SetInstanceIds sets the InstanceIds field's value.
  48115. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  48116. s.InstanceIds = v
  48117. return s
  48118. }
  48119. // SetMaxResults sets the MaxResults field's value.
  48120. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  48121. s.MaxResults = &v
  48122. return s
  48123. }
  48124. // SetNextToken sets the NextToken field's value.
  48125. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  48126. s.NextToken = &v
  48127. return s
  48128. }
  48129. type DescribeClassicLinkInstancesOutput struct {
  48130. _ struct{} `type:"structure"`
  48131. // Information about one or more linked EC2-Classic instances.
  48132. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  48133. // The token to use to retrieve the next page of results. This value is null
  48134. // when there are no more results to return.
  48135. NextToken *string `locationName:"nextToken" type:"string"`
  48136. }
  48137. // String returns the string representation
  48138. func (s DescribeClassicLinkInstancesOutput) String() string {
  48139. return awsutil.Prettify(s)
  48140. }
  48141. // GoString returns the string representation
  48142. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  48143. return s.String()
  48144. }
  48145. // SetInstances sets the Instances field's value.
  48146. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  48147. s.Instances = v
  48148. return s
  48149. }
  48150. // SetNextToken sets the NextToken field's value.
  48151. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  48152. s.NextToken = &v
  48153. return s
  48154. }
  48155. type DescribeClientVpnAuthorizationRulesInput struct {
  48156. _ struct{} `type:"structure"`
  48157. // The ID of the Client VPN endpoint.
  48158. //
  48159. // ClientVpnEndpointId is a required field
  48160. ClientVpnEndpointId *string `type:"string" required:"true"`
  48161. // Checks whether you have the required permissions for the action, without
  48162. // actually making the request, and provides an error response. If you have
  48163. // the required permissions, the error response is DryRunOperation. Otherwise,
  48164. // it is UnauthorizedOperation.
  48165. DryRun *bool `type:"boolean"`
  48166. // One or more filters. Filter names and values are case-sensitive.
  48167. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48168. // The maximum number of results to return for the request in a single page.
  48169. // The remaining results can be seen by sending another request with the nextToken
  48170. // value.
  48171. MaxResults *int64 `min:"5" type:"integer"`
  48172. // The token to retrieve the next page of results.
  48173. NextToken *string `type:"string"`
  48174. }
  48175. // String returns the string representation
  48176. func (s DescribeClientVpnAuthorizationRulesInput) String() string {
  48177. return awsutil.Prettify(s)
  48178. }
  48179. // GoString returns the string representation
  48180. func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
  48181. return s.String()
  48182. }
  48183. // Validate inspects the fields of the type to determine if they are valid.
  48184. func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
  48185. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
  48186. if s.ClientVpnEndpointId == nil {
  48187. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  48188. }
  48189. if s.MaxResults != nil && *s.MaxResults < 5 {
  48190. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48191. }
  48192. if invalidParams.Len() > 0 {
  48193. return invalidParams
  48194. }
  48195. return nil
  48196. }
  48197. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  48198. func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
  48199. s.ClientVpnEndpointId = &v
  48200. return s
  48201. }
  48202. // SetDryRun sets the DryRun field's value.
  48203. func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
  48204. s.DryRun = &v
  48205. return s
  48206. }
  48207. // SetFilters sets the Filters field's value.
  48208. func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
  48209. s.Filters = v
  48210. return s
  48211. }
  48212. // SetMaxResults sets the MaxResults field's value.
  48213. func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
  48214. s.MaxResults = &v
  48215. return s
  48216. }
  48217. // SetNextToken sets the NextToken field's value.
  48218. func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
  48219. s.NextToken = &v
  48220. return s
  48221. }
  48222. type DescribeClientVpnAuthorizationRulesOutput struct {
  48223. _ struct{} `type:"structure"`
  48224. // Information about the authorization rules.
  48225. AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
  48226. // The token to use to retrieve the next page of results. This value is null
  48227. // when there are no more results to return.
  48228. NextToken *string `locationName:"nextToken" type:"string"`
  48229. }
  48230. // String returns the string representation
  48231. func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
  48232. return awsutil.Prettify(s)
  48233. }
  48234. // GoString returns the string representation
  48235. func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
  48236. return s.String()
  48237. }
  48238. // SetAuthorizationRules sets the AuthorizationRules field's value.
  48239. func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
  48240. s.AuthorizationRules = v
  48241. return s
  48242. }
  48243. // SetNextToken sets the NextToken field's value.
  48244. func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
  48245. s.NextToken = &v
  48246. return s
  48247. }
  48248. type DescribeClientVpnConnectionsInput struct {
  48249. _ struct{} `type:"structure"`
  48250. // The ID of the Client VPN endpoint.
  48251. //
  48252. // ClientVpnEndpointId is a required field
  48253. ClientVpnEndpointId *string `type:"string" required:"true"`
  48254. // Checks whether you have the required permissions for the action, without
  48255. // actually making the request, and provides an error response. If you have
  48256. // the required permissions, the error response is DryRunOperation. Otherwise,
  48257. // it is UnauthorizedOperation.
  48258. DryRun *bool `type:"boolean"`
  48259. // One or more filters. Filter names and values are case-sensitive.
  48260. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48261. // The maximum number of results to return for the request in a single page.
  48262. // The remaining results can be seen by sending another request with the nextToken
  48263. // value.
  48264. MaxResults *int64 `min:"5" type:"integer"`
  48265. // The token to retrieve the next page of results.
  48266. NextToken *string `type:"string"`
  48267. }
  48268. // String returns the string representation
  48269. func (s DescribeClientVpnConnectionsInput) String() string {
  48270. return awsutil.Prettify(s)
  48271. }
  48272. // GoString returns the string representation
  48273. func (s DescribeClientVpnConnectionsInput) GoString() string {
  48274. return s.String()
  48275. }
  48276. // Validate inspects the fields of the type to determine if they are valid.
  48277. func (s *DescribeClientVpnConnectionsInput) Validate() error {
  48278. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
  48279. if s.ClientVpnEndpointId == nil {
  48280. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  48281. }
  48282. if s.MaxResults != nil && *s.MaxResults < 5 {
  48283. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48284. }
  48285. if invalidParams.Len() > 0 {
  48286. return invalidParams
  48287. }
  48288. return nil
  48289. }
  48290. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  48291. func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
  48292. s.ClientVpnEndpointId = &v
  48293. return s
  48294. }
  48295. // SetDryRun sets the DryRun field's value.
  48296. func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
  48297. s.DryRun = &v
  48298. return s
  48299. }
  48300. // SetFilters sets the Filters field's value.
  48301. func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
  48302. s.Filters = v
  48303. return s
  48304. }
  48305. // SetMaxResults sets the MaxResults field's value.
  48306. func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
  48307. s.MaxResults = &v
  48308. return s
  48309. }
  48310. // SetNextToken sets the NextToken field's value.
  48311. func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
  48312. s.NextToken = &v
  48313. return s
  48314. }
  48315. type DescribeClientVpnConnectionsOutput struct {
  48316. _ struct{} `type:"structure"`
  48317. // Information about the active and terminated client connections.
  48318. Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
  48319. // The token to use to retrieve the next page of results. This value is null
  48320. // when there are no more results to return.
  48321. NextToken *string `locationName:"nextToken" type:"string"`
  48322. }
  48323. // String returns the string representation
  48324. func (s DescribeClientVpnConnectionsOutput) String() string {
  48325. return awsutil.Prettify(s)
  48326. }
  48327. // GoString returns the string representation
  48328. func (s DescribeClientVpnConnectionsOutput) GoString() string {
  48329. return s.String()
  48330. }
  48331. // SetConnections sets the Connections field's value.
  48332. func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
  48333. s.Connections = v
  48334. return s
  48335. }
  48336. // SetNextToken sets the NextToken field's value.
  48337. func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
  48338. s.NextToken = &v
  48339. return s
  48340. }
  48341. type DescribeClientVpnEndpointsInput struct {
  48342. _ struct{} `type:"structure"`
  48343. // The ID of the Client VPN endpoint.
  48344. ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
  48345. // Checks whether you have the required permissions for the action, without
  48346. // actually making the request, and provides an error response. If you have
  48347. // the required permissions, the error response is DryRunOperation. Otherwise,
  48348. // it is UnauthorizedOperation.
  48349. DryRun *bool `type:"boolean"`
  48350. // One or more filters. Filter names and values are case-sensitive.
  48351. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48352. // The maximum number of results to return for the request in a single page.
  48353. // The remaining results can be seen by sending another request with the nextToken
  48354. // value.
  48355. MaxResults *int64 `min:"5" type:"integer"`
  48356. // The token to retrieve the next page of results.
  48357. NextToken *string `type:"string"`
  48358. }
  48359. // String returns the string representation
  48360. func (s DescribeClientVpnEndpointsInput) String() string {
  48361. return awsutil.Prettify(s)
  48362. }
  48363. // GoString returns the string representation
  48364. func (s DescribeClientVpnEndpointsInput) GoString() string {
  48365. return s.String()
  48366. }
  48367. // Validate inspects the fields of the type to determine if they are valid.
  48368. func (s *DescribeClientVpnEndpointsInput) Validate() error {
  48369. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
  48370. if s.MaxResults != nil && *s.MaxResults < 5 {
  48371. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48372. }
  48373. if invalidParams.Len() > 0 {
  48374. return invalidParams
  48375. }
  48376. return nil
  48377. }
  48378. // SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
  48379. func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
  48380. s.ClientVpnEndpointIds = v
  48381. return s
  48382. }
  48383. // SetDryRun sets the DryRun field's value.
  48384. func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
  48385. s.DryRun = &v
  48386. return s
  48387. }
  48388. // SetFilters sets the Filters field's value.
  48389. func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
  48390. s.Filters = v
  48391. return s
  48392. }
  48393. // SetMaxResults sets the MaxResults field's value.
  48394. func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
  48395. s.MaxResults = &v
  48396. return s
  48397. }
  48398. // SetNextToken sets the NextToken field's value.
  48399. func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
  48400. s.NextToken = &v
  48401. return s
  48402. }
  48403. type DescribeClientVpnEndpointsOutput struct {
  48404. _ struct{} `type:"structure"`
  48405. // Information about the Client VPN endpoints.
  48406. ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
  48407. // The token to use to retrieve the next page of results. This value is null
  48408. // when there are no more results to return.
  48409. NextToken *string `locationName:"nextToken" type:"string"`
  48410. }
  48411. // String returns the string representation
  48412. func (s DescribeClientVpnEndpointsOutput) String() string {
  48413. return awsutil.Prettify(s)
  48414. }
  48415. // GoString returns the string representation
  48416. func (s DescribeClientVpnEndpointsOutput) GoString() string {
  48417. return s.String()
  48418. }
  48419. // SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
  48420. func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
  48421. s.ClientVpnEndpoints = v
  48422. return s
  48423. }
  48424. // SetNextToken sets the NextToken field's value.
  48425. func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
  48426. s.NextToken = &v
  48427. return s
  48428. }
  48429. type DescribeClientVpnRoutesInput struct {
  48430. _ struct{} `type:"structure"`
  48431. // The ID of the Client VPN endpoint.
  48432. //
  48433. // ClientVpnEndpointId is a required field
  48434. ClientVpnEndpointId *string `type:"string" required:"true"`
  48435. // Checks whether you have the required permissions for the action, without
  48436. // actually making the request, and provides an error response. If you have
  48437. // the required permissions, the error response is DryRunOperation. Otherwise,
  48438. // it is UnauthorizedOperation.
  48439. DryRun *bool `type:"boolean"`
  48440. // One or more filters. Filter names and values are case-sensitive.
  48441. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48442. // The maximum number of results to return for the request in a single page.
  48443. // The remaining results can be seen by sending another request with the nextToken
  48444. // value.
  48445. MaxResults *int64 `min:"5" type:"integer"`
  48446. // The token to retrieve the next page of results.
  48447. NextToken *string `type:"string"`
  48448. }
  48449. // String returns the string representation
  48450. func (s DescribeClientVpnRoutesInput) String() string {
  48451. return awsutil.Prettify(s)
  48452. }
  48453. // GoString returns the string representation
  48454. func (s DescribeClientVpnRoutesInput) GoString() string {
  48455. return s.String()
  48456. }
  48457. // Validate inspects the fields of the type to determine if they are valid.
  48458. func (s *DescribeClientVpnRoutesInput) Validate() error {
  48459. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
  48460. if s.ClientVpnEndpointId == nil {
  48461. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  48462. }
  48463. if s.MaxResults != nil && *s.MaxResults < 5 {
  48464. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48465. }
  48466. if invalidParams.Len() > 0 {
  48467. return invalidParams
  48468. }
  48469. return nil
  48470. }
  48471. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  48472. func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
  48473. s.ClientVpnEndpointId = &v
  48474. return s
  48475. }
  48476. // SetDryRun sets the DryRun field's value.
  48477. func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
  48478. s.DryRun = &v
  48479. return s
  48480. }
  48481. // SetFilters sets the Filters field's value.
  48482. func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
  48483. s.Filters = v
  48484. return s
  48485. }
  48486. // SetMaxResults sets the MaxResults field's value.
  48487. func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
  48488. s.MaxResults = &v
  48489. return s
  48490. }
  48491. // SetNextToken sets the NextToken field's value.
  48492. func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
  48493. s.NextToken = &v
  48494. return s
  48495. }
  48496. type DescribeClientVpnRoutesOutput struct {
  48497. _ struct{} `type:"structure"`
  48498. // The token to use to retrieve the next page of results. This value is null
  48499. // when there are no more results to return.
  48500. NextToken *string `locationName:"nextToken" type:"string"`
  48501. // Information about the Client VPN endpoint routes.
  48502. Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
  48503. }
  48504. // String returns the string representation
  48505. func (s DescribeClientVpnRoutesOutput) String() string {
  48506. return awsutil.Prettify(s)
  48507. }
  48508. // GoString returns the string representation
  48509. func (s DescribeClientVpnRoutesOutput) GoString() string {
  48510. return s.String()
  48511. }
  48512. // SetNextToken sets the NextToken field's value.
  48513. func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
  48514. s.NextToken = &v
  48515. return s
  48516. }
  48517. // SetRoutes sets the Routes field's value.
  48518. func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
  48519. s.Routes = v
  48520. return s
  48521. }
  48522. type DescribeClientVpnTargetNetworksInput struct {
  48523. _ struct{} `type:"structure"`
  48524. // The IDs of the target network associations.
  48525. AssociationIds []*string `locationNameList:"item" type:"list"`
  48526. // The ID of the Client VPN endpoint.
  48527. //
  48528. // ClientVpnEndpointId is a required field
  48529. ClientVpnEndpointId *string `type:"string" required:"true"`
  48530. // Checks whether you have the required permissions for the action, without
  48531. // actually making the request, and provides an error response. If you have
  48532. // the required permissions, the error response is DryRunOperation. Otherwise,
  48533. // it is UnauthorizedOperation.
  48534. DryRun *bool `type:"boolean"`
  48535. // One or more filters. Filter names and values are case-sensitive.
  48536. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48537. // The maximum number of results to return for the request in a single page.
  48538. // The remaining results can be seen by sending another request with the nextToken
  48539. // value.
  48540. MaxResults *int64 `min:"5" type:"integer"`
  48541. // The token to retrieve the next page of results.
  48542. NextToken *string `type:"string"`
  48543. }
  48544. // String returns the string representation
  48545. func (s DescribeClientVpnTargetNetworksInput) String() string {
  48546. return awsutil.Prettify(s)
  48547. }
  48548. // GoString returns the string representation
  48549. func (s DescribeClientVpnTargetNetworksInput) GoString() string {
  48550. return s.String()
  48551. }
  48552. // Validate inspects the fields of the type to determine if they are valid.
  48553. func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
  48554. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
  48555. if s.ClientVpnEndpointId == nil {
  48556. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  48557. }
  48558. if s.MaxResults != nil && *s.MaxResults < 5 {
  48559. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48560. }
  48561. if invalidParams.Len() > 0 {
  48562. return invalidParams
  48563. }
  48564. return nil
  48565. }
  48566. // SetAssociationIds sets the AssociationIds field's value.
  48567. func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
  48568. s.AssociationIds = v
  48569. return s
  48570. }
  48571. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  48572. func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
  48573. s.ClientVpnEndpointId = &v
  48574. return s
  48575. }
  48576. // SetDryRun sets the DryRun field's value.
  48577. func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
  48578. s.DryRun = &v
  48579. return s
  48580. }
  48581. // SetFilters sets the Filters field's value.
  48582. func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
  48583. s.Filters = v
  48584. return s
  48585. }
  48586. // SetMaxResults sets the MaxResults field's value.
  48587. func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
  48588. s.MaxResults = &v
  48589. return s
  48590. }
  48591. // SetNextToken sets the NextToken field's value.
  48592. func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
  48593. s.NextToken = &v
  48594. return s
  48595. }
  48596. type DescribeClientVpnTargetNetworksOutput struct {
  48597. _ struct{} `type:"structure"`
  48598. // Information about the associated target networks.
  48599. ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
  48600. // The token to use to retrieve the next page of results. This value is null
  48601. // when there are no more results to return.
  48602. NextToken *string `locationName:"nextToken" type:"string"`
  48603. }
  48604. // String returns the string representation
  48605. func (s DescribeClientVpnTargetNetworksOutput) String() string {
  48606. return awsutil.Prettify(s)
  48607. }
  48608. // GoString returns the string representation
  48609. func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
  48610. return s.String()
  48611. }
  48612. // SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
  48613. func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
  48614. s.ClientVpnTargetNetworks = v
  48615. return s
  48616. }
  48617. // SetNextToken sets the NextToken field's value.
  48618. func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
  48619. s.NextToken = &v
  48620. return s
  48621. }
  48622. type DescribeCoipPoolsInput struct {
  48623. _ struct{} `type:"structure"`
  48624. // Checks whether you have the required permissions for the action, without
  48625. // actually making the request, and provides an error response. If you have
  48626. // the required permissions, the error response is DryRunOperation. Otherwise,
  48627. // it is UnauthorizedOperation.
  48628. DryRun *bool `type:"boolean"`
  48629. // The filters. The following are the possible values:
  48630. //
  48631. // * coip-pool.pool-id
  48632. //
  48633. // * coip-pool.local-gateway-route-table-id
  48634. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48635. // The maximum number of results to return with a single call. To retrieve the
  48636. // remaining results, make another call with the returned nextToken value.
  48637. MaxResults *int64 `min:"5" type:"integer"`
  48638. // The token for the next page of results.
  48639. NextToken *string `type:"string"`
  48640. // The IDs of the address pools.
  48641. PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
  48642. }
  48643. // String returns the string representation
  48644. func (s DescribeCoipPoolsInput) String() string {
  48645. return awsutil.Prettify(s)
  48646. }
  48647. // GoString returns the string representation
  48648. func (s DescribeCoipPoolsInput) GoString() string {
  48649. return s.String()
  48650. }
  48651. // Validate inspects the fields of the type to determine if they are valid.
  48652. func (s *DescribeCoipPoolsInput) Validate() error {
  48653. invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
  48654. if s.MaxResults != nil && *s.MaxResults < 5 {
  48655. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48656. }
  48657. if invalidParams.Len() > 0 {
  48658. return invalidParams
  48659. }
  48660. return nil
  48661. }
  48662. // SetDryRun sets the DryRun field's value.
  48663. func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
  48664. s.DryRun = &v
  48665. return s
  48666. }
  48667. // SetFilters sets the Filters field's value.
  48668. func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
  48669. s.Filters = v
  48670. return s
  48671. }
  48672. // SetMaxResults sets the MaxResults field's value.
  48673. func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
  48674. s.MaxResults = &v
  48675. return s
  48676. }
  48677. // SetNextToken sets the NextToken field's value.
  48678. func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
  48679. s.NextToken = &v
  48680. return s
  48681. }
  48682. // SetPoolIds sets the PoolIds field's value.
  48683. func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
  48684. s.PoolIds = v
  48685. return s
  48686. }
  48687. type DescribeCoipPoolsOutput struct {
  48688. _ struct{} `type:"structure"`
  48689. // Information about the address pools.
  48690. CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
  48691. // The token to use to retrieve the next page of results. This value is null
  48692. // when there are no more results to return.
  48693. NextToken *string `locationName:"nextToken" type:"string"`
  48694. }
  48695. // String returns the string representation
  48696. func (s DescribeCoipPoolsOutput) String() string {
  48697. return awsutil.Prettify(s)
  48698. }
  48699. // GoString returns the string representation
  48700. func (s DescribeCoipPoolsOutput) GoString() string {
  48701. return s.String()
  48702. }
  48703. // SetCoipPools sets the CoipPools field's value.
  48704. func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
  48705. s.CoipPools = v
  48706. return s
  48707. }
  48708. // SetNextToken sets the NextToken field's value.
  48709. func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
  48710. s.NextToken = &v
  48711. return s
  48712. }
  48713. type DescribeConversionTasksInput struct {
  48714. _ struct{} `type:"structure"`
  48715. // The conversion task IDs.
  48716. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  48717. // Checks whether you have the required permissions for the action, without
  48718. // actually making the request, and provides an error response. If you have
  48719. // the required permissions, the error response is DryRunOperation. Otherwise,
  48720. // it is UnauthorizedOperation.
  48721. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48722. }
  48723. // String returns the string representation
  48724. func (s DescribeConversionTasksInput) String() string {
  48725. return awsutil.Prettify(s)
  48726. }
  48727. // GoString returns the string representation
  48728. func (s DescribeConversionTasksInput) GoString() string {
  48729. return s.String()
  48730. }
  48731. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  48732. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  48733. s.ConversionTaskIds = v
  48734. return s
  48735. }
  48736. // SetDryRun sets the DryRun field's value.
  48737. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  48738. s.DryRun = &v
  48739. return s
  48740. }
  48741. type DescribeConversionTasksOutput struct {
  48742. _ struct{} `type:"structure"`
  48743. // Information about the conversion tasks.
  48744. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  48745. }
  48746. // String returns the string representation
  48747. func (s DescribeConversionTasksOutput) String() string {
  48748. return awsutil.Prettify(s)
  48749. }
  48750. // GoString returns the string representation
  48751. func (s DescribeConversionTasksOutput) GoString() string {
  48752. return s.String()
  48753. }
  48754. // SetConversionTasks sets the ConversionTasks field's value.
  48755. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  48756. s.ConversionTasks = v
  48757. return s
  48758. }
  48759. // Contains the parameters for DescribeCustomerGateways.
  48760. type DescribeCustomerGatewaysInput struct {
  48761. _ struct{} `type:"structure"`
  48762. // One or more customer gateway IDs.
  48763. //
  48764. // Default: Describes all your customer gateways.
  48765. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  48766. // Checks whether you have the required permissions for the action, without
  48767. // actually making the request, and provides an error response. If you have
  48768. // the required permissions, the error response is DryRunOperation. Otherwise,
  48769. // it is UnauthorizedOperation.
  48770. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48771. // One or more filters.
  48772. //
  48773. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  48774. // System Number (ASN).
  48775. //
  48776. // * customer-gateway-id - The ID of the customer gateway.
  48777. //
  48778. // * ip-address - The IP address of the customer gateway's Internet-routable
  48779. // external interface.
  48780. //
  48781. // * state - The state of the customer gateway (pending | available | deleting
  48782. // | deleted).
  48783. //
  48784. // * type - The type of customer gateway. Currently, the only supported type
  48785. // is ipsec.1.
  48786. //
  48787. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  48788. // Use the tag key in the filter name and the tag value as the filter value.
  48789. // For example, to find all resources that have a tag with the key Owner
  48790. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  48791. // the filter value.
  48792. //
  48793. // * tag-key - The key of a tag assigned to the resource. Use this filter
  48794. // to find all resources assigned a tag with a specific key, regardless of
  48795. // the tag value.
  48796. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48797. }
  48798. // String returns the string representation
  48799. func (s DescribeCustomerGatewaysInput) String() string {
  48800. return awsutil.Prettify(s)
  48801. }
  48802. // GoString returns the string representation
  48803. func (s DescribeCustomerGatewaysInput) GoString() string {
  48804. return s.String()
  48805. }
  48806. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  48807. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  48808. s.CustomerGatewayIds = v
  48809. return s
  48810. }
  48811. // SetDryRun sets the DryRun field's value.
  48812. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  48813. s.DryRun = &v
  48814. return s
  48815. }
  48816. // SetFilters sets the Filters field's value.
  48817. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  48818. s.Filters = v
  48819. return s
  48820. }
  48821. // Contains the output of DescribeCustomerGateways.
  48822. type DescribeCustomerGatewaysOutput struct {
  48823. _ struct{} `type:"structure"`
  48824. // Information about one or more customer gateways.
  48825. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  48826. }
  48827. // String returns the string representation
  48828. func (s DescribeCustomerGatewaysOutput) String() string {
  48829. return awsutil.Prettify(s)
  48830. }
  48831. // GoString returns the string representation
  48832. func (s DescribeCustomerGatewaysOutput) GoString() string {
  48833. return s.String()
  48834. }
  48835. // SetCustomerGateways sets the CustomerGateways field's value.
  48836. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  48837. s.CustomerGateways = v
  48838. return s
  48839. }
  48840. type DescribeDhcpOptionsInput struct {
  48841. _ struct{} `type:"structure"`
  48842. // The IDs of one or more DHCP options sets.
  48843. //
  48844. // Default: Describes all your DHCP options sets.
  48845. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  48846. // Checks whether you have the required permissions for the action, without
  48847. // actually making the request, and provides an error response. If you have
  48848. // the required permissions, the error response is DryRunOperation. Otherwise,
  48849. // it is UnauthorizedOperation.
  48850. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48851. // One or more filters.
  48852. //
  48853. // * dhcp-options-id - The ID of a DHCP options set.
  48854. //
  48855. // * key - The key for one of the options (for example, domain-name).
  48856. //
  48857. // * value - The value for one of the options.
  48858. //
  48859. // * owner-id - The ID of the AWS account that owns the DHCP options set.
  48860. //
  48861. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  48862. // Use the tag key in the filter name and the tag value as the filter value.
  48863. // For example, to find all resources that have a tag with the key Owner
  48864. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  48865. // the filter value.
  48866. //
  48867. // * tag-key - The key of a tag assigned to the resource. Use this filter
  48868. // to find all resources assigned a tag with a specific key, regardless of
  48869. // the tag value.
  48870. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48871. // The maximum number of results to return with a single call. To retrieve the
  48872. // remaining results, make another call with the returned nextToken value.
  48873. MaxResults *int64 `min:"5" type:"integer"`
  48874. // The token for the next page of results.
  48875. NextToken *string `type:"string"`
  48876. }
  48877. // String returns the string representation
  48878. func (s DescribeDhcpOptionsInput) String() string {
  48879. return awsutil.Prettify(s)
  48880. }
  48881. // GoString returns the string representation
  48882. func (s DescribeDhcpOptionsInput) GoString() string {
  48883. return s.String()
  48884. }
  48885. // Validate inspects the fields of the type to determine if they are valid.
  48886. func (s *DescribeDhcpOptionsInput) Validate() error {
  48887. invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
  48888. if s.MaxResults != nil && *s.MaxResults < 5 {
  48889. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48890. }
  48891. if invalidParams.Len() > 0 {
  48892. return invalidParams
  48893. }
  48894. return nil
  48895. }
  48896. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  48897. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  48898. s.DhcpOptionsIds = v
  48899. return s
  48900. }
  48901. // SetDryRun sets the DryRun field's value.
  48902. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  48903. s.DryRun = &v
  48904. return s
  48905. }
  48906. // SetFilters sets the Filters field's value.
  48907. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  48908. s.Filters = v
  48909. return s
  48910. }
  48911. // SetMaxResults sets the MaxResults field's value.
  48912. func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
  48913. s.MaxResults = &v
  48914. return s
  48915. }
  48916. // SetNextToken sets the NextToken field's value.
  48917. func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
  48918. s.NextToken = &v
  48919. return s
  48920. }
  48921. type DescribeDhcpOptionsOutput struct {
  48922. _ struct{} `type:"structure"`
  48923. // Information about one or more DHCP options sets.
  48924. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  48925. // The token to use to retrieve the next page of results. This value is null
  48926. // when there are no more results to return.
  48927. NextToken *string `locationName:"nextToken" type:"string"`
  48928. }
  48929. // String returns the string representation
  48930. func (s DescribeDhcpOptionsOutput) String() string {
  48931. return awsutil.Prettify(s)
  48932. }
  48933. // GoString returns the string representation
  48934. func (s DescribeDhcpOptionsOutput) GoString() string {
  48935. return s.String()
  48936. }
  48937. // SetDhcpOptions sets the DhcpOptions field's value.
  48938. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  48939. s.DhcpOptions = v
  48940. return s
  48941. }
  48942. // SetNextToken sets the NextToken field's value.
  48943. func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
  48944. s.NextToken = &v
  48945. return s
  48946. }
  48947. type DescribeEgressOnlyInternetGatewaysInput struct {
  48948. _ struct{} `type:"structure"`
  48949. // Checks whether you have the required permissions for the action, without
  48950. // actually making the request, and provides an error response. If you have
  48951. // the required permissions, the error response is DryRunOperation. Otherwise,
  48952. // it is UnauthorizedOperation.
  48953. DryRun *bool `type:"boolean"`
  48954. // One or more egress-only internet gateway IDs.
  48955. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  48956. // One or more filters.
  48957. //
  48958. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  48959. // Use the tag key in the filter name and the tag value as the filter value.
  48960. // For example, to find all resources that have a tag with the key Owner
  48961. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  48962. // the filter value.
  48963. //
  48964. // * tag-key - The key of a tag assigned to the resource. Use this filter
  48965. // to find all resources assigned a tag with a specific key, regardless of
  48966. // the tag value.
  48967. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  48968. // The maximum number of results to return with a single call. To retrieve the
  48969. // remaining results, make another call with the returned nextToken value.
  48970. MaxResults *int64 `min:"5" type:"integer"`
  48971. // The token for the next page of results.
  48972. NextToken *string `type:"string"`
  48973. }
  48974. // String returns the string representation
  48975. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  48976. return awsutil.Prettify(s)
  48977. }
  48978. // GoString returns the string representation
  48979. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  48980. return s.String()
  48981. }
  48982. // Validate inspects the fields of the type to determine if they are valid.
  48983. func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error {
  48984. invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"}
  48985. if s.MaxResults != nil && *s.MaxResults < 5 {
  48986. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  48987. }
  48988. if invalidParams.Len() > 0 {
  48989. return invalidParams
  48990. }
  48991. return nil
  48992. }
  48993. // SetDryRun sets the DryRun field's value.
  48994. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  48995. s.DryRun = &v
  48996. return s
  48997. }
  48998. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  48999. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  49000. s.EgressOnlyInternetGatewayIds = v
  49001. return s
  49002. }
  49003. // SetFilters sets the Filters field's value.
  49004. func (s *DescribeEgressOnlyInternetGatewaysInput) SetFilters(v []*Filter) *DescribeEgressOnlyInternetGatewaysInput {
  49005. s.Filters = v
  49006. return s
  49007. }
  49008. // SetMaxResults sets the MaxResults field's value.
  49009. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  49010. s.MaxResults = &v
  49011. return s
  49012. }
  49013. // SetNextToken sets the NextToken field's value.
  49014. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  49015. s.NextToken = &v
  49016. return s
  49017. }
  49018. type DescribeEgressOnlyInternetGatewaysOutput struct {
  49019. _ struct{} `type:"structure"`
  49020. // Information about the egress-only internet gateways.
  49021. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  49022. // The token to use to retrieve the next page of results. This value is null
  49023. // when there are no more results to return.
  49024. NextToken *string `locationName:"nextToken" type:"string"`
  49025. }
  49026. // String returns the string representation
  49027. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  49028. return awsutil.Prettify(s)
  49029. }
  49030. // GoString returns the string representation
  49031. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  49032. return s.String()
  49033. }
  49034. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  49035. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  49036. s.EgressOnlyInternetGateways = v
  49037. return s
  49038. }
  49039. // SetNextToken sets the NextToken field's value.
  49040. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  49041. s.NextToken = &v
  49042. return s
  49043. }
  49044. type DescribeElasticGpusInput struct {
  49045. _ struct{} `type:"structure"`
  49046. // Checks whether you have the required permissions for the action, without
  49047. // actually making the request, and provides an error response. If you have
  49048. // the required permissions, the error response is DryRunOperation. Otherwise,
  49049. // it is UnauthorizedOperation.
  49050. DryRun *bool `type:"boolean"`
  49051. // The Elastic Graphics accelerator IDs.
  49052. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
  49053. // The filters.
  49054. //
  49055. // * availability-zone - The Availability Zone in which the Elastic Graphics
  49056. // accelerator resides.
  49057. //
  49058. // * elastic-gpu-health - The status of the Elastic Graphics accelerator
  49059. // (OK | IMPAIRED).
  49060. //
  49061. // * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
  49062. //
  49063. // * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
  49064. // eg1.medium.
  49065. //
  49066. // * instance-id - The ID of the instance to which the Elastic Graphics accelerator
  49067. // is associated.
  49068. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49069. // The maximum number of results to return in a single call. To retrieve the
  49070. // remaining results, make another call with the returned NextToken value. This
  49071. // value can be between 5 and 1000.
  49072. MaxResults *int64 `min:"10" type:"integer"`
  49073. // The token to request the next page of results.
  49074. NextToken *string `type:"string"`
  49075. }
  49076. // String returns the string representation
  49077. func (s DescribeElasticGpusInput) String() string {
  49078. return awsutil.Prettify(s)
  49079. }
  49080. // GoString returns the string representation
  49081. func (s DescribeElasticGpusInput) GoString() string {
  49082. return s.String()
  49083. }
  49084. // Validate inspects the fields of the type to determine if they are valid.
  49085. func (s *DescribeElasticGpusInput) Validate() error {
  49086. invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
  49087. if s.MaxResults != nil && *s.MaxResults < 10 {
  49088. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
  49089. }
  49090. if invalidParams.Len() > 0 {
  49091. return invalidParams
  49092. }
  49093. return nil
  49094. }
  49095. // SetDryRun sets the DryRun field's value.
  49096. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
  49097. s.DryRun = &v
  49098. return s
  49099. }
  49100. // SetElasticGpuIds sets the ElasticGpuIds field's value.
  49101. func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
  49102. s.ElasticGpuIds = v
  49103. return s
  49104. }
  49105. // SetFilters sets the Filters field's value.
  49106. func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
  49107. s.Filters = v
  49108. return s
  49109. }
  49110. // SetMaxResults sets the MaxResults field's value.
  49111. func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
  49112. s.MaxResults = &v
  49113. return s
  49114. }
  49115. // SetNextToken sets the NextToken field's value.
  49116. func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
  49117. s.NextToken = &v
  49118. return s
  49119. }
  49120. type DescribeElasticGpusOutput struct {
  49121. _ struct{} `type:"structure"`
  49122. // Information about the Elastic Graphics accelerators.
  49123. ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
  49124. // The total number of items to return. If the total number of items available
  49125. // is more than the value specified in max-items then a Next-Token will be provided
  49126. // in the output that you can use to resume pagination.
  49127. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  49128. // The token to use to retrieve the next page of results. This value is null
  49129. // when there are no more results to return.
  49130. NextToken *string `locationName:"nextToken" type:"string"`
  49131. }
  49132. // String returns the string representation
  49133. func (s DescribeElasticGpusOutput) String() string {
  49134. return awsutil.Prettify(s)
  49135. }
  49136. // GoString returns the string representation
  49137. func (s DescribeElasticGpusOutput) GoString() string {
  49138. return s.String()
  49139. }
  49140. // SetElasticGpuSet sets the ElasticGpuSet field's value.
  49141. func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
  49142. s.ElasticGpuSet = v
  49143. return s
  49144. }
  49145. // SetMaxResults sets the MaxResults field's value.
  49146. func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
  49147. s.MaxResults = &v
  49148. return s
  49149. }
  49150. // SetNextToken sets the NextToken field's value.
  49151. func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
  49152. s.NextToken = &v
  49153. return s
  49154. }
  49155. type DescribeExportImageTasksInput struct {
  49156. _ struct{} `type:"structure"`
  49157. // Checks whether you have the required permissions for the action, without
  49158. // actually making the request, and provides an error response. If you have
  49159. // the required permissions, the error response is DryRunOperation. Otherwise,
  49160. // it is UnauthorizedOperation.
  49161. DryRun *bool `type:"boolean"`
  49162. // The IDs of the export image tasks.
  49163. ExportImageTaskIds []*string `locationName:"ExportImageTaskId" locationNameList:"ExportImageTaskId" type:"list"`
  49164. // Filter tasks using the task-state filter and one of the following values:
  49165. // active, completed, deleting, or deleted.
  49166. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49167. // The maximum number of results to return in a single call.
  49168. MaxResults *int64 `min:"1" type:"integer"`
  49169. // A token that indicates the next page of results.
  49170. NextToken *string `type:"string"`
  49171. }
  49172. // String returns the string representation
  49173. func (s DescribeExportImageTasksInput) String() string {
  49174. return awsutil.Prettify(s)
  49175. }
  49176. // GoString returns the string representation
  49177. func (s DescribeExportImageTasksInput) GoString() string {
  49178. return s.String()
  49179. }
  49180. // Validate inspects the fields of the type to determine if they are valid.
  49181. func (s *DescribeExportImageTasksInput) Validate() error {
  49182. invalidParams := request.ErrInvalidParams{Context: "DescribeExportImageTasksInput"}
  49183. if s.MaxResults != nil && *s.MaxResults < 1 {
  49184. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  49185. }
  49186. if invalidParams.Len() > 0 {
  49187. return invalidParams
  49188. }
  49189. return nil
  49190. }
  49191. // SetDryRun sets the DryRun field's value.
  49192. func (s *DescribeExportImageTasksInput) SetDryRun(v bool) *DescribeExportImageTasksInput {
  49193. s.DryRun = &v
  49194. return s
  49195. }
  49196. // SetExportImageTaskIds sets the ExportImageTaskIds field's value.
  49197. func (s *DescribeExportImageTasksInput) SetExportImageTaskIds(v []*string) *DescribeExportImageTasksInput {
  49198. s.ExportImageTaskIds = v
  49199. return s
  49200. }
  49201. // SetFilters sets the Filters field's value.
  49202. func (s *DescribeExportImageTasksInput) SetFilters(v []*Filter) *DescribeExportImageTasksInput {
  49203. s.Filters = v
  49204. return s
  49205. }
  49206. // SetMaxResults sets the MaxResults field's value.
  49207. func (s *DescribeExportImageTasksInput) SetMaxResults(v int64) *DescribeExportImageTasksInput {
  49208. s.MaxResults = &v
  49209. return s
  49210. }
  49211. // SetNextToken sets the NextToken field's value.
  49212. func (s *DescribeExportImageTasksInput) SetNextToken(v string) *DescribeExportImageTasksInput {
  49213. s.NextToken = &v
  49214. return s
  49215. }
  49216. type DescribeExportImageTasksOutput struct {
  49217. _ struct{} `type:"structure"`
  49218. // Information about the export image tasks.
  49219. ExportImageTasks []*ExportImageTask `locationName:"exportImageTaskSet" locationNameList:"item" type:"list"`
  49220. // The token to use to get the next page of results. This value is null when
  49221. // there are no more results to return.
  49222. NextToken *string `locationName:"nextToken" type:"string"`
  49223. }
  49224. // String returns the string representation
  49225. func (s DescribeExportImageTasksOutput) String() string {
  49226. return awsutil.Prettify(s)
  49227. }
  49228. // GoString returns the string representation
  49229. func (s DescribeExportImageTasksOutput) GoString() string {
  49230. return s.String()
  49231. }
  49232. // SetExportImageTasks sets the ExportImageTasks field's value.
  49233. func (s *DescribeExportImageTasksOutput) SetExportImageTasks(v []*ExportImageTask) *DescribeExportImageTasksOutput {
  49234. s.ExportImageTasks = v
  49235. return s
  49236. }
  49237. // SetNextToken sets the NextToken field's value.
  49238. func (s *DescribeExportImageTasksOutput) SetNextToken(v string) *DescribeExportImageTasksOutput {
  49239. s.NextToken = &v
  49240. return s
  49241. }
  49242. type DescribeExportTasksInput struct {
  49243. _ struct{} `type:"structure"`
  49244. // The export task IDs.
  49245. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  49246. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49247. }
  49248. // String returns the string representation
  49249. func (s DescribeExportTasksInput) String() string {
  49250. return awsutil.Prettify(s)
  49251. }
  49252. // GoString returns the string representation
  49253. func (s DescribeExportTasksInput) GoString() string {
  49254. return s.String()
  49255. }
  49256. // SetExportTaskIds sets the ExportTaskIds field's value.
  49257. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  49258. s.ExportTaskIds = v
  49259. return s
  49260. }
  49261. // SetFilters sets the Filters field's value.
  49262. func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
  49263. s.Filters = v
  49264. return s
  49265. }
  49266. type DescribeExportTasksOutput struct {
  49267. _ struct{} `type:"structure"`
  49268. // Information about the export tasks.
  49269. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  49270. }
  49271. // String returns the string representation
  49272. func (s DescribeExportTasksOutput) String() string {
  49273. return awsutil.Prettify(s)
  49274. }
  49275. // GoString returns the string representation
  49276. func (s DescribeExportTasksOutput) GoString() string {
  49277. return s.String()
  49278. }
  49279. // SetExportTasks sets the ExportTasks field's value.
  49280. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  49281. s.ExportTasks = v
  49282. return s
  49283. }
  49284. // Describes fast snapshot restores for a snapshot.
  49285. type DescribeFastSnapshotRestoreSuccessItem struct {
  49286. _ struct{} `type:"structure"`
  49287. // The Availability Zone.
  49288. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  49289. // The time at which fast snapshot restores entered the disabled state.
  49290. DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
  49291. // The time at which fast snapshot restores entered the disabling state.
  49292. DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
  49293. // The time at which fast snapshot restores entered the enabled state.
  49294. EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
  49295. // The time at which fast snapshot restores entered the enabling state.
  49296. EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
  49297. // The time at which fast snapshot restores entered the optimizing state.
  49298. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
  49299. // The alias of the snapshot owner.
  49300. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  49301. // The ID of the AWS account that owns the snapshot.
  49302. OwnerId *string `locationName:"ownerId" type:"string"`
  49303. // The ID of the snapshot.
  49304. SnapshotId *string `locationName:"snapshotId" type:"string"`
  49305. // The state of fast snapshot restores.
  49306. State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
  49307. // The reason for the state transition. The possible values are as follows:
  49308. //
  49309. // * Client.UserInitiated - The state successfully transitioned to enabling
  49310. // or disabling.
  49311. //
  49312. // * Client.UserInitiated - Lifecycle state transition - The state successfully
  49313. // transitioned to optimizing, enabled, or disabled.
  49314. StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
  49315. }
  49316. // String returns the string representation
  49317. func (s DescribeFastSnapshotRestoreSuccessItem) String() string {
  49318. return awsutil.Prettify(s)
  49319. }
  49320. // GoString returns the string representation
  49321. func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string {
  49322. return s.String()
  49323. }
  49324. // SetAvailabilityZone sets the AvailabilityZone field's value.
  49325. func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49326. s.AvailabilityZone = &v
  49327. return s
  49328. }
  49329. // SetDisabledTime sets the DisabledTime field's value.
  49330. func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
  49331. s.DisabledTime = &v
  49332. return s
  49333. }
  49334. // SetDisablingTime sets the DisablingTime field's value.
  49335. func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
  49336. s.DisablingTime = &v
  49337. return s
  49338. }
  49339. // SetEnabledTime sets the EnabledTime field's value.
  49340. func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
  49341. s.EnabledTime = &v
  49342. return s
  49343. }
  49344. // SetEnablingTime sets the EnablingTime field's value.
  49345. func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
  49346. s.EnablingTime = &v
  49347. return s
  49348. }
  49349. // SetOptimizingTime sets the OptimizingTime field's value.
  49350. func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
  49351. s.OptimizingTime = &v
  49352. return s
  49353. }
  49354. // SetOwnerAlias sets the OwnerAlias field's value.
  49355. func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49356. s.OwnerAlias = &v
  49357. return s
  49358. }
  49359. // SetOwnerId sets the OwnerId field's value.
  49360. func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49361. s.OwnerId = &v
  49362. return s
  49363. }
  49364. // SetSnapshotId sets the SnapshotId field's value.
  49365. func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49366. s.SnapshotId = &v
  49367. return s
  49368. }
  49369. // SetState sets the State field's value.
  49370. func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49371. s.State = &v
  49372. return s
  49373. }
  49374. // SetStateTransitionReason sets the StateTransitionReason field's value.
  49375. func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem {
  49376. s.StateTransitionReason = &v
  49377. return s
  49378. }
  49379. type DescribeFastSnapshotRestoresInput struct {
  49380. _ struct{} `type:"structure"`
  49381. // Checks whether you have the required permissions for the action, without
  49382. // actually making the request, and provides an error response. If you have
  49383. // the required permissions, the error response is DryRunOperation. Otherwise,
  49384. // it is UnauthorizedOperation.
  49385. DryRun *bool `type:"boolean"`
  49386. // The filters. The possible values are:
  49387. //
  49388. // * availability-zone: The Availability Zone of the snapshot.
  49389. //
  49390. // * owner-id: The ID of the AWS account that owns the snapshot.
  49391. //
  49392. // * snapshot-id: The ID of the snapshot.
  49393. //
  49394. // * state: The state of fast snapshot restores for the snapshot (enabling
  49395. // | optimizing | enabled | disabling | disabled).
  49396. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49397. // The maximum number of results to return with a single call. To retrieve the
  49398. // remaining results, make another call with the returned nextToken value.
  49399. MaxResults *int64 `type:"integer"`
  49400. // The token for the next page of results.
  49401. NextToken *string `type:"string"`
  49402. }
  49403. // String returns the string representation
  49404. func (s DescribeFastSnapshotRestoresInput) String() string {
  49405. return awsutil.Prettify(s)
  49406. }
  49407. // GoString returns the string representation
  49408. func (s DescribeFastSnapshotRestoresInput) GoString() string {
  49409. return s.String()
  49410. }
  49411. // SetDryRun sets the DryRun field's value.
  49412. func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput {
  49413. s.DryRun = &v
  49414. return s
  49415. }
  49416. // SetFilters sets the Filters field's value.
  49417. func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput {
  49418. s.Filters = v
  49419. return s
  49420. }
  49421. // SetMaxResults sets the MaxResults field's value.
  49422. func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput {
  49423. s.MaxResults = &v
  49424. return s
  49425. }
  49426. // SetNextToken sets the NextToken field's value.
  49427. func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput {
  49428. s.NextToken = &v
  49429. return s
  49430. }
  49431. type DescribeFastSnapshotRestoresOutput struct {
  49432. _ struct{} `type:"structure"`
  49433. // Information about the state of fast snapshot restores.
  49434. FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"`
  49435. // The token to use to retrieve the next page of results. This value is null
  49436. // when there are no more results to return.
  49437. NextToken *string `locationName:"nextToken" type:"string"`
  49438. }
  49439. // String returns the string representation
  49440. func (s DescribeFastSnapshotRestoresOutput) String() string {
  49441. return awsutil.Prettify(s)
  49442. }
  49443. // GoString returns the string representation
  49444. func (s DescribeFastSnapshotRestoresOutput) GoString() string {
  49445. return s.String()
  49446. }
  49447. // SetFastSnapshotRestores sets the FastSnapshotRestores field's value.
  49448. func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput {
  49449. s.FastSnapshotRestores = v
  49450. return s
  49451. }
  49452. // SetNextToken sets the NextToken field's value.
  49453. func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput {
  49454. s.NextToken = &v
  49455. return s
  49456. }
  49457. // Describes the instances that could not be launched by the fleet.
  49458. type DescribeFleetError struct {
  49459. _ struct{} `type:"structure"`
  49460. // The error code that indicates why the instance could not be launched. For
  49461. // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  49462. ErrorCode *string `locationName:"errorCode" type:"string"`
  49463. // The error message that describes why the instance could not be launched.
  49464. // For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  49465. ErrorMessage *string `locationName:"errorMessage" type:"string"`
  49466. // The launch templates and overrides that were used for launching the instances.
  49467. // The values that you specify in the Overrides replace the values in the launch
  49468. // template.
  49469. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  49470. // Indicates if the instance that could not be launched was a Spot Instance
  49471. // or On-Demand Instance.
  49472. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  49473. }
  49474. // String returns the string representation
  49475. func (s DescribeFleetError) String() string {
  49476. return awsutil.Prettify(s)
  49477. }
  49478. // GoString returns the string representation
  49479. func (s DescribeFleetError) GoString() string {
  49480. return s.String()
  49481. }
  49482. // SetErrorCode sets the ErrorCode field's value.
  49483. func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
  49484. s.ErrorCode = &v
  49485. return s
  49486. }
  49487. // SetErrorMessage sets the ErrorMessage field's value.
  49488. func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
  49489. s.ErrorMessage = &v
  49490. return s
  49491. }
  49492. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  49493. func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
  49494. s.LaunchTemplateAndOverrides = v
  49495. return s
  49496. }
  49497. // SetLifecycle sets the Lifecycle field's value.
  49498. func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
  49499. s.Lifecycle = &v
  49500. return s
  49501. }
  49502. type DescribeFleetHistoryInput struct {
  49503. _ struct{} `type:"structure"`
  49504. // Checks whether you have the required permissions for the action, without
  49505. // actually making the request, and provides an error response. If you have
  49506. // the required permissions, the error response is DryRunOperation. Otherwise,
  49507. // it is UnauthorizedOperation.
  49508. DryRun *bool `type:"boolean"`
  49509. // The type of events to describe. By default, all events are described.
  49510. EventType *string `type:"string" enum:"FleetEventType"`
  49511. // The ID of the EC2 Fleet.
  49512. //
  49513. // FleetId is a required field
  49514. FleetId *string `type:"string" required:"true"`
  49515. // The maximum number of results to return in a single call. Specify a value
  49516. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  49517. // results, make another call with the returned NextToken value.
  49518. MaxResults *int64 `type:"integer"`
  49519. // The token for the next set of results.
  49520. NextToken *string `type:"string"`
  49521. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  49522. //
  49523. // StartTime is a required field
  49524. StartTime *time.Time `type:"timestamp" required:"true"`
  49525. }
  49526. // String returns the string representation
  49527. func (s DescribeFleetHistoryInput) String() string {
  49528. return awsutil.Prettify(s)
  49529. }
  49530. // GoString returns the string representation
  49531. func (s DescribeFleetHistoryInput) GoString() string {
  49532. return s.String()
  49533. }
  49534. // Validate inspects the fields of the type to determine if they are valid.
  49535. func (s *DescribeFleetHistoryInput) Validate() error {
  49536. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
  49537. if s.FleetId == nil {
  49538. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  49539. }
  49540. if s.StartTime == nil {
  49541. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  49542. }
  49543. if invalidParams.Len() > 0 {
  49544. return invalidParams
  49545. }
  49546. return nil
  49547. }
  49548. // SetDryRun sets the DryRun field's value.
  49549. func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
  49550. s.DryRun = &v
  49551. return s
  49552. }
  49553. // SetEventType sets the EventType field's value.
  49554. func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
  49555. s.EventType = &v
  49556. return s
  49557. }
  49558. // SetFleetId sets the FleetId field's value.
  49559. func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
  49560. s.FleetId = &v
  49561. return s
  49562. }
  49563. // SetMaxResults sets the MaxResults field's value.
  49564. func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
  49565. s.MaxResults = &v
  49566. return s
  49567. }
  49568. // SetNextToken sets the NextToken field's value.
  49569. func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
  49570. s.NextToken = &v
  49571. return s
  49572. }
  49573. // SetStartTime sets the StartTime field's value.
  49574. func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
  49575. s.StartTime = &v
  49576. return s
  49577. }
  49578. type DescribeFleetHistoryOutput struct {
  49579. _ struct{} `type:"structure"`
  49580. // The ID of the EC Fleet.
  49581. FleetId *string `locationName:"fleetId" type:"string"`
  49582. // Information about the events in the history of the EC2 Fleet.
  49583. HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
  49584. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  49585. // All records up to this time were retrieved.
  49586. //
  49587. // If nextToken indicates that there are more results, this value is not present.
  49588. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
  49589. // The token for the next set of results.
  49590. NextToken *string `locationName:"nextToken" type:"string"`
  49591. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  49592. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  49593. }
  49594. // String returns the string representation
  49595. func (s DescribeFleetHistoryOutput) String() string {
  49596. return awsutil.Prettify(s)
  49597. }
  49598. // GoString returns the string representation
  49599. func (s DescribeFleetHistoryOutput) GoString() string {
  49600. return s.String()
  49601. }
  49602. // SetFleetId sets the FleetId field's value.
  49603. func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
  49604. s.FleetId = &v
  49605. return s
  49606. }
  49607. // SetHistoryRecords sets the HistoryRecords field's value.
  49608. func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
  49609. s.HistoryRecords = v
  49610. return s
  49611. }
  49612. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  49613. func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
  49614. s.LastEvaluatedTime = &v
  49615. return s
  49616. }
  49617. // SetNextToken sets the NextToken field's value.
  49618. func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
  49619. s.NextToken = &v
  49620. return s
  49621. }
  49622. // SetStartTime sets the StartTime field's value.
  49623. func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
  49624. s.StartTime = &v
  49625. return s
  49626. }
  49627. type DescribeFleetInstancesInput struct {
  49628. _ struct{} `type:"structure"`
  49629. // Checks whether you have the required permissions for the action, without
  49630. // actually making the request, and provides an error response. If you have
  49631. // the required permissions, the error response is DryRunOperation. Otherwise,
  49632. // it is UnauthorizedOperation.
  49633. DryRun *bool `type:"boolean"`
  49634. // The filters.
  49635. //
  49636. // * instance-type - The instance type.
  49637. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49638. // The ID of the EC2 Fleet.
  49639. //
  49640. // FleetId is a required field
  49641. FleetId *string `type:"string" required:"true"`
  49642. // The maximum number of results to return in a single call. Specify a value
  49643. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  49644. // results, make another call with the returned NextToken value.
  49645. MaxResults *int64 `type:"integer"`
  49646. // The token for the next set of results.
  49647. NextToken *string `type:"string"`
  49648. }
  49649. // String returns the string representation
  49650. func (s DescribeFleetInstancesInput) String() string {
  49651. return awsutil.Prettify(s)
  49652. }
  49653. // GoString returns the string representation
  49654. func (s DescribeFleetInstancesInput) GoString() string {
  49655. return s.String()
  49656. }
  49657. // Validate inspects the fields of the type to determine if they are valid.
  49658. func (s *DescribeFleetInstancesInput) Validate() error {
  49659. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
  49660. if s.FleetId == nil {
  49661. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  49662. }
  49663. if invalidParams.Len() > 0 {
  49664. return invalidParams
  49665. }
  49666. return nil
  49667. }
  49668. // SetDryRun sets the DryRun field's value.
  49669. func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
  49670. s.DryRun = &v
  49671. return s
  49672. }
  49673. // SetFilters sets the Filters field's value.
  49674. func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
  49675. s.Filters = v
  49676. return s
  49677. }
  49678. // SetFleetId sets the FleetId field's value.
  49679. func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
  49680. s.FleetId = &v
  49681. return s
  49682. }
  49683. // SetMaxResults sets the MaxResults field's value.
  49684. func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
  49685. s.MaxResults = &v
  49686. return s
  49687. }
  49688. // SetNextToken sets the NextToken field's value.
  49689. func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
  49690. s.NextToken = &v
  49691. return s
  49692. }
  49693. type DescribeFleetInstancesOutput struct {
  49694. _ struct{} `type:"structure"`
  49695. // The running instances. This list is refreshed periodically and might be out
  49696. // of date.
  49697. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
  49698. // The ID of the EC2 Fleet.
  49699. FleetId *string `locationName:"fleetId" type:"string"`
  49700. // The token for the next set of results.
  49701. NextToken *string `locationName:"nextToken" type:"string"`
  49702. }
  49703. // String returns the string representation
  49704. func (s DescribeFleetInstancesOutput) String() string {
  49705. return awsutil.Prettify(s)
  49706. }
  49707. // GoString returns the string representation
  49708. func (s DescribeFleetInstancesOutput) GoString() string {
  49709. return s.String()
  49710. }
  49711. // SetActiveInstances sets the ActiveInstances field's value.
  49712. func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
  49713. s.ActiveInstances = v
  49714. return s
  49715. }
  49716. // SetFleetId sets the FleetId field's value.
  49717. func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
  49718. s.FleetId = &v
  49719. return s
  49720. }
  49721. // SetNextToken sets the NextToken field's value.
  49722. func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
  49723. s.NextToken = &v
  49724. return s
  49725. }
  49726. type DescribeFleetsInput struct {
  49727. _ struct{} `type:"structure"`
  49728. // Checks whether you have the required permissions for the action, without
  49729. // actually making the request, and provides an error response. If you have
  49730. // the required permissions, the error response is DryRunOperation. Otherwise,
  49731. // it is UnauthorizedOperation.
  49732. DryRun *bool `type:"boolean"`
  49733. // The filters.
  49734. //
  49735. // * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
  49736. // | pending-termination | fulfilled).
  49737. //
  49738. // * excess-capacity-termination-policy - Indicates whether to terminate
  49739. // running instances if the target capacity is decreased below the current
  49740. // EC2 Fleet size (true | false).
  49741. //
  49742. // * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
  49743. // | failed | deleted-running | deleted-terminating | modifying).
  49744. //
  49745. // * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
  49746. // unhealthy instances (true | false).
  49747. //
  49748. // * type - The type of request (instant | request | maintain).
  49749. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49750. // The ID of the EC2 Fleets.
  49751. FleetIds []*string `locationName:"FleetId" type:"list"`
  49752. // The maximum number of results to return in a single call. Specify a value
  49753. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  49754. // results, make another call with the returned NextToken value.
  49755. MaxResults *int64 `type:"integer"`
  49756. // The token for the next set of results.
  49757. NextToken *string `type:"string"`
  49758. }
  49759. // String returns the string representation
  49760. func (s DescribeFleetsInput) String() string {
  49761. return awsutil.Prettify(s)
  49762. }
  49763. // GoString returns the string representation
  49764. func (s DescribeFleetsInput) GoString() string {
  49765. return s.String()
  49766. }
  49767. // SetDryRun sets the DryRun field's value.
  49768. func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
  49769. s.DryRun = &v
  49770. return s
  49771. }
  49772. // SetFilters sets the Filters field's value.
  49773. func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
  49774. s.Filters = v
  49775. return s
  49776. }
  49777. // SetFleetIds sets the FleetIds field's value.
  49778. func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
  49779. s.FleetIds = v
  49780. return s
  49781. }
  49782. // SetMaxResults sets the MaxResults field's value.
  49783. func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
  49784. s.MaxResults = &v
  49785. return s
  49786. }
  49787. // SetNextToken sets the NextToken field's value.
  49788. func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
  49789. s.NextToken = &v
  49790. return s
  49791. }
  49792. // Describes the instances that were launched by the fleet.
  49793. type DescribeFleetsInstances struct {
  49794. _ struct{} `type:"structure"`
  49795. // The IDs of the instances.
  49796. InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
  49797. // The instance type.
  49798. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  49799. // The launch templates and overrides that were used for launching the instances.
  49800. // The values that you specify in the Overrides replace the values in the launch
  49801. // template.
  49802. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  49803. // Indicates if the instance that was launched is a Spot Instance or On-Demand
  49804. // Instance.
  49805. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  49806. // The value is Windows for Windows instances. Otherwise, the value is blank.
  49807. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  49808. }
  49809. // String returns the string representation
  49810. func (s DescribeFleetsInstances) String() string {
  49811. return awsutil.Prettify(s)
  49812. }
  49813. // GoString returns the string representation
  49814. func (s DescribeFleetsInstances) GoString() string {
  49815. return s.String()
  49816. }
  49817. // SetInstanceIds sets the InstanceIds field's value.
  49818. func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
  49819. s.InstanceIds = v
  49820. return s
  49821. }
  49822. // SetInstanceType sets the InstanceType field's value.
  49823. func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
  49824. s.InstanceType = &v
  49825. return s
  49826. }
  49827. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  49828. func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
  49829. s.LaunchTemplateAndOverrides = v
  49830. return s
  49831. }
  49832. // SetLifecycle sets the Lifecycle field's value.
  49833. func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
  49834. s.Lifecycle = &v
  49835. return s
  49836. }
  49837. // SetPlatform sets the Platform field's value.
  49838. func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
  49839. s.Platform = &v
  49840. return s
  49841. }
  49842. type DescribeFleetsOutput struct {
  49843. _ struct{} `type:"structure"`
  49844. // Information about the EC2 Fleets.
  49845. Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
  49846. // The token for the next set of results.
  49847. NextToken *string `locationName:"nextToken" type:"string"`
  49848. }
  49849. // String returns the string representation
  49850. func (s DescribeFleetsOutput) String() string {
  49851. return awsutil.Prettify(s)
  49852. }
  49853. // GoString returns the string representation
  49854. func (s DescribeFleetsOutput) GoString() string {
  49855. return s.String()
  49856. }
  49857. // SetFleets sets the Fleets field's value.
  49858. func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
  49859. s.Fleets = v
  49860. return s
  49861. }
  49862. // SetNextToken sets the NextToken field's value.
  49863. func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
  49864. s.NextToken = &v
  49865. return s
  49866. }
  49867. type DescribeFlowLogsInput struct {
  49868. _ struct{} `type:"structure"`
  49869. // Checks whether you have the required permissions for the action, without
  49870. // actually making the request, and provides an error response. If you have
  49871. // the required permissions, the error response is DryRunOperation. Otherwise,
  49872. // it is UnauthorizedOperation.
  49873. DryRun *bool `type:"boolean"`
  49874. // One or more filters.
  49875. //
  49876. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  49877. //
  49878. // * log-destination-type - The type of destination to which the flow log
  49879. // publishes data. Possible destination types include cloud-watch-logs and
  49880. // S3.
  49881. //
  49882. // * flow-log-id - The ID of the flow log.
  49883. //
  49884. // * log-group-name - The name of the log group.
  49885. //
  49886. // * resource-id - The ID of the VPC, subnet, or network interface.
  49887. //
  49888. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
  49889. Filter []*Filter `locationNameList:"Filter" type:"list"`
  49890. // One or more flow log IDs.
  49891. //
  49892. // Constraint: Maximum of 1000 flow log IDs.
  49893. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  49894. // The maximum number of results to return with a single call. To retrieve the
  49895. // remaining results, make another call with the returned nextToken value.
  49896. MaxResults *int64 `type:"integer"`
  49897. // The token for the next page of results.
  49898. NextToken *string `type:"string"`
  49899. }
  49900. // String returns the string representation
  49901. func (s DescribeFlowLogsInput) String() string {
  49902. return awsutil.Prettify(s)
  49903. }
  49904. // GoString returns the string representation
  49905. func (s DescribeFlowLogsInput) GoString() string {
  49906. return s.String()
  49907. }
  49908. // SetDryRun sets the DryRun field's value.
  49909. func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
  49910. s.DryRun = &v
  49911. return s
  49912. }
  49913. // SetFilter sets the Filter field's value.
  49914. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  49915. s.Filter = v
  49916. return s
  49917. }
  49918. // SetFlowLogIds sets the FlowLogIds field's value.
  49919. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  49920. s.FlowLogIds = v
  49921. return s
  49922. }
  49923. // SetMaxResults sets the MaxResults field's value.
  49924. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  49925. s.MaxResults = &v
  49926. return s
  49927. }
  49928. // SetNextToken sets the NextToken field's value.
  49929. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  49930. s.NextToken = &v
  49931. return s
  49932. }
  49933. type DescribeFlowLogsOutput struct {
  49934. _ struct{} `type:"structure"`
  49935. // Information about the flow logs.
  49936. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  49937. // The token to use to retrieve the next page of results. This value is null
  49938. // when there are no more results to return.
  49939. NextToken *string `locationName:"nextToken" type:"string"`
  49940. }
  49941. // String returns the string representation
  49942. func (s DescribeFlowLogsOutput) String() string {
  49943. return awsutil.Prettify(s)
  49944. }
  49945. // GoString returns the string representation
  49946. func (s DescribeFlowLogsOutput) GoString() string {
  49947. return s.String()
  49948. }
  49949. // SetFlowLogs sets the FlowLogs field's value.
  49950. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  49951. s.FlowLogs = v
  49952. return s
  49953. }
  49954. // SetNextToken sets the NextToken field's value.
  49955. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  49956. s.NextToken = &v
  49957. return s
  49958. }
  49959. type DescribeFpgaImageAttributeInput struct {
  49960. _ struct{} `type:"structure"`
  49961. // The AFI attribute.
  49962. //
  49963. // Attribute is a required field
  49964. Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
  49965. // Checks whether you have the required permissions for the action, without
  49966. // actually making the request, and provides an error response. If you have
  49967. // the required permissions, the error response is DryRunOperation. Otherwise,
  49968. // it is UnauthorizedOperation.
  49969. DryRun *bool `type:"boolean"`
  49970. // The ID of the AFI.
  49971. //
  49972. // FpgaImageId is a required field
  49973. FpgaImageId *string `type:"string" required:"true"`
  49974. }
  49975. // String returns the string representation
  49976. func (s DescribeFpgaImageAttributeInput) String() string {
  49977. return awsutil.Prettify(s)
  49978. }
  49979. // GoString returns the string representation
  49980. func (s DescribeFpgaImageAttributeInput) GoString() string {
  49981. return s.String()
  49982. }
  49983. // Validate inspects the fields of the type to determine if they are valid.
  49984. func (s *DescribeFpgaImageAttributeInput) Validate() error {
  49985. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
  49986. if s.Attribute == nil {
  49987. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  49988. }
  49989. if s.FpgaImageId == nil {
  49990. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  49991. }
  49992. if invalidParams.Len() > 0 {
  49993. return invalidParams
  49994. }
  49995. return nil
  49996. }
  49997. // SetAttribute sets the Attribute field's value.
  49998. func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
  49999. s.Attribute = &v
  50000. return s
  50001. }
  50002. // SetDryRun sets the DryRun field's value.
  50003. func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
  50004. s.DryRun = &v
  50005. return s
  50006. }
  50007. // SetFpgaImageId sets the FpgaImageId field's value.
  50008. func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
  50009. s.FpgaImageId = &v
  50010. return s
  50011. }
  50012. type DescribeFpgaImageAttributeOutput struct {
  50013. _ struct{} `type:"structure"`
  50014. // Information about the attribute.
  50015. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  50016. }
  50017. // String returns the string representation
  50018. func (s DescribeFpgaImageAttributeOutput) String() string {
  50019. return awsutil.Prettify(s)
  50020. }
  50021. // GoString returns the string representation
  50022. func (s DescribeFpgaImageAttributeOutput) GoString() string {
  50023. return s.String()
  50024. }
  50025. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  50026. func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
  50027. s.FpgaImageAttribute = v
  50028. return s
  50029. }
  50030. type DescribeFpgaImagesInput struct {
  50031. _ struct{} `type:"structure"`
  50032. // Checks whether you have the required permissions for the action, without
  50033. // actually making the request, and provides an error response. If you have
  50034. // the required permissions, the error response is DryRunOperation. Otherwise,
  50035. // it is UnauthorizedOperation.
  50036. DryRun *bool `type:"boolean"`
  50037. // The filters.
  50038. //
  50039. // * create-time - The creation time of the AFI.
  50040. //
  50041. // * fpga-image-id - The FPGA image identifier (AFI ID).
  50042. //
  50043. // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
  50044. //
  50045. // * name - The name of the AFI.
  50046. //
  50047. // * owner-id - The AWS account ID of the AFI owner.
  50048. //
  50049. // * product-code - The product code.
  50050. //
  50051. // * shell-version - The version of the AWS Shell that was used to create
  50052. // the bitstream.
  50053. //
  50054. // * state - The state of the AFI (pending | failed | available | unavailable).
  50055. //
  50056. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  50057. // Use the tag key in the filter name and the tag value as the filter value.
  50058. // For example, to find all resources that have a tag with the key Owner
  50059. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  50060. // the filter value.
  50061. //
  50062. // * tag-key - The key of a tag assigned to the resource. Use this filter
  50063. // to find all resources assigned a tag with a specific key, regardless of
  50064. // the tag value.
  50065. //
  50066. // * update-time - The time of the most recent update.
  50067. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  50068. // The AFI IDs.
  50069. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
  50070. // The maximum number of results to return in a single call.
  50071. MaxResults *int64 `min:"5" type:"integer"`
  50072. // The token to retrieve the next page of results.
  50073. NextToken *string `type:"string"`
  50074. // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
  50075. // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
  50076. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  50077. }
  50078. // String returns the string representation
  50079. func (s DescribeFpgaImagesInput) String() string {
  50080. return awsutil.Prettify(s)
  50081. }
  50082. // GoString returns the string representation
  50083. func (s DescribeFpgaImagesInput) GoString() string {
  50084. return s.String()
  50085. }
  50086. // Validate inspects the fields of the type to determine if they are valid.
  50087. func (s *DescribeFpgaImagesInput) Validate() error {
  50088. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
  50089. if s.MaxResults != nil && *s.MaxResults < 5 {
  50090. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  50091. }
  50092. if invalidParams.Len() > 0 {
  50093. return invalidParams
  50094. }
  50095. return nil
  50096. }
  50097. // SetDryRun sets the DryRun field's value.
  50098. func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
  50099. s.DryRun = &v
  50100. return s
  50101. }
  50102. // SetFilters sets the Filters field's value.
  50103. func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
  50104. s.Filters = v
  50105. return s
  50106. }
  50107. // SetFpgaImageIds sets the FpgaImageIds field's value.
  50108. func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
  50109. s.FpgaImageIds = v
  50110. return s
  50111. }
  50112. // SetMaxResults sets the MaxResults field's value.
  50113. func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
  50114. s.MaxResults = &v
  50115. return s
  50116. }
  50117. // SetNextToken sets the NextToken field's value.
  50118. func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
  50119. s.NextToken = &v
  50120. return s
  50121. }
  50122. // SetOwners sets the Owners field's value.
  50123. func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
  50124. s.Owners = v
  50125. return s
  50126. }
  50127. type DescribeFpgaImagesOutput struct {
  50128. _ struct{} `type:"structure"`
  50129. // Information about the FPGA images.
  50130. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
  50131. // The token to use to retrieve the next page of results. This value is null
  50132. // when there are no more results to return.
  50133. NextToken *string `locationName:"nextToken" type:"string"`
  50134. }
  50135. // String returns the string representation
  50136. func (s DescribeFpgaImagesOutput) String() string {
  50137. return awsutil.Prettify(s)
  50138. }
  50139. // GoString returns the string representation
  50140. func (s DescribeFpgaImagesOutput) GoString() string {
  50141. return s.String()
  50142. }
  50143. // SetFpgaImages sets the FpgaImages field's value.
  50144. func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
  50145. s.FpgaImages = v
  50146. return s
  50147. }
  50148. // SetNextToken sets the NextToken field's value.
  50149. func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
  50150. s.NextToken = &v
  50151. return s
  50152. }
  50153. type DescribeHostReservationOfferingsInput struct {
  50154. _ struct{} `type:"structure"`
  50155. // The filters.
  50156. //
  50157. // * instance-family - The instance family of the offering (for example,
  50158. // m4).
  50159. //
  50160. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  50161. Filter []*Filter `locationNameList:"Filter" type:"list"`
  50162. // This is the maximum duration of the reservation to purchase, specified in
  50163. // seconds. Reservations are available in one-year and three-year terms. The
  50164. // number of seconds specified must be the number of seconds in a year (365x24x60x60)
  50165. // times one of the supported durations (1 or 3). For example, specify 94608000
  50166. // for three years.
  50167. MaxDuration *int64 `type:"integer"`
  50168. // The maximum number of results to return for the request in a single page.
  50169. // The remaining results can be seen by sending another request with the returned
  50170. // nextToken value. This value can be between 5 and 500. If maxResults is given
  50171. // a larger value than 500, you receive an error.
  50172. MaxResults *int64 `min:"5" type:"integer"`
  50173. // This is the minimum duration of the reservation you'd like to purchase, specified
  50174. // in seconds. Reservations are available in one-year and three-year terms.
  50175. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  50176. // times one of the supported durations (1 or 3). For example, specify 31536000
  50177. // for one year.
  50178. MinDuration *int64 `type:"integer"`
  50179. // The token to use to retrieve the next page of results.
  50180. NextToken *string `type:"string"`
  50181. // The ID of the reservation offering.
  50182. OfferingId *string `type:"string"`
  50183. }
  50184. // String returns the string representation
  50185. func (s DescribeHostReservationOfferingsInput) String() string {
  50186. return awsutil.Prettify(s)
  50187. }
  50188. // GoString returns the string representation
  50189. func (s DescribeHostReservationOfferingsInput) GoString() string {
  50190. return s.String()
  50191. }
  50192. // Validate inspects the fields of the type to determine if they are valid.
  50193. func (s *DescribeHostReservationOfferingsInput) Validate() error {
  50194. invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
  50195. if s.MaxResults != nil && *s.MaxResults < 5 {
  50196. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  50197. }
  50198. if invalidParams.Len() > 0 {
  50199. return invalidParams
  50200. }
  50201. return nil
  50202. }
  50203. // SetFilter sets the Filter field's value.
  50204. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  50205. s.Filter = v
  50206. return s
  50207. }
  50208. // SetMaxDuration sets the MaxDuration field's value.
  50209. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  50210. s.MaxDuration = &v
  50211. return s
  50212. }
  50213. // SetMaxResults sets the MaxResults field's value.
  50214. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  50215. s.MaxResults = &v
  50216. return s
  50217. }
  50218. // SetMinDuration sets the MinDuration field's value.
  50219. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  50220. s.MinDuration = &v
  50221. return s
  50222. }
  50223. // SetNextToken sets the NextToken field's value.
  50224. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  50225. s.NextToken = &v
  50226. return s
  50227. }
  50228. // SetOfferingId sets the OfferingId field's value.
  50229. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  50230. s.OfferingId = &v
  50231. return s
  50232. }
  50233. type DescribeHostReservationOfferingsOutput struct {
  50234. _ struct{} `type:"structure"`
  50235. // The token to use to retrieve the next page of results. This value is null
  50236. // when there are no more results to return.
  50237. NextToken *string `locationName:"nextToken" type:"string"`
  50238. // Information about the offerings.
  50239. OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
  50240. }
  50241. // String returns the string representation
  50242. func (s DescribeHostReservationOfferingsOutput) String() string {
  50243. return awsutil.Prettify(s)
  50244. }
  50245. // GoString returns the string representation
  50246. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  50247. return s.String()
  50248. }
  50249. // SetNextToken sets the NextToken field's value.
  50250. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  50251. s.NextToken = &v
  50252. return s
  50253. }
  50254. // SetOfferingSet sets the OfferingSet field's value.
  50255. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  50256. s.OfferingSet = v
  50257. return s
  50258. }
  50259. type DescribeHostReservationsInput struct {
  50260. _ struct{} `type:"structure"`
  50261. // The filters.
  50262. //
  50263. // * instance-family - The instance family (for example, m4).
  50264. //
  50265. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  50266. //
  50267. // * state - The state of the reservation (payment-pending | payment-failed
  50268. // | active | retired).
  50269. //
  50270. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  50271. // Use the tag key in the filter name and the tag value as the filter value.
  50272. // For example, to find all resources that have a tag with the key Owner
  50273. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  50274. // the filter value.
  50275. //
  50276. // * tag-key - The key of a tag assigned to the resource. Use this filter
  50277. // to find all resources assigned a tag with a specific key, regardless of
  50278. // the tag value.
  50279. Filter []*Filter `locationNameList:"Filter" type:"list"`
  50280. // The host reservation IDs.
  50281. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  50282. // The maximum number of results to return for the request in a single page.
  50283. // The remaining results can be seen by sending another request with the returned
  50284. // nextToken value. This value can be between 5 and 500. If maxResults is given
  50285. // a larger value than 500, you receive an error.
  50286. MaxResults *int64 `type:"integer"`
  50287. // The token to use to retrieve the next page of results.
  50288. NextToken *string `type:"string"`
  50289. }
  50290. // String returns the string representation
  50291. func (s DescribeHostReservationsInput) String() string {
  50292. return awsutil.Prettify(s)
  50293. }
  50294. // GoString returns the string representation
  50295. func (s DescribeHostReservationsInput) GoString() string {
  50296. return s.String()
  50297. }
  50298. // SetFilter sets the Filter field's value.
  50299. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  50300. s.Filter = v
  50301. return s
  50302. }
  50303. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  50304. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  50305. s.HostReservationIdSet = v
  50306. return s
  50307. }
  50308. // SetMaxResults sets the MaxResults field's value.
  50309. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  50310. s.MaxResults = &v
  50311. return s
  50312. }
  50313. // SetNextToken sets the NextToken field's value.
  50314. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  50315. s.NextToken = &v
  50316. return s
  50317. }
  50318. type DescribeHostReservationsOutput struct {
  50319. _ struct{} `type:"structure"`
  50320. // Details about the reservation's configuration.
  50321. HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
  50322. // The token to use to retrieve the next page of results. This value is null
  50323. // when there are no more results to return.
  50324. NextToken *string `locationName:"nextToken" type:"string"`
  50325. }
  50326. // String returns the string representation
  50327. func (s DescribeHostReservationsOutput) String() string {
  50328. return awsutil.Prettify(s)
  50329. }
  50330. // GoString returns the string representation
  50331. func (s DescribeHostReservationsOutput) GoString() string {
  50332. return s.String()
  50333. }
  50334. // SetHostReservationSet sets the HostReservationSet field's value.
  50335. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  50336. s.HostReservationSet = v
  50337. return s
  50338. }
  50339. // SetNextToken sets the NextToken field's value.
  50340. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  50341. s.NextToken = &v
  50342. return s
  50343. }
  50344. type DescribeHostsInput struct {
  50345. _ struct{} `type:"structure"`
  50346. // The filters.
  50347. //
  50348. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  50349. // off).
  50350. //
  50351. // * availability-zone - The Availability Zone of the host.
  50352. //
  50353. // * client-token - The idempotency token that you provided when you allocated
  50354. // the host.
  50355. //
  50356. // * host-reservation-id - The ID of the reservation assigned to this host.
  50357. //
  50358. // * instance-type - The instance type size that the Dedicated Host is configured
  50359. // to support.
  50360. //
  50361. // * state - The allocation state of the Dedicated Host (available | under-assessment
  50362. // | permanent-failure | released | released-permanent-failure).
  50363. //
  50364. // * tag-key - The key of a tag assigned to the resource. Use this filter
  50365. // to find all resources assigned a tag with a specific key, regardless of
  50366. // the tag value.
  50367. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  50368. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  50369. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  50370. // The maximum number of results to return for the request in a single page.
  50371. // The remaining results can be seen by sending another request with the returned
  50372. // nextToken value. This value can be between 5 and 500. If maxResults is given
  50373. // a larger value than 500, you receive an error.
  50374. //
  50375. // You cannot specify this parameter and the host IDs parameter in the same
  50376. // request.
  50377. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  50378. // The token to use to retrieve the next page of results.
  50379. NextToken *string `locationName:"nextToken" type:"string"`
  50380. }
  50381. // String returns the string representation
  50382. func (s DescribeHostsInput) String() string {
  50383. return awsutil.Prettify(s)
  50384. }
  50385. // GoString returns the string representation
  50386. func (s DescribeHostsInput) GoString() string {
  50387. return s.String()
  50388. }
  50389. // SetFilter sets the Filter field's value.
  50390. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  50391. s.Filter = v
  50392. return s
  50393. }
  50394. // SetHostIds sets the HostIds field's value.
  50395. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  50396. s.HostIds = v
  50397. return s
  50398. }
  50399. // SetMaxResults sets the MaxResults field's value.
  50400. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  50401. s.MaxResults = &v
  50402. return s
  50403. }
  50404. // SetNextToken sets the NextToken field's value.
  50405. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  50406. s.NextToken = &v
  50407. return s
  50408. }
  50409. type DescribeHostsOutput struct {
  50410. _ struct{} `type:"structure"`
  50411. // Information about the Dedicated Hosts.
  50412. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  50413. // The token to use to retrieve the next page of results. This value is null
  50414. // when there are no more results to return.
  50415. NextToken *string `locationName:"nextToken" type:"string"`
  50416. }
  50417. // String returns the string representation
  50418. func (s DescribeHostsOutput) String() string {
  50419. return awsutil.Prettify(s)
  50420. }
  50421. // GoString returns the string representation
  50422. func (s DescribeHostsOutput) GoString() string {
  50423. return s.String()
  50424. }
  50425. // SetHosts sets the Hosts field's value.
  50426. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  50427. s.Hosts = v
  50428. return s
  50429. }
  50430. // SetNextToken sets the NextToken field's value.
  50431. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  50432. s.NextToken = &v
  50433. return s
  50434. }
  50435. type DescribeIamInstanceProfileAssociationsInput struct {
  50436. _ struct{} `type:"structure"`
  50437. // The IAM instance profile associations.
  50438. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  50439. // The filters.
  50440. //
  50441. // * instance-id - The ID of the instance.
  50442. //
  50443. // * state - The state of the association (associating | associated | disassociating
  50444. // | disassociated).
  50445. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  50446. // The maximum number of results to return in a single call. To retrieve the
  50447. // remaining results, make another call with the returned NextToken value.
  50448. MaxResults *int64 `min:"5" type:"integer"`
  50449. // The token to request the next page of results.
  50450. NextToken *string `type:"string"`
  50451. }
  50452. // String returns the string representation
  50453. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  50454. return awsutil.Prettify(s)
  50455. }
  50456. // GoString returns the string representation
  50457. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  50458. return s.String()
  50459. }
  50460. // Validate inspects the fields of the type to determine if they are valid.
  50461. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  50462. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  50463. if s.MaxResults != nil && *s.MaxResults < 5 {
  50464. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  50465. }
  50466. if invalidParams.Len() > 0 {
  50467. return invalidParams
  50468. }
  50469. return nil
  50470. }
  50471. // SetAssociationIds sets the AssociationIds field's value.
  50472. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  50473. s.AssociationIds = v
  50474. return s
  50475. }
  50476. // SetFilters sets the Filters field's value.
  50477. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  50478. s.Filters = v
  50479. return s
  50480. }
  50481. // SetMaxResults sets the MaxResults field's value.
  50482. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  50483. s.MaxResults = &v
  50484. return s
  50485. }
  50486. // SetNextToken sets the NextToken field's value.
  50487. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  50488. s.NextToken = &v
  50489. return s
  50490. }
  50491. type DescribeIamInstanceProfileAssociationsOutput struct {
  50492. _ struct{} `type:"structure"`
  50493. // Information about the IAM instance profile associations.
  50494. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  50495. // The token to use to retrieve the next page of results. This value is null
  50496. // when there are no more results to return.
  50497. NextToken *string `locationName:"nextToken" type:"string"`
  50498. }
  50499. // String returns the string representation
  50500. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  50501. return awsutil.Prettify(s)
  50502. }
  50503. // GoString returns the string representation
  50504. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  50505. return s.String()
  50506. }
  50507. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  50508. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  50509. s.IamInstanceProfileAssociations = v
  50510. return s
  50511. }
  50512. // SetNextToken sets the NextToken field's value.
  50513. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  50514. s.NextToken = &v
  50515. return s
  50516. }
  50517. type DescribeIdFormatInput struct {
  50518. _ struct{} `type:"structure"`
  50519. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  50520. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  50521. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  50522. // | network-interface | network-interface-attachment | prefix-list | reservation
  50523. // | route-table | route-table-association | security-group | snapshot | subnet
  50524. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  50525. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  50526. Resource *string `type:"string"`
  50527. }
  50528. // String returns the string representation
  50529. func (s DescribeIdFormatInput) String() string {
  50530. return awsutil.Prettify(s)
  50531. }
  50532. // GoString returns the string representation
  50533. func (s DescribeIdFormatInput) GoString() string {
  50534. return s.String()
  50535. }
  50536. // SetResource sets the Resource field's value.
  50537. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  50538. s.Resource = &v
  50539. return s
  50540. }
  50541. type DescribeIdFormatOutput struct {
  50542. _ struct{} `type:"structure"`
  50543. // Information about the ID format for the resource.
  50544. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  50545. }
  50546. // String returns the string representation
  50547. func (s DescribeIdFormatOutput) String() string {
  50548. return awsutil.Prettify(s)
  50549. }
  50550. // GoString returns the string representation
  50551. func (s DescribeIdFormatOutput) GoString() string {
  50552. return s.String()
  50553. }
  50554. // SetStatuses sets the Statuses field's value.
  50555. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  50556. s.Statuses = v
  50557. return s
  50558. }
  50559. type DescribeIdentityIdFormatInput struct {
  50560. _ struct{} `type:"structure"`
  50561. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  50562. // user.
  50563. //
  50564. // PrincipalArn is a required field
  50565. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  50566. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  50567. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  50568. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  50569. // | network-interface | network-interface-attachment | prefix-list | reservation
  50570. // | route-table | route-table-association | security-group | snapshot | subnet
  50571. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  50572. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  50573. Resource *string `locationName:"resource" type:"string"`
  50574. }
  50575. // String returns the string representation
  50576. func (s DescribeIdentityIdFormatInput) String() string {
  50577. return awsutil.Prettify(s)
  50578. }
  50579. // GoString returns the string representation
  50580. func (s DescribeIdentityIdFormatInput) GoString() string {
  50581. return s.String()
  50582. }
  50583. // Validate inspects the fields of the type to determine if they are valid.
  50584. func (s *DescribeIdentityIdFormatInput) Validate() error {
  50585. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  50586. if s.PrincipalArn == nil {
  50587. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  50588. }
  50589. if invalidParams.Len() > 0 {
  50590. return invalidParams
  50591. }
  50592. return nil
  50593. }
  50594. // SetPrincipalArn sets the PrincipalArn field's value.
  50595. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  50596. s.PrincipalArn = &v
  50597. return s
  50598. }
  50599. // SetResource sets the Resource field's value.
  50600. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  50601. s.Resource = &v
  50602. return s
  50603. }
  50604. type DescribeIdentityIdFormatOutput struct {
  50605. _ struct{} `type:"structure"`
  50606. // Information about the ID format for the resources.
  50607. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  50608. }
  50609. // String returns the string representation
  50610. func (s DescribeIdentityIdFormatOutput) String() string {
  50611. return awsutil.Prettify(s)
  50612. }
  50613. // GoString returns the string representation
  50614. func (s DescribeIdentityIdFormatOutput) GoString() string {
  50615. return s.String()
  50616. }
  50617. // SetStatuses sets the Statuses field's value.
  50618. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  50619. s.Statuses = v
  50620. return s
  50621. }
  50622. // Contains the parameters for DescribeImageAttribute.
  50623. type DescribeImageAttributeInput struct {
  50624. _ struct{} `type:"structure"`
  50625. // The AMI attribute.
  50626. //
  50627. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  50628. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  50629. // to get information about the block device mapping for the AMI.
  50630. //
  50631. // Attribute is a required field
  50632. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  50633. // Checks whether you have the required permissions for the action, without
  50634. // actually making the request, and provides an error response. If you have
  50635. // the required permissions, the error response is DryRunOperation. Otherwise,
  50636. // it is UnauthorizedOperation.
  50637. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50638. // The ID of the AMI.
  50639. //
  50640. // ImageId is a required field
  50641. ImageId *string `type:"string" required:"true"`
  50642. }
  50643. // String returns the string representation
  50644. func (s DescribeImageAttributeInput) String() string {
  50645. return awsutil.Prettify(s)
  50646. }
  50647. // GoString returns the string representation
  50648. func (s DescribeImageAttributeInput) GoString() string {
  50649. return s.String()
  50650. }
  50651. // Validate inspects the fields of the type to determine if they are valid.
  50652. func (s *DescribeImageAttributeInput) Validate() error {
  50653. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  50654. if s.Attribute == nil {
  50655. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  50656. }
  50657. if s.ImageId == nil {
  50658. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  50659. }
  50660. if invalidParams.Len() > 0 {
  50661. return invalidParams
  50662. }
  50663. return nil
  50664. }
  50665. // SetAttribute sets the Attribute field's value.
  50666. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  50667. s.Attribute = &v
  50668. return s
  50669. }
  50670. // SetDryRun sets the DryRun field's value.
  50671. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  50672. s.DryRun = &v
  50673. return s
  50674. }
  50675. // SetImageId sets the ImageId field's value.
  50676. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  50677. s.ImageId = &v
  50678. return s
  50679. }
  50680. // Describes an image attribute.
  50681. type DescribeImageAttributeOutput struct {
  50682. _ struct{} `type:"structure"`
  50683. // The block device mapping entries.
  50684. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  50685. // A description for the AMI.
  50686. Description *AttributeValue `locationName:"description" type:"structure"`
  50687. // The ID of the AMI.
  50688. ImageId *string `locationName:"imageId" type:"string"`
  50689. // The kernel ID.
  50690. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  50691. // The launch permissions.
  50692. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  50693. // The product codes.
  50694. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  50695. // The RAM disk ID.
  50696. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  50697. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  50698. // interface is enabled.
  50699. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  50700. }
  50701. // String returns the string representation
  50702. func (s DescribeImageAttributeOutput) String() string {
  50703. return awsutil.Prettify(s)
  50704. }
  50705. // GoString returns the string representation
  50706. func (s DescribeImageAttributeOutput) GoString() string {
  50707. return s.String()
  50708. }
  50709. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  50710. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  50711. s.BlockDeviceMappings = v
  50712. return s
  50713. }
  50714. // SetDescription sets the Description field's value.
  50715. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  50716. s.Description = v
  50717. return s
  50718. }
  50719. // SetImageId sets the ImageId field's value.
  50720. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  50721. s.ImageId = &v
  50722. return s
  50723. }
  50724. // SetKernelId sets the KernelId field's value.
  50725. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  50726. s.KernelId = v
  50727. return s
  50728. }
  50729. // SetLaunchPermissions sets the LaunchPermissions field's value.
  50730. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  50731. s.LaunchPermissions = v
  50732. return s
  50733. }
  50734. // SetProductCodes sets the ProductCodes field's value.
  50735. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  50736. s.ProductCodes = v
  50737. return s
  50738. }
  50739. // SetRamdiskId sets the RamdiskId field's value.
  50740. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  50741. s.RamdiskId = v
  50742. return s
  50743. }
  50744. // SetSriovNetSupport sets the SriovNetSupport field's value.
  50745. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  50746. s.SriovNetSupport = v
  50747. return s
  50748. }
  50749. type DescribeImagesInput struct {
  50750. _ struct{} `type:"structure"`
  50751. // Checks whether you have the required permissions for the action, without
  50752. // actually making the request, and provides an error response. If you have
  50753. // the required permissions, the error response is DryRunOperation. Otherwise,
  50754. // it is UnauthorizedOperation.
  50755. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50756. // Scopes the images by users with explicit launch permissions. Specify an AWS
  50757. // account ID, self (the sender of the request), or all (public AMIs).
  50758. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  50759. // The filters.
  50760. //
  50761. // * architecture - The image architecture (i386 | x86_64 | arm64).
  50762. //
  50763. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  50764. // whether the Amazon EBS volume is deleted on instance termination.
  50765. //
  50766. // * block-device-mapping.device-name - The device name specified in the
  50767. // block device mapping (for example, /dev/sdh or xvdh).
  50768. //
  50769. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  50770. // EBS volume.
  50771. //
  50772. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  50773. // in GiB.
  50774. //
  50775. // * block-device-mapping.volume-type - The volume type of the EBS volume
  50776. // (gp2 | io1 | st1 | sc1 | standard).
  50777. //
  50778. // * block-device-mapping.encrypted - A Boolean that indicates whether the
  50779. // EBS volume is encrypted.
  50780. //
  50781. // * description - The description of the image (provided during image creation).
  50782. //
  50783. // * ena-support - A Boolean that indicates whether enhanced networking with
  50784. // ENA is enabled.
  50785. //
  50786. // * hypervisor - The hypervisor type (ovm | xen).
  50787. //
  50788. // * image-id - The ID of the image.
  50789. //
  50790. // * image-type - The image type (machine | kernel | ramdisk).
  50791. //
  50792. // * is-public - A Boolean that indicates whether the image is public.
  50793. //
  50794. // * kernel-id - The kernel ID.
  50795. //
  50796. // * manifest-location - The location of the image manifest.
  50797. //
  50798. // * name - The name of the AMI (provided during image creation).
  50799. //
  50800. // * owner-alias - String value from an Amazon-maintained list (amazon |
  50801. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  50802. // the user-configured AWS account alias, which is set from the IAM console.
  50803. //
  50804. // * owner-id - The AWS account ID of the image owner.
  50805. //
  50806. // * platform - The platform. To only list Windows-based AMIs, use windows.
  50807. //
  50808. // * product-code - The product code.
  50809. //
  50810. // * product-code.type - The type of the product code (devpay | marketplace).
  50811. //
  50812. // * ramdisk-id - The RAM disk ID.
  50813. //
  50814. // * root-device-name - The device name of the root device volume (for example,
  50815. // /dev/sda1).
  50816. //
  50817. // * root-device-type - The type of the root device volume (ebs | instance-store).
  50818. //
  50819. // * state - The state of the image (available | pending | failed).
  50820. //
  50821. // * state-reason-code - The reason code for the state change.
  50822. //
  50823. // * state-reason-message - The message for the state change.
  50824. //
  50825. // * sriov-net-support - A value of simple indicates that enhanced networking
  50826. // with the Intel 82599 VF interface is enabled.
  50827. //
  50828. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  50829. // Use the tag key in the filter name and the tag value as the filter value.
  50830. // For example, to find all resources that have a tag with the key Owner
  50831. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  50832. // the filter value.
  50833. //
  50834. // * tag-key - The key of a tag assigned to the resource. Use this filter
  50835. // to find all resources assigned a tag with a specific key, regardless of
  50836. // the tag value.
  50837. //
  50838. // * virtualization-type - The virtualization type (paravirtual | hvm).
  50839. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  50840. // The image IDs.
  50841. //
  50842. // Default: Describes all images available to you.
  50843. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  50844. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  50845. // the sender of the request), or an AWS owner alias (valid values are amazon
  50846. // | aws-marketplace | microsoft). Omitting this option returns all images for
  50847. // which you have launch permissions, regardless of ownership.
  50848. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  50849. }
  50850. // String returns the string representation
  50851. func (s DescribeImagesInput) String() string {
  50852. return awsutil.Prettify(s)
  50853. }
  50854. // GoString returns the string representation
  50855. func (s DescribeImagesInput) GoString() string {
  50856. return s.String()
  50857. }
  50858. // SetDryRun sets the DryRun field's value.
  50859. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  50860. s.DryRun = &v
  50861. return s
  50862. }
  50863. // SetExecutableUsers sets the ExecutableUsers field's value.
  50864. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  50865. s.ExecutableUsers = v
  50866. return s
  50867. }
  50868. // SetFilters sets the Filters field's value.
  50869. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  50870. s.Filters = v
  50871. return s
  50872. }
  50873. // SetImageIds sets the ImageIds field's value.
  50874. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  50875. s.ImageIds = v
  50876. return s
  50877. }
  50878. // SetOwners sets the Owners field's value.
  50879. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  50880. s.Owners = v
  50881. return s
  50882. }
  50883. type DescribeImagesOutput struct {
  50884. _ struct{} `type:"structure"`
  50885. // Information about the images.
  50886. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  50887. }
  50888. // String returns the string representation
  50889. func (s DescribeImagesOutput) String() string {
  50890. return awsutil.Prettify(s)
  50891. }
  50892. // GoString returns the string representation
  50893. func (s DescribeImagesOutput) GoString() string {
  50894. return s.String()
  50895. }
  50896. // SetImages sets the Images field's value.
  50897. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  50898. s.Images = v
  50899. return s
  50900. }
  50901. type DescribeImportImageTasksInput struct {
  50902. _ struct{} `type:"structure"`
  50903. // Checks whether you have the required permissions for the action, without
  50904. // actually making the request, and provides an error response. If you have
  50905. // the required permissions, the error response is DryRunOperation. Otherwise,
  50906. // it is UnauthorizedOperation.
  50907. DryRun *bool `type:"boolean"`
  50908. // Filter tasks using the task-state filter and one of the following values:
  50909. // active, completed, deleting, or deleted.
  50910. Filters []*Filter `locationNameList:"Filter" type:"list"`
  50911. // The IDs of the import image tasks.
  50912. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  50913. // The maximum number of results to return in a single call.
  50914. MaxResults *int64 `type:"integer"`
  50915. // A token that indicates the next page of results.
  50916. NextToken *string `type:"string"`
  50917. }
  50918. // String returns the string representation
  50919. func (s DescribeImportImageTasksInput) String() string {
  50920. return awsutil.Prettify(s)
  50921. }
  50922. // GoString returns the string representation
  50923. func (s DescribeImportImageTasksInput) GoString() string {
  50924. return s.String()
  50925. }
  50926. // SetDryRun sets the DryRun field's value.
  50927. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  50928. s.DryRun = &v
  50929. return s
  50930. }
  50931. // SetFilters sets the Filters field's value.
  50932. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  50933. s.Filters = v
  50934. return s
  50935. }
  50936. // SetImportTaskIds sets the ImportTaskIds field's value.
  50937. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  50938. s.ImportTaskIds = v
  50939. return s
  50940. }
  50941. // SetMaxResults sets the MaxResults field's value.
  50942. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  50943. s.MaxResults = &v
  50944. return s
  50945. }
  50946. // SetNextToken sets the NextToken field's value.
  50947. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  50948. s.NextToken = &v
  50949. return s
  50950. }
  50951. type DescribeImportImageTasksOutput struct {
  50952. _ struct{} `type:"structure"`
  50953. // A list of zero or more import image tasks that are currently active or were
  50954. // completed or canceled in the previous 7 days.
  50955. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  50956. // The token to use to get the next page of results. This value is null when
  50957. // there are no more results to return.
  50958. NextToken *string `locationName:"nextToken" type:"string"`
  50959. }
  50960. // String returns the string representation
  50961. func (s DescribeImportImageTasksOutput) String() string {
  50962. return awsutil.Prettify(s)
  50963. }
  50964. // GoString returns the string representation
  50965. func (s DescribeImportImageTasksOutput) GoString() string {
  50966. return s.String()
  50967. }
  50968. // SetImportImageTasks sets the ImportImageTasks field's value.
  50969. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  50970. s.ImportImageTasks = v
  50971. return s
  50972. }
  50973. // SetNextToken sets the NextToken field's value.
  50974. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  50975. s.NextToken = &v
  50976. return s
  50977. }
  50978. type DescribeImportSnapshotTasksInput struct {
  50979. _ struct{} `type:"structure"`
  50980. // Checks whether you have the required permissions for the action, without
  50981. // actually making the request, and provides an error response. If you have
  50982. // the required permissions, the error response is DryRunOperation. Otherwise,
  50983. // it is UnauthorizedOperation.
  50984. DryRun *bool `type:"boolean"`
  50985. // The filters.
  50986. Filters []*Filter `locationNameList:"Filter" type:"list"`
  50987. // A list of import snapshot task IDs.
  50988. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  50989. // The maximum number of results to return in a single call. To retrieve the
  50990. // remaining results, make another call with the returned NextToken value.
  50991. MaxResults *int64 `type:"integer"`
  50992. // A token that indicates the next page of results.
  50993. NextToken *string `type:"string"`
  50994. }
  50995. // String returns the string representation
  50996. func (s DescribeImportSnapshotTasksInput) String() string {
  50997. return awsutil.Prettify(s)
  50998. }
  50999. // GoString returns the string representation
  51000. func (s DescribeImportSnapshotTasksInput) GoString() string {
  51001. return s.String()
  51002. }
  51003. // SetDryRun sets the DryRun field's value.
  51004. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  51005. s.DryRun = &v
  51006. return s
  51007. }
  51008. // SetFilters sets the Filters field's value.
  51009. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  51010. s.Filters = v
  51011. return s
  51012. }
  51013. // SetImportTaskIds sets the ImportTaskIds field's value.
  51014. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  51015. s.ImportTaskIds = v
  51016. return s
  51017. }
  51018. // SetMaxResults sets the MaxResults field's value.
  51019. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  51020. s.MaxResults = &v
  51021. return s
  51022. }
  51023. // SetNextToken sets the NextToken field's value.
  51024. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  51025. s.NextToken = &v
  51026. return s
  51027. }
  51028. type DescribeImportSnapshotTasksOutput struct {
  51029. _ struct{} `type:"structure"`
  51030. // A list of zero or more import snapshot tasks that are currently active or
  51031. // were completed or canceled in the previous 7 days.
  51032. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  51033. // The token to use to get the next page of results. This value is null when
  51034. // there are no more results to return.
  51035. NextToken *string `locationName:"nextToken" type:"string"`
  51036. }
  51037. // String returns the string representation
  51038. func (s DescribeImportSnapshotTasksOutput) String() string {
  51039. return awsutil.Prettify(s)
  51040. }
  51041. // GoString returns the string representation
  51042. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  51043. return s.String()
  51044. }
  51045. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  51046. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  51047. s.ImportSnapshotTasks = v
  51048. return s
  51049. }
  51050. // SetNextToken sets the NextToken field's value.
  51051. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  51052. s.NextToken = &v
  51053. return s
  51054. }
  51055. type DescribeInstanceAttributeInput struct {
  51056. _ struct{} `type:"structure"`
  51057. // The instance attribute.
  51058. //
  51059. // Note: The enaSupport attribute is not supported at this time.
  51060. //
  51061. // Attribute is a required field
  51062. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  51063. // Checks whether you have the required permissions for the action, without
  51064. // actually making the request, and provides an error response. If you have
  51065. // the required permissions, the error response is DryRunOperation. Otherwise,
  51066. // it is UnauthorizedOperation.
  51067. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51068. // The ID of the instance.
  51069. //
  51070. // InstanceId is a required field
  51071. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  51072. }
  51073. // String returns the string representation
  51074. func (s DescribeInstanceAttributeInput) String() string {
  51075. return awsutil.Prettify(s)
  51076. }
  51077. // GoString returns the string representation
  51078. func (s DescribeInstanceAttributeInput) GoString() string {
  51079. return s.String()
  51080. }
  51081. // Validate inspects the fields of the type to determine if they are valid.
  51082. func (s *DescribeInstanceAttributeInput) Validate() error {
  51083. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  51084. if s.Attribute == nil {
  51085. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  51086. }
  51087. if s.InstanceId == nil {
  51088. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  51089. }
  51090. if invalidParams.Len() > 0 {
  51091. return invalidParams
  51092. }
  51093. return nil
  51094. }
  51095. // SetAttribute sets the Attribute field's value.
  51096. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  51097. s.Attribute = &v
  51098. return s
  51099. }
  51100. // SetDryRun sets the DryRun field's value.
  51101. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  51102. s.DryRun = &v
  51103. return s
  51104. }
  51105. // SetInstanceId sets the InstanceId field's value.
  51106. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  51107. s.InstanceId = &v
  51108. return s
  51109. }
  51110. // Describes an instance attribute.
  51111. type DescribeInstanceAttributeOutput struct {
  51112. _ struct{} `type:"structure"`
  51113. // The block device mapping of the instance.
  51114. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  51115. // If the value is true, you can't terminate the instance through the Amazon
  51116. // EC2 console, CLI, or API; otherwise, you can.
  51117. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  51118. // Indicates whether the instance is optimized for Amazon EBS I/O.
  51119. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  51120. // Indicates whether enhanced networking with ENA is enabled.
  51121. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  51122. // The security groups associated with the instance.
  51123. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  51124. // The ID of the instance.
  51125. InstanceId *string `locationName:"instanceId" type:"string"`
  51126. // Indicates whether an instance stops or terminates when you initiate shutdown
  51127. // from the instance (using the operating system command for system shutdown).
  51128. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  51129. // The instance type.
  51130. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  51131. // The kernel ID.
  51132. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  51133. // A list of product codes.
  51134. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  51135. // The RAM disk ID.
  51136. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  51137. // The device name of the root device volume (for example, /dev/sda1).
  51138. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  51139. // Indicates whether source/destination checking is enabled. A value of true
  51140. // means that checking is enabled, and false means that checking is disabled.
  51141. // This value must be false for a NAT instance to perform NAT.
  51142. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  51143. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  51144. // interface is enabled.
  51145. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  51146. // The user data.
  51147. UserData *AttributeValue `locationName:"userData" type:"structure"`
  51148. }
  51149. // String returns the string representation
  51150. func (s DescribeInstanceAttributeOutput) String() string {
  51151. return awsutil.Prettify(s)
  51152. }
  51153. // GoString returns the string representation
  51154. func (s DescribeInstanceAttributeOutput) GoString() string {
  51155. return s.String()
  51156. }
  51157. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  51158. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  51159. s.BlockDeviceMappings = v
  51160. return s
  51161. }
  51162. // SetDisableApiTermination sets the DisableApiTermination field's value.
  51163. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  51164. s.DisableApiTermination = v
  51165. return s
  51166. }
  51167. // SetEbsOptimized sets the EbsOptimized field's value.
  51168. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  51169. s.EbsOptimized = v
  51170. return s
  51171. }
  51172. // SetEnaSupport sets the EnaSupport field's value.
  51173. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  51174. s.EnaSupport = v
  51175. return s
  51176. }
  51177. // SetGroups sets the Groups field's value.
  51178. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  51179. s.Groups = v
  51180. return s
  51181. }
  51182. // SetInstanceId sets the InstanceId field's value.
  51183. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  51184. s.InstanceId = &v
  51185. return s
  51186. }
  51187. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  51188. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51189. s.InstanceInitiatedShutdownBehavior = v
  51190. return s
  51191. }
  51192. // SetInstanceType sets the InstanceType field's value.
  51193. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51194. s.InstanceType = v
  51195. return s
  51196. }
  51197. // SetKernelId sets the KernelId field's value.
  51198. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51199. s.KernelId = v
  51200. return s
  51201. }
  51202. // SetProductCodes sets the ProductCodes field's value.
  51203. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  51204. s.ProductCodes = v
  51205. return s
  51206. }
  51207. // SetRamdiskId sets the RamdiskId field's value.
  51208. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51209. s.RamdiskId = v
  51210. return s
  51211. }
  51212. // SetRootDeviceName sets the RootDeviceName field's value.
  51213. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51214. s.RootDeviceName = v
  51215. return s
  51216. }
  51217. // SetSourceDestCheck sets the SourceDestCheck field's value.
  51218. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  51219. s.SourceDestCheck = v
  51220. return s
  51221. }
  51222. // SetSriovNetSupport sets the SriovNetSupport field's value.
  51223. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51224. s.SriovNetSupport = v
  51225. return s
  51226. }
  51227. // SetUserData sets the UserData field's value.
  51228. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  51229. s.UserData = v
  51230. return s
  51231. }
  51232. type DescribeInstanceCreditSpecificationsInput struct {
  51233. _ struct{} `type:"structure"`
  51234. // Checks whether you have the required permissions for the action, without
  51235. // actually making the request, and provides an error response. If you have
  51236. // the required permissions, the error response is DryRunOperation. Otherwise,
  51237. // it is UnauthorizedOperation.
  51238. DryRun *bool `type:"boolean"`
  51239. // The filters.
  51240. //
  51241. // * instance-id - The ID of the instance.
  51242. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51243. // The instance IDs.
  51244. //
  51245. // Default: Describes all your instances.
  51246. //
  51247. // Constraints: Maximum 1000 explicitly specified instance IDs.
  51248. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  51249. // The maximum number of results to return in a single call. To retrieve the
  51250. // remaining results, make another call with the returned NextToken value. This
  51251. // value can be between 5 and 1000. You cannot specify this parameter and the
  51252. // instance IDs parameter in the same call.
  51253. MaxResults *int64 `min:"5" type:"integer"`
  51254. // The token to retrieve the next page of results.
  51255. NextToken *string `type:"string"`
  51256. }
  51257. // String returns the string representation
  51258. func (s DescribeInstanceCreditSpecificationsInput) String() string {
  51259. return awsutil.Prettify(s)
  51260. }
  51261. // GoString returns the string representation
  51262. func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
  51263. return s.String()
  51264. }
  51265. // Validate inspects the fields of the type to determine if they are valid.
  51266. func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
  51267. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
  51268. if s.MaxResults != nil && *s.MaxResults < 5 {
  51269. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  51270. }
  51271. if invalidParams.Len() > 0 {
  51272. return invalidParams
  51273. }
  51274. return nil
  51275. }
  51276. // SetDryRun sets the DryRun field's value.
  51277. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
  51278. s.DryRun = &v
  51279. return s
  51280. }
  51281. // SetFilters sets the Filters field's value.
  51282. func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
  51283. s.Filters = v
  51284. return s
  51285. }
  51286. // SetInstanceIds sets the InstanceIds field's value.
  51287. func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
  51288. s.InstanceIds = v
  51289. return s
  51290. }
  51291. // SetMaxResults sets the MaxResults field's value.
  51292. func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
  51293. s.MaxResults = &v
  51294. return s
  51295. }
  51296. // SetNextToken sets the NextToken field's value.
  51297. func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
  51298. s.NextToken = &v
  51299. return s
  51300. }
  51301. type DescribeInstanceCreditSpecificationsOutput struct {
  51302. _ struct{} `type:"structure"`
  51303. // Information about the credit option for CPU usage of an instance.
  51304. InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  51305. // The token to use to retrieve the next page of results. This value is null
  51306. // when there are no more results to return.
  51307. NextToken *string `locationName:"nextToken" type:"string"`
  51308. }
  51309. // String returns the string representation
  51310. func (s DescribeInstanceCreditSpecificationsOutput) String() string {
  51311. return awsutil.Prettify(s)
  51312. }
  51313. // GoString returns the string representation
  51314. func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
  51315. return s.String()
  51316. }
  51317. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  51318. func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
  51319. s.InstanceCreditSpecifications = v
  51320. return s
  51321. }
  51322. // SetNextToken sets the NextToken field's value.
  51323. func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
  51324. s.NextToken = &v
  51325. return s
  51326. }
  51327. type DescribeInstanceStatusInput struct {
  51328. _ struct{} `type:"structure"`
  51329. // Checks whether you have the required permissions for the action, without
  51330. // actually making the request, and provides an error response. If you have
  51331. // the required permissions, the error response is DryRunOperation. Otherwise,
  51332. // it is UnauthorizedOperation.
  51333. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51334. // The filters.
  51335. //
  51336. // * availability-zone - The Availability Zone of the instance.
  51337. //
  51338. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  51339. // | system-maintenance | instance-retirement | instance-stop).
  51340. //
  51341. // * event.description - A description of the event.
  51342. //
  51343. // * event.instance-event-id - The ID of the event whose date and time you
  51344. // are modifying.
  51345. //
  51346. // * event.not-after - The latest end time for the scheduled event (for example,
  51347. // 2014-09-15T17:15:20.000Z).
  51348. //
  51349. // * event.not-before - The earliest start time for the scheduled event (for
  51350. // example, 2014-09-15T17:15:20.000Z).
  51351. //
  51352. // * event.not-before-deadline - The deadline for starting the event (for
  51353. // example, 2014-09-15T17:15:20.000Z).
  51354. //
  51355. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  51356. // integer. The high byte is used for internal purposes and should be ignored.
  51357. // The low byte is set based on the state represented. The valid values are
  51358. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  51359. // and 80 (stopped).
  51360. //
  51361. // * instance-state-name - The state of the instance (pending | running |
  51362. // shutting-down | terminated | stopping | stopped).
  51363. //
  51364. // * instance-status.reachability - Filters on instance status where the
  51365. // name is reachability (passed | failed | initializing | insufficient-data).
  51366. //
  51367. // * instance-status.status - The status of the instance (ok | impaired |
  51368. // initializing | insufficient-data | not-applicable).
  51369. //
  51370. // * system-status.reachability - Filters on system status where the name
  51371. // is reachability (passed | failed | initializing | insufficient-data).
  51372. //
  51373. // * system-status.status - The system status of the instance (ok | impaired
  51374. // | initializing | insufficient-data | not-applicable).
  51375. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51376. // When true, includes the health status for all instances. When false, includes
  51377. // the health status for running instances only.
  51378. //
  51379. // Default: false
  51380. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  51381. // The instance IDs.
  51382. //
  51383. // Default: Describes all your instances.
  51384. //
  51385. // Constraints: Maximum 100 explicitly specified instance IDs.
  51386. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  51387. // The maximum number of results to return in a single call. To retrieve the
  51388. // remaining results, make another call with the returned NextToken value. This
  51389. // value can be between 5 and 1000. You cannot specify this parameter and the
  51390. // instance IDs parameter in the same call.
  51391. MaxResults *int64 `type:"integer"`
  51392. // The token to retrieve the next page of results.
  51393. NextToken *string `type:"string"`
  51394. }
  51395. // String returns the string representation
  51396. func (s DescribeInstanceStatusInput) String() string {
  51397. return awsutil.Prettify(s)
  51398. }
  51399. // GoString returns the string representation
  51400. func (s DescribeInstanceStatusInput) GoString() string {
  51401. return s.String()
  51402. }
  51403. // SetDryRun sets the DryRun field's value.
  51404. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  51405. s.DryRun = &v
  51406. return s
  51407. }
  51408. // SetFilters sets the Filters field's value.
  51409. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  51410. s.Filters = v
  51411. return s
  51412. }
  51413. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  51414. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  51415. s.IncludeAllInstances = &v
  51416. return s
  51417. }
  51418. // SetInstanceIds sets the InstanceIds field's value.
  51419. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  51420. s.InstanceIds = v
  51421. return s
  51422. }
  51423. // SetMaxResults sets the MaxResults field's value.
  51424. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  51425. s.MaxResults = &v
  51426. return s
  51427. }
  51428. // SetNextToken sets the NextToken field's value.
  51429. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  51430. s.NextToken = &v
  51431. return s
  51432. }
  51433. type DescribeInstanceStatusOutput struct {
  51434. _ struct{} `type:"structure"`
  51435. // Information about the status of the instances.
  51436. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  51437. // The token to use to retrieve the next page of results. This value is null
  51438. // when there are no more results to return.
  51439. NextToken *string `locationName:"nextToken" type:"string"`
  51440. }
  51441. // String returns the string representation
  51442. func (s DescribeInstanceStatusOutput) String() string {
  51443. return awsutil.Prettify(s)
  51444. }
  51445. // GoString returns the string representation
  51446. func (s DescribeInstanceStatusOutput) GoString() string {
  51447. return s.String()
  51448. }
  51449. // SetInstanceStatuses sets the InstanceStatuses field's value.
  51450. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  51451. s.InstanceStatuses = v
  51452. return s
  51453. }
  51454. // SetNextToken sets the NextToken field's value.
  51455. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  51456. s.NextToken = &v
  51457. return s
  51458. }
  51459. type DescribeInstanceTypeOfferingsInput struct {
  51460. _ struct{} `type:"structure"`
  51461. // Checks whether you have the required permissions for the action, without
  51462. // actually making the request, and provides an error response. If you have
  51463. // the required permissions, the error response is DryRunOperation. Otherwise,
  51464. // it is UnauthorizedOperation.
  51465. DryRun *bool `type:"boolean"`
  51466. // One or more filters. Filter names and values are case-sensitive.
  51467. //
  51468. // * location - This depends on the location type. For example, if the location
  51469. // type is region (default), the location is the Region code (for example,
  51470. // us-east-2.)
  51471. //
  51472. // * instance-type - The instance type.
  51473. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51474. // The location type.
  51475. LocationType *string `type:"string" enum:"LocationType"`
  51476. // The maximum number of results to return for the request in a single page.
  51477. // The remaining results can be seen by sending another request with the next
  51478. // token value.
  51479. MaxResults *int64 `min:"5" type:"integer"`
  51480. // The token to retrieve the next page of results.
  51481. NextToken *string `type:"string"`
  51482. }
  51483. // String returns the string representation
  51484. func (s DescribeInstanceTypeOfferingsInput) String() string {
  51485. return awsutil.Prettify(s)
  51486. }
  51487. // GoString returns the string representation
  51488. func (s DescribeInstanceTypeOfferingsInput) GoString() string {
  51489. return s.String()
  51490. }
  51491. // Validate inspects the fields of the type to determine if they are valid.
  51492. func (s *DescribeInstanceTypeOfferingsInput) Validate() error {
  51493. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"}
  51494. if s.MaxResults != nil && *s.MaxResults < 5 {
  51495. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  51496. }
  51497. if invalidParams.Len() > 0 {
  51498. return invalidParams
  51499. }
  51500. return nil
  51501. }
  51502. // SetDryRun sets the DryRun field's value.
  51503. func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput {
  51504. s.DryRun = &v
  51505. return s
  51506. }
  51507. // SetFilters sets the Filters field's value.
  51508. func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput {
  51509. s.Filters = v
  51510. return s
  51511. }
  51512. // SetLocationType sets the LocationType field's value.
  51513. func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput {
  51514. s.LocationType = &v
  51515. return s
  51516. }
  51517. // SetMaxResults sets the MaxResults field's value.
  51518. func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput {
  51519. s.MaxResults = &v
  51520. return s
  51521. }
  51522. // SetNextToken sets the NextToken field's value.
  51523. func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput {
  51524. s.NextToken = &v
  51525. return s
  51526. }
  51527. type DescribeInstanceTypeOfferingsOutput struct {
  51528. _ struct{} `type:"structure"`
  51529. // The instance types offered.
  51530. InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"`
  51531. // The token to use to retrieve the next page of results. This value is null
  51532. // when there are no more results to return.
  51533. NextToken *string `locationName:"nextToken" type:"string"`
  51534. }
  51535. // String returns the string representation
  51536. func (s DescribeInstanceTypeOfferingsOutput) String() string {
  51537. return awsutil.Prettify(s)
  51538. }
  51539. // GoString returns the string representation
  51540. func (s DescribeInstanceTypeOfferingsOutput) GoString() string {
  51541. return s.String()
  51542. }
  51543. // SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value.
  51544. func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput {
  51545. s.InstanceTypeOfferings = v
  51546. return s
  51547. }
  51548. // SetNextToken sets the NextToken field's value.
  51549. func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput {
  51550. s.NextToken = &v
  51551. return s
  51552. }
  51553. type DescribeInstanceTypesInput struct {
  51554. _ struct{} `type:"structure"`
  51555. // Checks whether you have the required permissions for the action, without
  51556. // actually making the request, and provides an error response. If you have
  51557. // the required permissions, the error response is DryRunOperation. Otherwise,
  51558. // it is UnauthorizedOperation.
  51559. DryRun *bool `type:"boolean"`
  51560. // One or more filters. Filter names and values are case-sensitive.
  51561. //
  51562. // * auto-recovery-supported - Indicates whether auto recovery is supported.
  51563. // (true | false)
  51564. //
  51565. // * bare-metal - Indicates whether it is a bare metal instance type. (true
  51566. // | false)
  51567. //
  51568. // * burstable-performance-supported - Indicates whether it is a burstable
  51569. // performance instance type. (true | false)
  51570. //
  51571. // * current-generation - Indicates whether this instance type is the latest
  51572. // generation instance type of an instance family. (true | false)
  51573. //
  51574. // * ebs-info.ebs-optimized-support - Indicates whether the instance type
  51575. // is EBS-optimized. (true | false)
  51576. //
  51577. // * ebs-info.encryption-support - Indicates whether EBS encryption is supported.
  51578. // (true | false)
  51579. //
  51580. // * free-tier-eligible - Indicates whether the instance type is eligible
  51581. // to use in the free tier. (true | false)
  51582. //
  51583. // * hibernation-supported - Indicates whether On-Demand hibernation is supported.
  51584. // (true | false)
  51585. //
  51586. // * hypervisor - The hypervisor used. (nitro | xen)
  51587. //
  51588. // * instance-storage-info.disk.count - The number of local disks.
  51589. //
  51590. // * instance-storage-info.disk.size-in-gb - The storage size of each instance
  51591. // storage disk, in GB.
  51592. //
  51593. // * instance-storage-info.disk.type - The storage technology for the local
  51594. // instance storage disks. (hdd | ssd)
  51595. //
  51596. // * instance-storage-info.total-size-in-gb - The total amount of storage
  51597. // available from all local instance storage, in GB.
  51598. //
  51599. // * instance-storage-supported - Indicates whether the instance type has
  51600. // local instance storage. (true | false)
  51601. //
  51602. // * memory-info.size-in-mib - The memory size.
  51603. //
  51604. // * network-info.ena-support - Indicates whether Elastic Network Adapter
  51605. // (ENA) is supported or required. (required | supported | unsupported)
  51606. //
  51607. // * network-info.ipv4-addresses-per-interface - The maximum number of private
  51608. // IPv4 addresses per network interface.
  51609. //
  51610. // * network-info.ipv6-addresses-per-interface - The maximum number of private
  51611. // IPv6 addresses per network interface.
  51612. //
  51613. // * network-info.ipv6-supported - Indicates whether the instance type supports
  51614. // IPv6. (true | false)
  51615. //
  51616. // * network-info.maximum-network-interfaces - The maximum number of network
  51617. // interfaces per instance.
  51618. //
  51619. // * network-info.network-performance - Describes the network performance.
  51620. //
  51621. // * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
  51622. // GHz.
  51623. //
  51624. // * vcpu-info.default-cores - The default number of cores for the instance
  51625. // type.
  51626. //
  51627. // * vcpu-info.default-threads-per-core - The default number of threads per
  51628. // cores for the instance type.
  51629. //
  51630. // * vcpu-info.default-vcpus - The default number of vCPUs for the instance
  51631. // type.
  51632. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51633. // The instance types. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  51634. // in the Amazon Elastic Compute Cloud User Guide.
  51635. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  51636. // The maximum number of results to return for the request in a single page.
  51637. // The remaining results can be seen by sending another request with the next
  51638. // token value.
  51639. MaxResults *int64 `min:"5" type:"integer"`
  51640. // The token to retrieve the next page of results.
  51641. NextToken *string `type:"string"`
  51642. }
  51643. // String returns the string representation
  51644. func (s DescribeInstanceTypesInput) String() string {
  51645. return awsutil.Prettify(s)
  51646. }
  51647. // GoString returns the string representation
  51648. func (s DescribeInstanceTypesInput) GoString() string {
  51649. return s.String()
  51650. }
  51651. // Validate inspects the fields of the type to determine if they are valid.
  51652. func (s *DescribeInstanceTypesInput) Validate() error {
  51653. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"}
  51654. if s.MaxResults != nil && *s.MaxResults < 5 {
  51655. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  51656. }
  51657. if invalidParams.Len() > 0 {
  51658. return invalidParams
  51659. }
  51660. return nil
  51661. }
  51662. // SetDryRun sets the DryRun field's value.
  51663. func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput {
  51664. s.DryRun = &v
  51665. return s
  51666. }
  51667. // SetFilters sets the Filters field's value.
  51668. func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput {
  51669. s.Filters = v
  51670. return s
  51671. }
  51672. // SetInstanceTypes sets the InstanceTypes field's value.
  51673. func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput {
  51674. s.InstanceTypes = v
  51675. return s
  51676. }
  51677. // SetMaxResults sets the MaxResults field's value.
  51678. func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput {
  51679. s.MaxResults = &v
  51680. return s
  51681. }
  51682. // SetNextToken sets the NextToken field's value.
  51683. func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput {
  51684. s.NextToken = &v
  51685. return s
  51686. }
  51687. type DescribeInstanceTypesOutput struct {
  51688. _ struct{} `type:"structure"`
  51689. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  51690. // in the Amazon Elastic Compute Cloud User Guide.
  51691. InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"`
  51692. // The token to use to retrieve the next page of results. This value is null
  51693. // when there are no more results to return.
  51694. NextToken *string `locationName:"nextToken" type:"string"`
  51695. }
  51696. // String returns the string representation
  51697. func (s DescribeInstanceTypesOutput) String() string {
  51698. return awsutil.Prettify(s)
  51699. }
  51700. // GoString returns the string representation
  51701. func (s DescribeInstanceTypesOutput) GoString() string {
  51702. return s.String()
  51703. }
  51704. // SetInstanceTypes sets the InstanceTypes field's value.
  51705. func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput {
  51706. s.InstanceTypes = v
  51707. return s
  51708. }
  51709. // SetNextToken sets the NextToken field's value.
  51710. func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput {
  51711. s.NextToken = &v
  51712. return s
  51713. }
  51714. type DescribeInstancesInput struct {
  51715. _ struct{} `type:"structure"`
  51716. // Checks whether you have the required permissions for the action, without
  51717. // actually making the request, and provides an error response. If you have
  51718. // the required permissions, the error response is DryRunOperation. Otherwise,
  51719. // it is UnauthorizedOperation.
  51720. DryRun *bool `locationName:"dryRun" type:"boolean"`
  51721. // The filters.
  51722. //
  51723. // * affinity - The affinity setting for an instance running on a Dedicated
  51724. // Host (default | host).
  51725. //
  51726. // * architecture - The instance architecture (i386 | x86_64 | arm64).
  51727. //
  51728. // * availability-zone - The Availability Zone of the instance.
  51729. //
  51730. // * block-device-mapping.attach-time - The attach time for an EBS volume
  51731. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  51732. //
  51733. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  51734. // whether the EBS volume is deleted on instance termination.
  51735. //
  51736. // * block-device-mapping.device-name - The device name specified in the
  51737. // block device mapping (for example, /dev/sdh or xvdh).
  51738. //
  51739. // * block-device-mapping.status - The status for the EBS volume (attaching
  51740. // | attached | detaching | detached).
  51741. //
  51742. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  51743. //
  51744. // * client-token - The idempotency token you provided when you launched
  51745. // the instance.
  51746. //
  51747. // * dns-name - The public DNS name of the instance.
  51748. //
  51749. // * group-id - The ID of the security group for the instance. EC2-Classic
  51750. // only.
  51751. //
  51752. // * group-name - The name of the security group for the instance. EC2-Classic
  51753. // only.
  51754. //
  51755. // * hibernation-options.configured - A Boolean that indicates whether the
  51756. // instance is enabled for hibernation. A value of true means that the instance
  51757. // is enabled for hibernation.
  51758. //
  51759. // * host-id - The ID of the Dedicated Host on which the instance is running,
  51760. // if applicable.
  51761. //
  51762. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  51763. //
  51764. // * iam-instance-profile.arn - The instance profile associated with the
  51765. // instance. Specified as an ARN.
  51766. //
  51767. // * image-id - The ID of the image used to launch the instance.
  51768. //
  51769. // * instance-id - The ID of the instance.
  51770. //
  51771. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  51772. // Scheduled Instance (spot | scheduled).
  51773. //
  51774. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  51775. // integer. The high byte is used for internal purposes and should be ignored.
  51776. // The low byte is set based on the state represented. The valid values are:
  51777. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  51778. // and 80 (stopped).
  51779. //
  51780. // * instance-state-name - The state of the instance (pending | running |
  51781. // shutting-down | terminated | stopping | stopped).
  51782. //
  51783. // * instance-type - The type of instance (for example, t2.micro).
  51784. //
  51785. // * instance.group-id - The ID of the security group for the instance.
  51786. //
  51787. // * instance.group-name - The name of the security group for the instance.
  51788. //
  51789. // * ip-address - The public IPv4 address of the instance.
  51790. //
  51791. // * kernel-id - The kernel ID.
  51792. //
  51793. // * key-name - The name of the key pair used when the instance was launched.
  51794. //
  51795. // * launch-index - When launching multiple instances, this is the index
  51796. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  51797. //
  51798. // * launch-time - The time when the instance was launched.
  51799. //
  51800. // * metadata-options.http-tokens - The metadata request authorization state
  51801. // (optional | required)
  51802. //
  51803. // * metadata-options.http-put-response-hop-limit - The http metadata request
  51804. // put response hop limit (integer, possible values 1 to 64)
  51805. //
  51806. // * metadata-options.http-endpoint - Enable or disable metadata access on
  51807. // http endpoint (enabled | disabled)
  51808. //
  51809. // * monitoring-state - Indicates whether detailed monitoring is enabled
  51810. // (disabled | enabled).
  51811. //
  51812. // * network-interface.addresses.private-ip-address - The private IPv4 address
  51813. // associated with the network interface.
  51814. //
  51815. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  51816. // of the network interface is the primary private IPv4 address.
  51817. //
  51818. // * network-interface.addresses.association.public-ip - The ID of the association
  51819. // of an Elastic IP address (IPv4) with a network interface.
  51820. //
  51821. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  51822. // the private IPv4 address associated with the network interface.
  51823. //
  51824. // * network-interface.association.public-ip - The address of the Elastic
  51825. // IP address (IPv4) bound to the network interface.
  51826. //
  51827. // * network-interface.association.ip-owner-id - The owner of the Elastic
  51828. // IP address (IPv4) associated with the network interface.
  51829. //
  51830. // * network-interface.association.allocation-id - The allocation ID returned
  51831. // when you allocated the Elastic IP address (IPv4) for your network interface.
  51832. //
  51833. // * network-interface.association.association-id - The association ID returned
  51834. // when the network interface was associated with an IPv4 address.
  51835. //
  51836. // * network-interface.attachment.attachment-id - The ID of the interface
  51837. // attachment.
  51838. //
  51839. // * network-interface.attachment.instance-id - The ID of the instance to
  51840. // which the network interface is attached.
  51841. //
  51842. // * network-interface.attachment.instance-owner-id - The owner ID of the
  51843. // instance to which the network interface is attached.
  51844. //
  51845. // * network-interface.attachment.device-index - The device index to which
  51846. // the network interface is attached.
  51847. //
  51848. // * network-interface.attachment.status - The status of the attachment (attaching
  51849. // | attached | detaching | detached).
  51850. //
  51851. // * network-interface.attachment.attach-time - The time that the network
  51852. // interface was attached to an instance.
  51853. //
  51854. // * network-interface.attachment.delete-on-termination - Specifies whether
  51855. // the attachment is deleted when an instance is terminated.
  51856. //
  51857. // * network-interface.availability-zone - The Availability Zone for the
  51858. // network interface.
  51859. //
  51860. // * network-interface.description - The description of the network interface.
  51861. //
  51862. // * network-interface.group-id - The ID of a security group associated with
  51863. // the network interface.
  51864. //
  51865. // * network-interface.group-name - The name of a security group associated
  51866. // with the network interface.
  51867. //
  51868. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  51869. // with the network interface.
  51870. //
  51871. // * network-interface.mac-address - The MAC address of the network interface.
  51872. //
  51873. // * network-interface.network-interface-id - The ID of the network interface.
  51874. //
  51875. // * network-interface.owner-id - The ID of the owner of the network interface.
  51876. //
  51877. // * network-interface.private-dns-name - The private DNS name of the network
  51878. // interface.
  51879. //
  51880. // * network-interface.requester-id - The requester ID for the network interface.
  51881. //
  51882. // * network-interface.requester-managed - Indicates whether the network
  51883. // interface is being managed by AWS.
  51884. //
  51885. // * network-interface.status - The status of the network interface (available)
  51886. // | in-use).
  51887. //
  51888. // * network-interface.source-dest-check - Whether the network interface
  51889. // performs source/destination checking. A value of true means that checking
  51890. // is enabled, and false means that checking is disabled. The value must
  51891. // be false for the network interface to perform network address translation
  51892. // (NAT) in your VPC.
  51893. //
  51894. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  51895. //
  51896. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  51897. //
  51898. // * owner-id - The AWS account ID of the instance owner.
  51899. //
  51900. // * placement-group-name - The name of the placement group for the instance.
  51901. //
  51902. // * placement-partition-number - The partition in which the instance is
  51903. // located.
  51904. //
  51905. // * platform - The platform. To list only Windows instances, use windows.
  51906. //
  51907. // * private-dns-name - The private IPv4 DNS name of the instance.
  51908. //
  51909. // * private-ip-address - The private IPv4 address of the instance.
  51910. //
  51911. // * product-code - The product code associated with the AMI used to launch
  51912. // the instance.
  51913. //
  51914. // * product-code.type - The type of product code (devpay | marketplace).
  51915. //
  51916. // * ramdisk-id - The RAM disk ID.
  51917. //
  51918. // * reason - The reason for the current state of the instance (for example,
  51919. // shows "User Initiated [date]" when you stop or terminate the instance).
  51920. // Similar to the state-reason-code filter.
  51921. //
  51922. // * requester-id - The ID of the entity that launched the instance on your
  51923. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  51924. //
  51925. // * reservation-id - The ID of the instance's reservation. A reservation
  51926. // ID is created any time you launch an instance. A reservation ID has a
  51927. // one-to-one relationship with an instance launch request, but can be associated
  51928. // with more than one instance if you launch multiple instances using the
  51929. // same launch request. For example, if you launch one instance, you get
  51930. // one reservation ID. If you launch ten instances using the same launch
  51931. // request, you also get one reservation ID.
  51932. //
  51933. // * root-device-name - The device name of the root device volume (for example,
  51934. // /dev/sda1).
  51935. //
  51936. // * root-device-type - The type of the root device volume (ebs | instance-store).
  51937. //
  51938. // * source-dest-check - Indicates whether the instance performs source/destination
  51939. // checking. A value of true means that checking is enabled, and false means
  51940. // that checking is disabled. The value must be false for the instance to
  51941. // perform network address translation (NAT) in your VPC.
  51942. //
  51943. // * spot-instance-request-id - The ID of the Spot Instance request.
  51944. //
  51945. // * state-reason-code - The reason code for the state change.
  51946. //
  51947. // * state-reason-message - A message that describes the state change.
  51948. //
  51949. // * subnet-id - The ID of the subnet for the instance.
  51950. //
  51951. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  51952. // Use the tag key in the filter name and the tag value as the filter value.
  51953. // For example, to find all resources that have a tag with the key Owner
  51954. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  51955. // the filter value.
  51956. //
  51957. // * tag-key - The key of a tag assigned to the resource. Use this filter
  51958. // to find all resources that have a tag with a specific key, regardless
  51959. // of the tag value.
  51960. //
  51961. // * tenancy - The tenancy of an instance (dedicated | default | host).
  51962. //
  51963. // * virtualization-type - The virtualization type of the instance (paravirtual
  51964. // | hvm).
  51965. //
  51966. // * vpc-id - The ID of the VPC that the instance is running in.
  51967. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51968. // The instance IDs.
  51969. //
  51970. // Default: Describes all your instances.
  51971. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  51972. // The maximum number of results to return in a single call. To retrieve the
  51973. // remaining results, make another call with the returned NextToken value. This
  51974. // value can be between 5 and 1000. You cannot specify this parameter and the
  51975. // instance IDs parameter in the same call.
  51976. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  51977. // The token to request the next page of results.
  51978. NextToken *string `locationName:"nextToken" type:"string"`
  51979. }
  51980. // String returns the string representation
  51981. func (s DescribeInstancesInput) String() string {
  51982. return awsutil.Prettify(s)
  51983. }
  51984. // GoString returns the string representation
  51985. func (s DescribeInstancesInput) GoString() string {
  51986. return s.String()
  51987. }
  51988. // SetDryRun sets the DryRun field's value.
  51989. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  51990. s.DryRun = &v
  51991. return s
  51992. }
  51993. // SetFilters sets the Filters field's value.
  51994. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  51995. s.Filters = v
  51996. return s
  51997. }
  51998. // SetInstanceIds sets the InstanceIds field's value.
  51999. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  52000. s.InstanceIds = v
  52001. return s
  52002. }
  52003. // SetMaxResults sets the MaxResults field's value.
  52004. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  52005. s.MaxResults = &v
  52006. return s
  52007. }
  52008. // SetNextToken sets the NextToken field's value.
  52009. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  52010. s.NextToken = &v
  52011. return s
  52012. }
  52013. type DescribeInstancesOutput struct {
  52014. _ struct{} `type:"structure"`
  52015. // The token to use to retrieve the next page of results. This value is null
  52016. // when there are no more results to return.
  52017. NextToken *string `locationName:"nextToken" type:"string"`
  52018. // Information about the reservations.
  52019. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  52020. }
  52021. // String returns the string representation
  52022. func (s DescribeInstancesOutput) String() string {
  52023. return awsutil.Prettify(s)
  52024. }
  52025. // GoString returns the string representation
  52026. func (s DescribeInstancesOutput) GoString() string {
  52027. return s.String()
  52028. }
  52029. // SetNextToken sets the NextToken field's value.
  52030. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  52031. s.NextToken = &v
  52032. return s
  52033. }
  52034. // SetReservations sets the Reservations field's value.
  52035. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  52036. s.Reservations = v
  52037. return s
  52038. }
  52039. type DescribeInternetGatewaysInput struct {
  52040. _ struct{} `type:"structure"`
  52041. // Checks whether you have the required permissions for the action, without
  52042. // actually making the request, and provides an error response. If you have
  52043. // the required permissions, the error response is DryRunOperation. Otherwise,
  52044. // it is UnauthorizedOperation.
  52045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52046. // One or more filters.
  52047. //
  52048. // * attachment.state - The current state of the attachment between the gateway
  52049. // and the VPC (available). Present only if a VPC is attached.
  52050. //
  52051. // * attachment.vpc-id - The ID of an attached VPC.
  52052. //
  52053. // * internet-gateway-id - The ID of the Internet gateway.
  52054. //
  52055. // * owner-id - The ID of the AWS account that owns the internet gateway.
  52056. //
  52057. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  52058. // Use the tag key in the filter name and the tag value as the filter value.
  52059. // For example, to find all resources that have a tag with the key Owner
  52060. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  52061. // the filter value.
  52062. //
  52063. // * tag-key - The key of a tag assigned to the resource. Use this filter
  52064. // to find all resources assigned a tag with a specific key, regardless of
  52065. // the tag value.
  52066. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52067. // One or more internet gateway IDs.
  52068. //
  52069. // Default: Describes all your internet gateways.
  52070. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  52071. // The maximum number of results to return with a single call. To retrieve the
  52072. // remaining results, make another call with the returned nextToken value.
  52073. MaxResults *int64 `min:"5" type:"integer"`
  52074. // The token for the next page of results.
  52075. NextToken *string `type:"string"`
  52076. }
  52077. // String returns the string representation
  52078. func (s DescribeInternetGatewaysInput) String() string {
  52079. return awsutil.Prettify(s)
  52080. }
  52081. // GoString returns the string representation
  52082. func (s DescribeInternetGatewaysInput) GoString() string {
  52083. return s.String()
  52084. }
  52085. // Validate inspects the fields of the type to determine if they are valid.
  52086. func (s *DescribeInternetGatewaysInput) Validate() error {
  52087. invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
  52088. if s.MaxResults != nil && *s.MaxResults < 5 {
  52089. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52090. }
  52091. if invalidParams.Len() > 0 {
  52092. return invalidParams
  52093. }
  52094. return nil
  52095. }
  52096. // SetDryRun sets the DryRun field's value.
  52097. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  52098. s.DryRun = &v
  52099. return s
  52100. }
  52101. // SetFilters sets the Filters field's value.
  52102. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  52103. s.Filters = v
  52104. return s
  52105. }
  52106. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  52107. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  52108. s.InternetGatewayIds = v
  52109. return s
  52110. }
  52111. // SetMaxResults sets the MaxResults field's value.
  52112. func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
  52113. s.MaxResults = &v
  52114. return s
  52115. }
  52116. // SetNextToken sets the NextToken field's value.
  52117. func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
  52118. s.NextToken = &v
  52119. return s
  52120. }
  52121. type DescribeInternetGatewaysOutput struct {
  52122. _ struct{} `type:"structure"`
  52123. // Information about one or more internet gateways.
  52124. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  52125. // The token to use to retrieve the next page of results. This value is null
  52126. // when there are no more results to return.
  52127. NextToken *string `locationName:"nextToken" type:"string"`
  52128. }
  52129. // String returns the string representation
  52130. func (s DescribeInternetGatewaysOutput) String() string {
  52131. return awsutil.Prettify(s)
  52132. }
  52133. // GoString returns the string representation
  52134. func (s DescribeInternetGatewaysOutput) GoString() string {
  52135. return s.String()
  52136. }
  52137. // SetInternetGateways sets the InternetGateways field's value.
  52138. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  52139. s.InternetGateways = v
  52140. return s
  52141. }
  52142. // SetNextToken sets the NextToken field's value.
  52143. func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
  52144. s.NextToken = &v
  52145. return s
  52146. }
  52147. type DescribeKeyPairsInput struct {
  52148. _ struct{} `type:"structure"`
  52149. // Checks whether you have the required permissions for the action, without
  52150. // actually making the request, and provides an error response. If you have
  52151. // the required permissions, the error response is DryRunOperation. Otherwise,
  52152. // it is UnauthorizedOperation.
  52153. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52154. // The filters.
  52155. //
  52156. // * fingerprint - The fingerprint of the key pair.
  52157. //
  52158. // * key-name - The name of the key pair.
  52159. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52160. // The key pair names.
  52161. //
  52162. // Default: Describes all your key pairs.
  52163. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  52164. // The IDs of the key pairs.
  52165. KeyPairIds []*string `locationName:"KeyPairId" locationNameList:"KeyPairId" type:"list"`
  52166. }
  52167. // String returns the string representation
  52168. func (s DescribeKeyPairsInput) String() string {
  52169. return awsutil.Prettify(s)
  52170. }
  52171. // GoString returns the string representation
  52172. func (s DescribeKeyPairsInput) GoString() string {
  52173. return s.String()
  52174. }
  52175. // SetDryRun sets the DryRun field's value.
  52176. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  52177. s.DryRun = &v
  52178. return s
  52179. }
  52180. // SetFilters sets the Filters field's value.
  52181. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  52182. s.Filters = v
  52183. return s
  52184. }
  52185. // SetKeyNames sets the KeyNames field's value.
  52186. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  52187. s.KeyNames = v
  52188. return s
  52189. }
  52190. // SetKeyPairIds sets the KeyPairIds field's value.
  52191. func (s *DescribeKeyPairsInput) SetKeyPairIds(v []*string) *DescribeKeyPairsInput {
  52192. s.KeyPairIds = v
  52193. return s
  52194. }
  52195. type DescribeKeyPairsOutput struct {
  52196. _ struct{} `type:"structure"`
  52197. // Information about the key pairs.
  52198. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  52199. }
  52200. // String returns the string representation
  52201. func (s DescribeKeyPairsOutput) String() string {
  52202. return awsutil.Prettify(s)
  52203. }
  52204. // GoString returns the string representation
  52205. func (s DescribeKeyPairsOutput) GoString() string {
  52206. return s.String()
  52207. }
  52208. // SetKeyPairs sets the KeyPairs field's value.
  52209. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  52210. s.KeyPairs = v
  52211. return s
  52212. }
  52213. type DescribeLaunchTemplateVersionsInput struct {
  52214. _ struct{} `type:"structure"`
  52215. // Checks whether you have the required permissions for the action, without
  52216. // actually making the request, and provides an error response. If you have
  52217. // the required permissions, the error response is DryRunOperation. Otherwise,
  52218. // it is UnauthorizedOperation.
  52219. DryRun *bool `type:"boolean"`
  52220. // One or more filters.
  52221. //
  52222. // * create-time - The time the launch template version was created.
  52223. //
  52224. // * ebs-optimized - A boolean that indicates whether the instance is optimized
  52225. // for Amazon EBS I/O.
  52226. //
  52227. // * iam-instance-profile - The ARN of the IAM instance profile.
  52228. //
  52229. // * image-id - The ID of the AMI.
  52230. //
  52231. // * instance-type - The instance type.
  52232. //
  52233. // * is-default-version - A boolean that indicates whether the launch template
  52234. // version is the default version.
  52235. //
  52236. // * kernel-id - The kernel ID.
  52237. //
  52238. // * ram-disk-id - The RAM disk ID.
  52239. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52240. // The ID of the launch template. You must specify either the launch template
  52241. // ID or launch template name in the request.
  52242. LaunchTemplateId *string `type:"string"`
  52243. // The name of the launch template. You must specify either the launch template
  52244. // ID or launch template name in the request.
  52245. LaunchTemplateName *string `min:"3" type:"string"`
  52246. // The maximum number of results to return in a single call. To retrieve the
  52247. // remaining results, make another call with the returned NextToken value. This
  52248. // value can be between 1 and 200.
  52249. MaxResults *int64 `type:"integer"`
  52250. // The version number up to which to describe launch template versions.
  52251. MaxVersion *string `type:"string"`
  52252. // The version number after which to describe launch template versions.
  52253. MinVersion *string `type:"string"`
  52254. // The token to request the next page of results.
  52255. NextToken *string `type:"string"`
  52256. // One or more versions of the launch template.
  52257. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
  52258. }
  52259. // String returns the string representation
  52260. func (s DescribeLaunchTemplateVersionsInput) String() string {
  52261. return awsutil.Prettify(s)
  52262. }
  52263. // GoString returns the string representation
  52264. func (s DescribeLaunchTemplateVersionsInput) GoString() string {
  52265. return s.String()
  52266. }
  52267. // Validate inspects the fields of the type to determine if they are valid.
  52268. func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
  52269. invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
  52270. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  52271. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  52272. }
  52273. if invalidParams.Len() > 0 {
  52274. return invalidParams
  52275. }
  52276. return nil
  52277. }
  52278. // SetDryRun sets the DryRun field's value.
  52279. func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
  52280. s.DryRun = &v
  52281. return s
  52282. }
  52283. // SetFilters sets the Filters field's value.
  52284. func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
  52285. s.Filters = v
  52286. return s
  52287. }
  52288. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  52289. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
  52290. s.LaunchTemplateId = &v
  52291. return s
  52292. }
  52293. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  52294. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
  52295. s.LaunchTemplateName = &v
  52296. return s
  52297. }
  52298. // SetMaxResults sets the MaxResults field's value.
  52299. func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
  52300. s.MaxResults = &v
  52301. return s
  52302. }
  52303. // SetMaxVersion sets the MaxVersion field's value.
  52304. func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
  52305. s.MaxVersion = &v
  52306. return s
  52307. }
  52308. // SetMinVersion sets the MinVersion field's value.
  52309. func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
  52310. s.MinVersion = &v
  52311. return s
  52312. }
  52313. // SetNextToken sets the NextToken field's value.
  52314. func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
  52315. s.NextToken = &v
  52316. return s
  52317. }
  52318. // SetVersions sets the Versions field's value.
  52319. func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
  52320. s.Versions = v
  52321. return s
  52322. }
  52323. type DescribeLaunchTemplateVersionsOutput struct {
  52324. _ struct{} `type:"structure"`
  52325. // Information about the launch template versions.
  52326. LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
  52327. // The token to use to retrieve the next page of results. This value is null
  52328. // when there are no more results to return.
  52329. NextToken *string `locationName:"nextToken" type:"string"`
  52330. }
  52331. // String returns the string representation
  52332. func (s DescribeLaunchTemplateVersionsOutput) String() string {
  52333. return awsutil.Prettify(s)
  52334. }
  52335. // GoString returns the string representation
  52336. func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
  52337. return s.String()
  52338. }
  52339. // SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
  52340. func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
  52341. s.LaunchTemplateVersions = v
  52342. return s
  52343. }
  52344. // SetNextToken sets the NextToken field's value.
  52345. func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
  52346. s.NextToken = &v
  52347. return s
  52348. }
  52349. type DescribeLaunchTemplatesInput struct {
  52350. _ struct{} `type:"structure"`
  52351. // Checks whether you have the required permissions for the action, without
  52352. // actually making the request, and provides an error response. If you have
  52353. // the required permissions, the error response is DryRunOperation. Otherwise,
  52354. // it is UnauthorizedOperation.
  52355. DryRun *bool `type:"boolean"`
  52356. // One or more filters.
  52357. //
  52358. // * create-time - The time the launch template was created.
  52359. //
  52360. // * launch-template-name - The name of the launch template.
  52361. //
  52362. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  52363. // Use the tag key in the filter name and the tag value as the filter value.
  52364. // For example, to find all resources that have a tag with the key Owner
  52365. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  52366. // the filter value.
  52367. //
  52368. // * tag-key - The key of a tag assigned to the resource. Use this filter
  52369. // to find all resources assigned a tag with a specific key, regardless of
  52370. // the tag value.
  52371. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52372. // One or more launch template IDs.
  52373. LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
  52374. // One or more launch template names.
  52375. LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
  52376. // The maximum number of results to return in a single call. To retrieve the
  52377. // remaining results, make another call with the returned NextToken value. This
  52378. // value can be between 1 and 200.
  52379. MaxResults *int64 `min:"1" type:"integer"`
  52380. // The token to request the next page of results.
  52381. NextToken *string `type:"string"`
  52382. }
  52383. // String returns the string representation
  52384. func (s DescribeLaunchTemplatesInput) String() string {
  52385. return awsutil.Prettify(s)
  52386. }
  52387. // GoString returns the string representation
  52388. func (s DescribeLaunchTemplatesInput) GoString() string {
  52389. return s.String()
  52390. }
  52391. // Validate inspects the fields of the type to determine if they are valid.
  52392. func (s *DescribeLaunchTemplatesInput) Validate() error {
  52393. invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
  52394. if s.MaxResults != nil && *s.MaxResults < 1 {
  52395. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  52396. }
  52397. if invalidParams.Len() > 0 {
  52398. return invalidParams
  52399. }
  52400. return nil
  52401. }
  52402. // SetDryRun sets the DryRun field's value.
  52403. func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
  52404. s.DryRun = &v
  52405. return s
  52406. }
  52407. // SetFilters sets the Filters field's value.
  52408. func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
  52409. s.Filters = v
  52410. return s
  52411. }
  52412. // SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
  52413. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
  52414. s.LaunchTemplateIds = v
  52415. return s
  52416. }
  52417. // SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
  52418. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
  52419. s.LaunchTemplateNames = v
  52420. return s
  52421. }
  52422. // SetMaxResults sets the MaxResults field's value.
  52423. func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
  52424. s.MaxResults = &v
  52425. return s
  52426. }
  52427. // SetNextToken sets the NextToken field's value.
  52428. func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
  52429. s.NextToken = &v
  52430. return s
  52431. }
  52432. type DescribeLaunchTemplatesOutput struct {
  52433. _ struct{} `type:"structure"`
  52434. // Information about the launch templates.
  52435. LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
  52436. // The token to use to retrieve the next page of results. This value is null
  52437. // when there are no more results to return.
  52438. NextToken *string `locationName:"nextToken" type:"string"`
  52439. }
  52440. // String returns the string representation
  52441. func (s DescribeLaunchTemplatesOutput) String() string {
  52442. return awsutil.Prettify(s)
  52443. }
  52444. // GoString returns the string representation
  52445. func (s DescribeLaunchTemplatesOutput) GoString() string {
  52446. return s.String()
  52447. }
  52448. // SetLaunchTemplates sets the LaunchTemplates field's value.
  52449. func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
  52450. s.LaunchTemplates = v
  52451. return s
  52452. }
  52453. // SetNextToken sets the NextToken field's value.
  52454. func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
  52455. s.NextToken = &v
  52456. return s
  52457. }
  52458. type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
  52459. _ struct{} `type:"structure"`
  52460. // Checks whether you have the required permissions for the action, without
  52461. // actually making the request, and provides an error response. If you have
  52462. // the required permissions, the error response is DryRunOperation. Otherwise,
  52463. // it is UnauthorizedOperation.
  52464. DryRun *bool `type:"boolean"`
  52465. // One or more filters.
  52466. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52467. // The IDs of the associations.
  52468. LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
  52469. // The maximum number of results to return with a single call. To retrieve the
  52470. // remaining results, make another call with the returned nextToken value.
  52471. MaxResults *int64 `min:"5" type:"integer"`
  52472. // The token for the next page of results.
  52473. NextToken *string `type:"string"`
  52474. }
  52475. // String returns the string representation
  52476. func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
  52477. return awsutil.Prettify(s)
  52478. }
  52479. // GoString returns the string representation
  52480. func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
  52481. return s.String()
  52482. }
  52483. // Validate inspects the fields of the type to determine if they are valid.
  52484. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
  52485. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
  52486. if s.MaxResults != nil && *s.MaxResults < 5 {
  52487. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52488. }
  52489. if invalidParams.Len() > 0 {
  52490. return invalidParams
  52491. }
  52492. return nil
  52493. }
  52494. // SetDryRun sets the DryRun field's value.
  52495. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
  52496. s.DryRun = &v
  52497. return s
  52498. }
  52499. // SetFilters sets the Filters field's value.
  52500. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
  52501. s.Filters = v
  52502. return s
  52503. }
  52504. // SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
  52505. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
  52506. s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
  52507. return s
  52508. }
  52509. // SetMaxResults sets the MaxResults field's value.
  52510. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
  52511. s.MaxResults = &v
  52512. return s
  52513. }
  52514. // SetNextToken sets the NextToken field's value.
  52515. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
  52516. s.NextToken = &v
  52517. return s
  52518. }
  52519. type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
  52520. _ struct{} `type:"structure"`
  52521. // Information about the associations.
  52522. LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
  52523. // The token to use to retrieve the next page of results. This value is null
  52524. // when there are no more results to return.
  52525. NextToken *string `locationName:"nextToken" type:"string"`
  52526. }
  52527. // String returns the string representation
  52528. func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
  52529. return awsutil.Prettify(s)
  52530. }
  52531. // GoString returns the string representation
  52532. func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
  52533. return s.String()
  52534. }
  52535. // SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
  52536. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
  52537. s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
  52538. return s
  52539. }
  52540. // SetNextToken sets the NextToken field's value.
  52541. func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
  52542. s.NextToken = &v
  52543. return s
  52544. }
  52545. type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
  52546. _ struct{} `type:"structure"`
  52547. // Checks whether you have the required permissions for the action, without
  52548. // actually making the request, and provides an error response. If you have
  52549. // the required permissions, the error response is DryRunOperation. Otherwise,
  52550. // it is UnauthorizedOperation.
  52551. DryRun *bool `type:"boolean"`
  52552. // One or more filters.
  52553. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52554. // The IDs of the associations.
  52555. LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
  52556. // The maximum number of results to return with a single call. To retrieve the
  52557. // remaining results, make another call with the returned nextToken value.
  52558. MaxResults *int64 `min:"5" type:"integer"`
  52559. // The token for the next page of results.
  52560. NextToken *string `type:"string"`
  52561. }
  52562. // String returns the string representation
  52563. func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
  52564. return awsutil.Prettify(s)
  52565. }
  52566. // GoString returns the string representation
  52567. func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
  52568. return s.String()
  52569. }
  52570. // Validate inspects the fields of the type to determine if they are valid.
  52571. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
  52572. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
  52573. if s.MaxResults != nil && *s.MaxResults < 5 {
  52574. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52575. }
  52576. if invalidParams.Len() > 0 {
  52577. return invalidParams
  52578. }
  52579. return nil
  52580. }
  52581. // SetDryRun sets the DryRun field's value.
  52582. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
  52583. s.DryRun = &v
  52584. return s
  52585. }
  52586. // SetFilters sets the Filters field's value.
  52587. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
  52588. s.Filters = v
  52589. return s
  52590. }
  52591. // SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
  52592. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
  52593. s.LocalGatewayRouteTableVpcAssociationIds = v
  52594. return s
  52595. }
  52596. // SetMaxResults sets the MaxResults field's value.
  52597. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
  52598. s.MaxResults = &v
  52599. return s
  52600. }
  52601. // SetNextToken sets the NextToken field's value.
  52602. func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
  52603. s.NextToken = &v
  52604. return s
  52605. }
  52606. type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
  52607. _ struct{} `type:"structure"`
  52608. // Information about the associations.
  52609. LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
  52610. // The token to use to retrieve the next page of results. This value is null
  52611. // when there are no more results to return.
  52612. NextToken *string `locationName:"nextToken" type:"string"`
  52613. }
  52614. // String returns the string representation
  52615. func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
  52616. return awsutil.Prettify(s)
  52617. }
  52618. // GoString returns the string representation
  52619. func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
  52620. return s.String()
  52621. }
  52622. // SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
  52623. func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
  52624. s.LocalGatewayRouteTableVpcAssociations = v
  52625. return s
  52626. }
  52627. // SetNextToken sets the NextToken field's value.
  52628. func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
  52629. s.NextToken = &v
  52630. return s
  52631. }
  52632. type DescribeLocalGatewayRouteTablesInput struct {
  52633. _ struct{} `type:"structure"`
  52634. // Checks whether you have the required permissions for the action, without
  52635. // actually making the request, and provides an error response. If you have
  52636. // the required permissions, the error response is DryRunOperation. Otherwise,
  52637. // it is UnauthorizedOperation.
  52638. DryRun *bool `type:"boolean"`
  52639. // One or more filters.
  52640. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52641. // The IDs of the local gateway route tables.
  52642. LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
  52643. // The maximum number of results to return with a single call. To retrieve the
  52644. // remaining results, make another call with the returned nextToken value.
  52645. MaxResults *int64 `min:"5" type:"integer"`
  52646. // The token for the next page of results.
  52647. NextToken *string `type:"string"`
  52648. }
  52649. // String returns the string representation
  52650. func (s DescribeLocalGatewayRouteTablesInput) String() string {
  52651. return awsutil.Prettify(s)
  52652. }
  52653. // GoString returns the string representation
  52654. func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
  52655. return s.String()
  52656. }
  52657. // Validate inspects the fields of the type to determine if they are valid.
  52658. func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
  52659. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
  52660. if s.MaxResults != nil && *s.MaxResults < 5 {
  52661. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52662. }
  52663. if invalidParams.Len() > 0 {
  52664. return invalidParams
  52665. }
  52666. return nil
  52667. }
  52668. // SetDryRun sets the DryRun field's value.
  52669. func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
  52670. s.DryRun = &v
  52671. return s
  52672. }
  52673. // SetFilters sets the Filters field's value.
  52674. func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
  52675. s.Filters = v
  52676. return s
  52677. }
  52678. // SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
  52679. func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
  52680. s.LocalGatewayRouteTableIds = v
  52681. return s
  52682. }
  52683. // SetMaxResults sets the MaxResults field's value.
  52684. func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
  52685. s.MaxResults = &v
  52686. return s
  52687. }
  52688. // SetNextToken sets the NextToken field's value.
  52689. func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
  52690. s.NextToken = &v
  52691. return s
  52692. }
  52693. type DescribeLocalGatewayRouteTablesOutput struct {
  52694. _ struct{} `type:"structure"`
  52695. // Information about the local gateway route tables.
  52696. LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
  52697. // The token to use to retrieve the next page of results. This value is null
  52698. // when there are no more results to return.
  52699. NextToken *string `locationName:"nextToken" type:"string"`
  52700. }
  52701. // String returns the string representation
  52702. func (s DescribeLocalGatewayRouteTablesOutput) String() string {
  52703. return awsutil.Prettify(s)
  52704. }
  52705. // GoString returns the string representation
  52706. func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
  52707. return s.String()
  52708. }
  52709. // SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
  52710. func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
  52711. s.LocalGatewayRouteTables = v
  52712. return s
  52713. }
  52714. // SetNextToken sets the NextToken field's value.
  52715. func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
  52716. s.NextToken = &v
  52717. return s
  52718. }
  52719. type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
  52720. _ struct{} `type:"structure"`
  52721. // Checks whether you have the required permissions for the action, without
  52722. // actually making the request, and provides an error response. If you have
  52723. // the required permissions, the error response is DryRunOperation. Otherwise,
  52724. // it is UnauthorizedOperation.
  52725. DryRun *bool `type:"boolean"`
  52726. // One or more filters.
  52727. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52728. // The IDs of the virtual interface groups.
  52729. LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
  52730. // The maximum number of results to return with a single call. To retrieve the
  52731. // remaining results, make another call with the returned nextToken value.
  52732. MaxResults *int64 `min:"5" type:"integer"`
  52733. // The token for the next page of results.
  52734. NextToken *string `type:"string"`
  52735. }
  52736. // String returns the string representation
  52737. func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
  52738. return awsutil.Prettify(s)
  52739. }
  52740. // GoString returns the string representation
  52741. func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
  52742. return s.String()
  52743. }
  52744. // Validate inspects the fields of the type to determine if they are valid.
  52745. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
  52746. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
  52747. if s.MaxResults != nil && *s.MaxResults < 5 {
  52748. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52749. }
  52750. if invalidParams.Len() > 0 {
  52751. return invalidParams
  52752. }
  52753. return nil
  52754. }
  52755. // SetDryRun sets the DryRun field's value.
  52756. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
  52757. s.DryRun = &v
  52758. return s
  52759. }
  52760. // SetFilters sets the Filters field's value.
  52761. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
  52762. s.Filters = v
  52763. return s
  52764. }
  52765. // SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
  52766. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
  52767. s.LocalGatewayVirtualInterfaceGroupIds = v
  52768. return s
  52769. }
  52770. // SetMaxResults sets the MaxResults field's value.
  52771. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
  52772. s.MaxResults = &v
  52773. return s
  52774. }
  52775. // SetNextToken sets the NextToken field's value.
  52776. func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
  52777. s.NextToken = &v
  52778. return s
  52779. }
  52780. type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
  52781. _ struct{} `type:"structure"`
  52782. // The virtual interface groups.
  52783. LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
  52784. // The token to use to retrieve the next page of results. This value is null
  52785. // when there are no more results to return.
  52786. NextToken *string `locationName:"nextToken" type:"string"`
  52787. }
  52788. // String returns the string representation
  52789. func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
  52790. return awsutil.Prettify(s)
  52791. }
  52792. // GoString returns the string representation
  52793. func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
  52794. return s.String()
  52795. }
  52796. // SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
  52797. func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
  52798. s.LocalGatewayVirtualInterfaceGroups = v
  52799. return s
  52800. }
  52801. // SetNextToken sets the NextToken field's value.
  52802. func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
  52803. s.NextToken = &v
  52804. return s
  52805. }
  52806. type DescribeLocalGatewayVirtualInterfacesInput struct {
  52807. _ struct{} `type:"structure"`
  52808. // Checks whether you have the required permissions for the action, without
  52809. // actually making the request, and provides an error response. If you have
  52810. // the required permissions, the error response is DryRunOperation. Otherwise,
  52811. // it is UnauthorizedOperation.
  52812. DryRun *bool `type:"boolean"`
  52813. // One or more filters.
  52814. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52815. // The IDs of the virtual interfaces.
  52816. LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
  52817. // The maximum number of results to return with a single call. To retrieve the
  52818. // remaining results, make another call with the returned nextToken value.
  52819. MaxResults *int64 `min:"5" type:"integer"`
  52820. // The token for the next page of results.
  52821. NextToken *string `type:"string"`
  52822. }
  52823. // String returns the string representation
  52824. func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
  52825. return awsutil.Prettify(s)
  52826. }
  52827. // GoString returns the string representation
  52828. func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
  52829. return s.String()
  52830. }
  52831. // Validate inspects the fields of the type to determine if they are valid.
  52832. func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
  52833. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
  52834. if s.MaxResults != nil && *s.MaxResults < 5 {
  52835. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52836. }
  52837. if invalidParams.Len() > 0 {
  52838. return invalidParams
  52839. }
  52840. return nil
  52841. }
  52842. // SetDryRun sets the DryRun field's value.
  52843. func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
  52844. s.DryRun = &v
  52845. return s
  52846. }
  52847. // SetFilters sets the Filters field's value.
  52848. func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
  52849. s.Filters = v
  52850. return s
  52851. }
  52852. // SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
  52853. func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
  52854. s.LocalGatewayVirtualInterfaceIds = v
  52855. return s
  52856. }
  52857. // SetMaxResults sets the MaxResults field's value.
  52858. func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
  52859. s.MaxResults = &v
  52860. return s
  52861. }
  52862. // SetNextToken sets the NextToken field's value.
  52863. func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
  52864. s.NextToken = &v
  52865. return s
  52866. }
  52867. type DescribeLocalGatewayVirtualInterfacesOutput struct {
  52868. _ struct{} `type:"structure"`
  52869. // Information about the virtual interfaces.
  52870. LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
  52871. // The token to use to retrieve the next page of results. This value is null
  52872. // when there are no more results to return.
  52873. NextToken *string `locationName:"nextToken" type:"string"`
  52874. }
  52875. // String returns the string representation
  52876. func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
  52877. return awsutil.Prettify(s)
  52878. }
  52879. // GoString returns the string representation
  52880. func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
  52881. return s.String()
  52882. }
  52883. // SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
  52884. func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
  52885. s.LocalGatewayVirtualInterfaces = v
  52886. return s
  52887. }
  52888. // SetNextToken sets the NextToken field's value.
  52889. func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
  52890. s.NextToken = &v
  52891. return s
  52892. }
  52893. type DescribeLocalGatewaysInput struct {
  52894. _ struct{} `type:"structure"`
  52895. // Checks whether you have the required permissions for the action, without
  52896. // actually making the request, and provides an error response. If you have
  52897. // the required permissions, the error response is DryRunOperation. Otherwise,
  52898. // it is UnauthorizedOperation.
  52899. DryRun *bool `type:"boolean"`
  52900. // One or more filters.
  52901. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  52902. // The IDs of the local gateways.
  52903. LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
  52904. // The maximum number of results to return with a single call. To retrieve the
  52905. // remaining results, make another call with the returned nextToken value.
  52906. MaxResults *int64 `min:"5" type:"integer"`
  52907. // The token for the next page of results.
  52908. NextToken *string `type:"string"`
  52909. }
  52910. // String returns the string representation
  52911. func (s DescribeLocalGatewaysInput) String() string {
  52912. return awsutil.Prettify(s)
  52913. }
  52914. // GoString returns the string representation
  52915. func (s DescribeLocalGatewaysInput) GoString() string {
  52916. return s.String()
  52917. }
  52918. // Validate inspects the fields of the type to determine if they are valid.
  52919. func (s *DescribeLocalGatewaysInput) Validate() error {
  52920. invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
  52921. if s.MaxResults != nil && *s.MaxResults < 5 {
  52922. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  52923. }
  52924. if invalidParams.Len() > 0 {
  52925. return invalidParams
  52926. }
  52927. return nil
  52928. }
  52929. // SetDryRun sets the DryRun field's value.
  52930. func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
  52931. s.DryRun = &v
  52932. return s
  52933. }
  52934. // SetFilters sets the Filters field's value.
  52935. func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
  52936. s.Filters = v
  52937. return s
  52938. }
  52939. // SetLocalGatewayIds sets the LocalGatewayIds field's value.
  52940. func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
  52941. s.LocalGatewayIds = v
  52942. return s
  52943. }
  52944. // SetMaxResults sets the MaxResults field's value.
  52945. func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
  52946. s.MaxResults = &v
  52947. return s
  52948. }
  52949. // SetNextToken sets the NextToken field's value.
  52950. func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
  52951. s.NextToken = &v
  52952. return s
  52953. }
  52954. type DescribeLocalGatewaysOutput struct {
  52955. _ struct{} `type:"structure"`
  52956. // Information about the local gateways.
  52957. LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
  52958. // The token to use to retrieve the next page of results. This value is null
  52959. // when there are no more results to return.
  52960. NextToken *string `locationName:"nextToken" type:"string"`
  52961. }
  52962. // String returns the string representation
  52963. func (s DescribeLocalGatewaysOutput) String() string {
  52964. return awsutil.Prettify(s)
  52965. }
  52966. // GoString returns the string representation
  52967. func (s DescribeLocalGatewaysOutput) GoString() string {
  52968. return s.String()
  52969. }
  52970. // SetLocalGateways sets the LocalGateways field's value.
  52971. func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
  52972. s.LocalGateways = v
  52973. return s
  52974. }
  52975. // SetNextToken sets the NextToken field's value.
  52976. func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
  52977. s.NextToken = &v
  52978. return s
  52979. }
  52980. type DescribeMovingAddressesInput struct {
  52981. _ struct{} `type:"structure"`
  52982. // Checks whether you have the required permissions for the action, without
  52983. // actually making the request, and provides an error response. If you have
  52984. // the required permissions, the error response is DryRunOperation. Otherwise,
  52985. // it is UnauthorizedOperation.
  52986. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52987. // One or more filters.
  52988. //
  52989. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  52990. // RestoringToClassic).
  52991. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  52992. // The maximum number of results to return for the request in a single page.
  52993. // The remaining results of the initial request can be seen by sending another
  52994. // request with the returned NextToken value. This value can be between 5 and
  52995. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  52996. //
  52997. // Default: If no value is provided, the default is 1000.
  52998. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  52999. // The token for the next page of results.
  53000. NextToken *string `locationName:"nextToken" type:"string"`
  53001. // One or more Elastic IP addresses.
  53002. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  53003. }
  53004. // String returns the string representation
  53005. func (s DescribeMovingAddressesInput) String() string {
  53006. return awsutil.Prettify(s)
  53007. }
  53008. // GoString returns the string representation
  53009. func (s DescribeMovingAddressesInput) GoString() string {
  53010. return s.String()
  53011. }
  53012. // Validate inspects the fields of the type to determine if they are valid.
  53013. func (s *DescribeMovingAddressesInput) Validate() error {
  53014. invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"}
  53015. if s.MaxResults != nil && *s.MaxResults < 5 {
  53016. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  53017. }
  53018. if invalidParams.Len() > 0 {
  53019. return invalidParams
  53020. }
  53021. return nil
  53022. }
  53023. // SetDryRun sets the DryRun field's value.
  53024. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  53025. s.DryRun = &v
  53026. return s
  53027. }
  53028. // SetFilters sets the Filters field's value.
  53029. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  53030. s.Filters = v
  53031. return s
  53032. }
  53033. // SetMaxResults sets the MaxResults field's value.
  53034. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  53035. s.MaxResults = &v
  53036. return s
  53037. }
  53038. // SetNextToken sets the NextToken field's value.
  53039. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  53040. s.NextToken = &v
  53041. return s
  53042. }
  53043. // SetPublicIps sets the PublicIps field's value.
  53044. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  53045. s.PublicIps = v
  53046. return s
  53047. }
  53048. type DescribeMovingAddressesOutput struct {
  53049. _ struct{} `type:"structure"`
  53050. // The status for each Elastic IP address.
  53051. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  53052. // The token to use to retrieve the next page of results. This value is null
  53053. // when there are no more results to return.
  53054. NextToken *string `locationName:"nextToken" type:"string"`
  53055. }
  53056. // String returns the string representation
  53057. func (s DescribeMovingAddressesOutput) String() string {
  53058. return awsutil.Prettify(s)
  53059. }
  53060. // GoString returns the string representation
  53061. func (s DescribeMovingAddressesOutput) GoString() string {
  53062. return s.String()
  53063. }
  53064. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  53065. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  53066. s.MovingAddressStatuses = v
  53067. return s
  53068. }
  53069. // SetNextToken sets the NextToken field's value.
  53070. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  53071. s.NextToken = &v
  53072. return s
  53073. }
  53074. type DescribeNatGatewaysInput struct {
  53075. _ struct{} `type:"structure"`
  53076. // One or more filters.
  53077. //
  53078. // * nat-gateway-id - The ID of the NAT gateway.
  53079. //
  53080. // * state - The state of the NAT gateway (pending | failed | available |
  53081. // deleting | deleted).
  53082. //
  53083. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  53084. //
  53085. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  53086. // Use the tag key in the filter name and the tag value as the filter value.
  53087. // For example, to find all resources that have a tag with the key Owner
  53088. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  53089. // the filter value.
  53090. //
  53091. // * tag-key - The key of a tag assigned to the resource. Use this filter
  53092. // to find all resources assigned a tag with a specific key, regardless of
  53093. // the tag value.
  53094. //
  53095. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  53096. Filter []*Filter `locationNameList:"Filter" type:"list"`
  53097. // The maximum number of results to return with a single call. To retrieve the
  53098. // remaining results, make another call with the returned nextToken value.
  53099. MaxResults *int64 `min:"5" type:"integer"`
  53100. // One or more NAT gateway IDs.
  53101. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  53102. // The token for the next page of results.
  53103. NextToken *string `type:"string"`
  53104. }
  53105. // String returns the string representation
  53106. func (s DescribeNatGatewaysInput) String() string {
  53107. return awsutil.Prettify(s)
  53108. }
  53109. // GoString returns the string representation
  53110. func (s DescribeNatGatewaysInput) GoString() string {
  53111. return s.String()
  53112. }
  53113. // Validate inspects the fields of the type to determine if they are valid.
  53114. func (s *DescribeNatGatewaysInput) Validate() error {
  53115. invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"}
  53116. if s.MaxResults != nil && *s.MaxResults < 5 {
  53117. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  53118. }
  53119. if invalidParams.Len() > 0 {
  53120. return invalidParams
  53121. }
  53122. return nil
  53123. }
  53124. // SetFilter sets the Filter field's value.
  53125. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  53126. s.Filter = v
  53127. return s
  53128. }
  53129. // SetMaxResults sets the MaxResults field's value.
  53130. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  53131. s.MaxResults = &v
  53132. return s
  53133. }
  53134. // SetNatGatewayIds sets the NatGatewayIds field's value.
  53135. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  53136. s.NatGatewayIds = v
  53137. return s
  53138. }
  53139. // SetNextToken sets the NextToken field's value.
  53140. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  53141. s.NextToken = &v
  53142. return s
  53143. }
  53144. type DescribeNatGatewaysOutput struct {
  53145. _ struct{} `type:"structure"`
  53146. // Information about the NAT gateways.
  53147. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  53148. // The token to use to retrieve the next page of results. This value is null
  53149. // when there are no more results to return.
  53150. NextToken *string `locationName:"nextToken" type:"string"`
  53151. }
  53152. // String returns the string representation
  53153. func (s DescribeNatGatewaysOutput) String() string {
  53154. return awsutil.Prettify(s)
  53155. }
  53156. // GoString returns the string representation
  53157. func (s DescribeNatGatewaysOutput) GoString() string {
  53158. return s.String()
  53159. }
  53160. // SetNatGateways sets the NatGateways field's value.
  53161. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  53162. s.NatGateways = v
  53163. return s
  53164. }
  53165. // SetNextToken sets the NextToken field's value.
  53166. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  53167. s.NextToken = &v
  53168. return s
  53169. }
  53170. type DescribeNetworkAclsInput struct {
  53171. _ struct{} `type:"structure"`
  53172. // Checks whether you have the required permissions for the action, without
  53173. // actually making the request, and provides an error response. If you have
  53174. // the required permissions, the error response is DryRunOperation. Otherwise,
  53175. // it is UnauthorizedOperation.
  53176. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53177. // One or more filters.
  53178. //
  53179. // * association.association-id - The ID of an association ID for the ACL.
  53180. //
  53181. // * association.network-acl-id - The ID of the network ACL involved in the
  53182. // association.
  53183. //
  53184. // * association.subnet-id - The ID of the subnet involved in the association.
  53185. //
  53186. // * default - Indicates whether the ACL is the default network ACL for the
  53187. // VPC.
  53188. //
  53189. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  53190. //
  53191. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  53192. //
  53193. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  53194. //
  53195. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  53196. //
  53197. // * entry.port-range.from - The start of the port range specified in the
  53198. // entry.
  53199. //
  53200. // * entry.port-range.to - The end of the port range specified in the entry.
  53201. //
  53202. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  53203. // or a protocol number).
  53204. //
  53205. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  53206. //
  53207. // * entry.rule-number - The number of an entry (in other words, rule) in
  53208. // the set of ACL entries.
  53209. //
  53210. // * network-acl-id - The ID of the network ACL.
  53211. //
  53212. // * owner-id - The ID of the AWS account that owns the network ACL.
  53213. //
  53214. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  53215. // Use the tag key in the filter name and the tag value as the filter value.
  53216. // For example, to find all resources that have a tag with the key Owner
  53217. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  53218. // the filter value.
  53219. //
  53220. // * tag-key - The key of a tag assigned to the resource. Use this filter
  53221. // to find all resources assigned a tag with a specific key, regardless of
  53222. // the tag value.
  53223. //
  53224. // * vpc-id - The ID of the VPC for the network ACL.
  53225. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  53226. // The maximum number of results to return with a single call. To retrieve the
  53227. // remaining results, make another call with the returned nextToken value.
  53228. MaxResults *int64 `min:"5" type:"integer"`
  53229. // One or more network ACL IDs.
  53230. //
  53231. // Default: Describes all your network ACLs.
  53232. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  53233. // The token for the next page of results.
  53234. NextToken *string `type:"string"`
  53235. }
  53236. // String returns the string representation
  53237. func (s DescribeNetworkAclsInput) String() string {
  53238. return awsutil.Prettify(s)
  53239. }
  53240. // GoString returns the string representation
  53241. func (s DescribeNetworkAclsInput) GoString() string {
  53242. return s.String()
  53243. }
  53244. // Validate inspects the fields of the type to determine if they are valid.
  53245. func (s *DescribeNetworkAclsInput) Validate() error {
  53246. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
  53247. if s.MaxResults != nil && *s.MaxResults < 5 {
  53248. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  53249. }
  53250. if invalidParams.Len() > 0 {
  53251. return invalidParams
  53252. }
  53253. return nil
  53254. }
  53255. // SetDryRun sets the DryRun field's value.
  53256. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  53257. s.DryRun = &v
  53258. return s
  53259. }
  53260. // SetFilters sets the Filters field's value.
  53261. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  53262. s.Filters = v
  53263. return s
  53264. }
  53265. // SetMaxResults sets the MaxResults field's value.
  53266. func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
  53267. s.MaxResults = &v
  53268. return s
  53269. }
  53270. // SetNetworkAclIds sets the NetworkAclIds field's value.
  53271. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  53272. s.NetworkAclIds = v
  53273. return s
  53274. }
  53275. // SetNextToken sets the NextToken field's value.
  53276. func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
  53277. s.NextToken = &v
  53278. return s
  53279. }
  53280. type DescribeNetworkAclsOutput struct {
  53281. _ struct{} `type:"structure"`
  53282. // Information about one or more network ACLs.
  53283. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  53284. // The token to use to retrieve the next page of results. This value is null
  53285. // when there are no more results to return.
  53286. NextToken *string `locationName:"nextToken" type:"string"`
  53287. }
  53288. // String returns the string representation
  53289. func (s DescribeNetworkAclsOutput) String() string {
  53290. return awsutil.Prettify(s)
  53291. }
  53292. // GoString returns the string representation
  53293. func (s DescribeNetworkAclsOutput) GoString() string {
  53294. return s.String()
  53295. }
  53296. // SetNetworkAcls sets the NetworkAcls field's value.
  53297. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  53298. s.NetworkAcls = v
  53299. return s
  53300. }
  53301. // SetNextToken sets the NextToken field's value.
  53302. func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
  53303. s.NextToken = &v
  53304. return s
  53305. }
  53306. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  53307. type DescribeNetworkInterfaceAttributeInput struct {
  53308. _ struct{} `type:"structure"`
  53309. // The attribute of the network interface. This parameter is required.
  53310. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  53311. // Checks whether you have the required permissions for the action, without
  53312. // actually making the request, and provides an error response. If you have
  53313. // the required permissions, the error response is DryRunOperation. Otherwise,
  53314. // it is UnauthorizedOperation.
  53315. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53316. // The ID of the network interface.
  53317. //
  53318. // NetworkInterfaceId is a required field
  53319. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  53320. }
  53321. // String returns the string representation
  53322. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  53323. return awsutil.Prettify(s)
  53324. }
  53325. // GoString returns the string representation
  53326. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  53327. return s.String()
  53328. }
  53329. // Validate inspects the fields of the type to determine if they are valid.
  53330. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  53331. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  53332. if s.NetworkInterfaceId == nil {
  53333. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  53334. }
  53335. if invalidParams.Len() > 0 {
  53336. return invalidParams
  53337. }
  53338. return nil
  53339. }
  53340. // SetAttribute sets the Attribute field's value.
  53341. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  53342. s.Attribute = &v
  53343. return s
  53344. }
  53345. // SetDryRun sets the DryRun field's value.
  53346. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  53347. s.DryRun = &v
  53348. return s
  53349. }
  53350. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  53351. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  53352. s.NetworkInterfaceId = &v
  53353. return s
  53354. }
  53355. // Contains the output of DescribeNetworkInterfaceAttribute.
  53356. type DescribeNetworkInterfaceAttributeOutput struct {
  53357. _ struct{} `type:"structure"`
  53358. // The attachment (if any) of the network interface.
  53359. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  53360. // The description of the network interface.
  53361. Description *AttributeValue `locationName:"description" type:"structure"`
  53362. // The security groups associated with the network interface.
  53363. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  53364. // The ID of the network interface.
  53365. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  53366. // Indicates whether source/destination checking is enabled.
  53367. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  53368. }
  53369. // String returns the string representation
  53370. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  53371. return awsutil.Prettify(s)
  53372. }
  53373. // GoString returns the string representation
  53374. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  53375. return s.String()
  53376. }
  53377. // SetAttachment sets the Attachment field's value.
  53378. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  53379. s.Attachment = v
  53380. return s
  53381. }
  53382. // SetDescription sets the Description field's value.
  53383. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  53384. s.Description = v
  53385. return s
  53386. }
  53387. // SetGroups sets the Groups field's value.
  53388. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  53389. s.Groups = v
  53390. return s
  53391. }
  53392. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  53393. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  53394. s.NetworkInterfaceId = &v
  53395. return s
  53396. }
  53397. // SetSourceDestCheck sets the SourceDestCheck field's value.
  53398. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  53399. s.SourceDestCheck = v
  53400. return s
  53401. }
  53402. // Contains the parameters for DescribeNetworkInterfacePermissions.
  53403. type DescribeNetworkInterfacePermissionsInput struct {
  53404. _ struct{} `type:"structure"`
  53405. // One or more filters.
  53406. //
  53407. // * network-interface-permission.network-interface-permission-id - The ID
  53408. // of the permission.
  53409. //
  53410. // * network-interface-permission.network-interface-id - The ID of the network
  53411. // interface.
  53412. //
  53413. // * network-interface-permission.aws-account-id - The AWS account ID.
  53414. //
  53415. // * network-interface-permission.aws-service - The AWS service.
  53416. //
  53417. // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
  53418. // | EIP-ASSOCIATE).
  53419. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  53420. // The maximum number of results to return in a single call. To retrieve the
  53421. // remaining results, make another call with the returned NextToken value. If
  53422. // this parameter is not specified, up to 50 results are returned by default.
  53423. MaxResults *int64 `min:"5" type:"integer"`
  53424. // One or more network interface permission IDs.
  53425. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
  53426. // The token to request the next page of results.
  53427. NextToken *string `type:"string"`
  53428. }
  53429. // String returns the string representation
  53430. func (s DescribeNetworkInterfacePermissionsInput) String() string {
  53431. return awsutil.Prettify(s)
  53432. }
  53433. // GoString returns the string representation
  53434. func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
  53435. return s.String()
  53436. }
  53437. // Validate inspects the fields of the type to determine if they are valid.
  53438. func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
  53439. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
  53440. if s.MaxResults != nil && *s.MaxResults < 5 {
  53441. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  53442. }
  53443. if invalidParams.Len() > 0 {
  53444. return invalidParams
  53445. }
  53446. return nil
  53447. }
  53448. // SetFilters sets the Filters field's value.
  53449. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
  53450. s.Filters = v
  53451. return s
  53452. }
  53453. // SetMaxResults sets the MaxResults field's value.
  53454. func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
  53455. s.MaxResults = &v
  53456. return s
  53457. }
  53458. // SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
  53459. func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
  53460. s.NetworkInterfacePermissionIds = v
  53461. return s
  53462. }
  53463. // SetNextToken sets the NextToken field's value.
  53464. func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
  53465. s.NextToken = &v
  53466. return s
  53467. }
  53468. // Contains the output for DescribeNetworkInterfacePermissions.
  53469. type DescribeNetworkInterfacePermissionsOutput struct {
  53470. _ struct{} `type:"structure"`
  53471. // The network interface permissions.
  53472. NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
  53473. // The token to use to retrieve the next page of results.
  53474. NextToken *string `locationName:"nextToken" type:"string"`
  53475. }
  53476. // String returns the string representation
  53477. func (s DescribeNetworkInterfacePermissionsOutput) String() string {
  53478. return awsutil.Prettify(s)
  53479. }
  53480. // GoString returns the string representation
  53481. func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
  53482. return s.String()
  53483. }
  53484. // SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
  53485. func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
  53486. s.NetworkInterfacePermissions = v
  53487. return s
  53488. }
  53489. // SetNextToken sets the NextToken field's value.
  53490. func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
  53491. s.NextToken = &v
  53492. return s
  53493. }
  53494. // Contains the parameters for DescribeNetworkInterfaces.
  53495. type DescribeNetworkInterfacesInput struct {
  53496. _ struct{} `type:"structure"`
  53497. // Checks whether you have the required permissions for the action, without
  53498. // actually making the request, and provides an error response. If you have
  53499. // the required permissions, the error response is DryRunOperation. Otherwise,
  53500. // it is UnauthorizedOperation.
  53501. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53502. // One or more filters.
  53503. //
  53504. // * addresses.private-ip-address - The private IPv4 addresses associated
  53505. // with the network interface.
  53506. //
  53507. // * addresses.primary - Whether the private IPv4 address is the primary
  53508. // IP address associated with the network interface.
  53509. //
  53510. // * addresses.association.public-ip - The association ID returned when the
  53511. // network interface was associated with the Elastic IP address (IPv4).
  53512. //
  53513. // * addresses.association.owner-id - The owner ID of the addresses associated
  53514. // with the network interface.
  53515. //
  53516. // * association.association-id - The association ID returned when the network
  53517. // interface was associated with an IPv4 address.
  53518. //
  53519. // * association.allocation-id - The allocation ID returned when you allocated
  53520. // the Elastic IP address (IPv4) for your network interface.
  53521. //
  53522. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  53523. // associated with the network interface.
  53524. //
  53525. // * association.public-ip - The address of the Elastic IP address (IPv4)
  53526. // bound to the network interface.
  53527. //
  53528. // * association.public-dns-name - The public DNS name for the network interface
  53529. // (IPv4).
  53530. //
  53531. // * attachment.attachment-id - The ID of the interface attachment.
  53532. //
  53533. // * attachment.attach-time - The time that the network interface was attached
  53534. // to an instance.
  53535. //
  53536. // * attachment.delete-on-termination - Indicates whether the attachment
  53537. // is deleted when an instance is terminated.
  53538. //
  53539. // * attachment.device-index - The device index to which the network interface
  53540. // is attached.
  53541. //
  53542. // * attachment.instance-id - The ID of the instance to which the network
  53543. // interface is attached.
  53544. //
  53545. // * attachment.instance-owner-id - The owner ID of the instance to which
  53546. // the network interface is attached.
  53547. //
  53548. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  53549. // interface is attached.
  53550. //
  53551. // * attachment.status - The status of the attachment (attaching | attached
  53552. // | detaching | detached).
  53553. //
  53554. // * availability-zone - The Availability Zone of the network interface.
  53555. //
  53556. // * description - The description of the network interface.
  53557. //
  53558. // * group-id - The ID of a security group associated with the network interface.
  53559. //
  53560. // * group-name - The name of a security group associated with the network
  53561. // interface.
  53562. //
  53563. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  53564. // interface.
  53565. //
  53566. // * mac-address - The MAC address of the network interface.
  53567. //
  53568. // * network-interface-id - The ID of the network interface.
  53569. //
  53570. // * owner-id - The AWS account ID of the network interface owner.
  53571. //
  53572. // * private-ip-address - The private IPv4 address or addresses of the network
  53573. // interface.
  53574. //
  53575. // * private-dns-name - The private DNS name of the network interface (IPv4).
  53576. //
  53577. // * requester-id - The ID of the entity that launched the instance on your
  53578. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  53579. //
  53580. // * requester-managed - Indicates whether the network interface is being
  53581. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  53582. // and so on).
  53583. //
  53584. // * source-dest-check - Indicates whether the network interface performs
  53585. // source/destination checking. A value of true means checking is enabled,
  53586. // and false means checking is disabled. The value must be false for the
  53587. // network interface to perform network address translation (NAT) in your
  53588. // VPC.
  53589. //
  53590. // * status - The status of the network interface. If the network interface
  53591. // is not attached to an instance, the status is available; if a network
  53592. // interface is attached to an instance the status is in-use.
  53593. //
  53594. // * subnet-id - The ID of the subnet for the network interface.
  53595. //
  53596. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  53597. // Use the tag key in the filter name and the tag value as the filter value.
  53598. // For example, to find all resources that have a tag with the key Owner
  53599. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  53600. // the filter value.
  53601. //
  53602. // * tag-key - The key of a tag assigned to the resource. Use this filter
  53603. // to find all resources assigned a tag with a specific key, regardless of
  53604. // the tag value.
  53605. //
  53606. // * vpc-id - The ID of the VPC for the network interface.
  53607. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  53608. // The maximum number of items to return for this request. The request returns
  53609. // a token that you can specify in a subsequent call to get the next set of
  53610. // results. You cannot specify this parameter and the network interface IDs
  53611. // parameter in the same request.
  53612. MaxResults *int64 `min:"5" type:"integer"`
  53613. // One or more network interface IDs.
  53614. //
  53615. // Default: Describes all your network interfaces.
  53616. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  53617. // The token to retrieve the next page of results.
  53618. NextToken *string `type:"string"`
  53619. }
  53620. // String returns the string representation
  53621. func (s DescribeNetworkInterfacesInput) String() string {
  53622. return awsutil.Prettify(s)
  53623. }
  53624. // GoString returns the string representation
  53625. func (s DescribeNetworkInterfacesInput) GoString() string {
  53626. return s.String()
  53627. }
  53628. // Validate inspects the fields of the type to determine if they are valid.
  53629. func (s *DescribeNetworkInterfacesInput) Validate() error {
  53630. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
  53631. if s.MaxResults != nil && *s.MaxResults < 5 {
  53632. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  53633. }
  53634. if invalidParams.Len() > 0 {
  53635. return invalidParams
  53636. }
  53637. return nil
  53638. }
  53639. // SetDryRun sets the DryRun field's value.
  53640. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  53641. s.DryRun = &v
  53642. return s
  53643. }
  53644. // SetFilters sets the Filters field's value.
  53645. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  53646. s.Filters = v
  53647. return s
  53648. }
  53649. // SetMaxResults sets the MaxResults field's value.
  53650. func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
  53651. s.MaxResults = &v
  53652. return s
  53653. }
  53654. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  53655. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  53656. s.NetworkInterfaceIds = v
  53657. return s
  53658. }
  53659. // SetNextToken sets the NextToken field's value.
  53660. func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
  53661. s.NextToken = &v
  53662. return s
  53663. }
  53664. // Contains the output of DescribeNetworkInterfaces.
  53665. type DescribeNetworkInterfacesOutput struct {
  53666. _ struct{} `type:"structure"`
  53667. // Information about one or more network interfaces.
  53668. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  53669. // The token to use to retrieve the next page of results. This value is null
  53670. // when there are no more results to return.
  53671. NextToken *string `locationName:"nextToken" type:"string"`
  53672. }
  53673. // String returns the string representation
  53674. func (s DescribeNetworkInterfacesOutput) String() string {
  53675. return awsutil.Prettify(s)
  53676. }
  53677. // GoString returns the string representation
  53678. func (s DescribeNetworkInterfacesOutput) GoString() string {
  53679. return s.String()
  53680. }
  53681. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  53682. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  53683. s.NetworkInterfaces = v
  53684. return s
  53685. }
  53686. // SetNextToken sets the NextToken field's value.
  53687. func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
  53688. s.NextToken = &v
  53689. return s
  53690. }
  53691. type DescribePlacementGroupsInput struct {
  53692. _ struct{} `type:"structure"`
  53693. // Checks whether you have the required permissions for the action, without
  53694. // actually making the request, and provides an error response. If you have
  53695. // the required permissions, the error response is DryRunOperation. Otherwise,
  53696. // it is UnauthorizedOperation.
  53697. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53698. // The filters.
  53699. //
  53700. // * group-name - The name of the placement group.
  53701. //
  53702. // * state - The state of the placement group (pending | available | deleting
  53703. // | deleted).
  53704. //
  53705. // * strategy - The strategy of the placement group (cluster | spread | partition).
  53706. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  53707. // The IDs of the placement groups.
  53708. GroupIds []*string `locationName:"GroupId" locationNameList:"GroupId" type:"list"`
  53709. // The names of the placement groups.
  53710. //
  53711. // Default: Describes all your placement groups, or only those otherwise specified.
  53712. GroupNames []*string `locationName:"groupName" type:"list"`
  53713. }
  53714. // String returns the string representation
  53715. func (s DescribePlacementGroupsInput) String() string {
  53716. return awsutil.Prettify(s)
  53717. }
  53718. // GoString returns the string representation
  53719. func (s DescribePlacementGroupsInput) GoString() string {
  53720. return s.String()
  53721. }
  53722. // SetDryRun sets the DryRun field's value.
  53723. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  53724. s.DryRun = &v
  53725. return s
  53726. }
  53727. // SetFilters sets the Filters field's value.
  53728. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  53729. s.Filters = v
  53730. return s
  53731. }
  53732. // SetGroupIds sets the GroupIds field's value.
  53733. func (s *DescribePlacementGroupsInput) SetGroupIds(v []*string) *DescribePlacementGroupsInput {
  53734. s.GroupIds = v
  53735. return s
  53736. }
  53737. // SetGroupNames sets the GroupNames field's value.
  53738. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  53739. s.GroupNames = v
  53740. return s
  53741. }
  53742. type DescribePlacementGroupsOutput struct {
  53743. _ struct{} `type:"structure"`
  53744. // Information about the placement groups.
  53745. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  53746. }
  53747. // String returns the string representation
  53748. func (s DescribePlacementGroupsOutput) String() string {
  53749. return awsutil.Prettify(s)
  53750. }
  53751. // GoString returns the string representation
  53752. func (s DescribePlacementGroupsOutput) GoString() string {
  53753. return s.String()
  53754. }
  53755. // SetPlacementGroups sets the PlacementGroups field's value.
  53756. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  53757. s.PlacementGroups = v
  53758. return s
  53759. }
  53760. type DescribePrefixListsInput struct {
  53761. _ struct{} `type:"structure"`
  53762. // Checks whether you have the required permissions for the action, without
  53763. // actually making the request, and provides an error response. If you have
  53764. // the required permissions, the error response is DryRunOperation. Otherwise,
  53765. // it is UnauthorizedOperation.
  53766. DryRun *bool `type:"boolean"`
  53767. // One or more filters.
  53768. //
  53769. // * prefix-list-id: The ID of a prefix list.
  53770. //
  53771. // * prefix-list-name: The name of a prefix list.
  53772. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  53773. // The maximum number of results to return with a single call. To retrieve the
  53774. // remaining results, make another call with the returned nextToken value.
  53775. MaxResults *int64 `type:"integer"`
  53776. // The token for the next page of results.
  53777. NextToken *string `type:"string"`
  53778. // One or more prefix list IDs.
  53779. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  53780. }
  53781. // String returns the string representation
  53782. func (s DescribePrefixListsInput) String() string {
  53783. return awsutil.Prettify(s)
  53784. }
  53785. // GoString returns the string representation
  53786. func (s DescribePrefixListsInput) GoString() string {
  53787. return s.String()
  53788. }
  53789. // SetDryRun sets the DryRun field's value.
  53790. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  53791. s.DryRun = &v
  53792. return s
  53793. }
  53794. // SetFilters sets the Filters field's value.
  53795. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  53796. s.Filters = v
  53797. return s
  53798. }
  53799. // SetMaxResults sets the MaxResults field's value.
  53800. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  53801. s.MaxResults = &v
  53802. return s
  53803. }
  53804. // SetNextToken sets the NextToken field's value.
  53805. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  53806. s.NextToken = &v
  53807. return s
  53808. }
  53809. // SetPrefixListIds sets the PrefixListIds field's value.
  53810. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  53811. s.PrefixListIds = v
  53812. return s
  53813. }
  53814. type DescribePrefixListsOutput struct {
  53815. _ struct{} `type:"structure"`
  53816. // The token to use to retrieve the next page of results. This value is null
  53817. // when there are no more results to return.
  53818. NextToken *string `locationName:"nextToken" type:"string"`
  53819. // All available prefix lists.
  53820. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  53821. }
  53822. // String returns the string representation
  53823. func (s DescribePrefixListsOutput) String() string {
  53824. return awsutil.Prettify(s)
  53825. }
  53826. // GoString returns the string representation
  53827. func (s DescribePrefixListsOutput) GoString() string {
  53828. return s.String()
  53829. }
  53830. // SetNextToken sets the NextToken field's value.
  53831. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  53832. s.NextToken = &v
  53833. return s
  53834. }
  53835. // SetPrefixLists sets the PrefixLists field's value.
  53836. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  53837. s.PrefixLists = v
  53838. return s
  53839. }
  53840. type DescribePrincipalIdFormatInput struct {
  53841. _ struct{} `type:"structure"`
  53842. // Checks whether you have the required permissions for the action, without
  53843. // actually making the request, and provides an error response. If you have
  53844. // the required permissions, the error response is DryRunOperation. Otherwise,
  53845. // it is UnauthorizedOperation.
  53846. DryRun *bool `type:"boolean"`
  53847. // The maximum number of results to return in a single call. To retrieve the
  53848. // remaining results, make another call with the returned NextToken value.
  53849. MaxResults *int64 `min:"1" type:"integer"`
  53850. // The token to request the next page of results.
  53851. NextToken *string `type:"string"`
  53852. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  53853. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  53854. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  53855. // | network-interface | network-interface-attachment | prefix-list | reservation
  53856. // | route-table | route-table-association | security-group | snapshot | subnet
  53857. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  53858. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  53859. Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
  53860. }
  53861. // String returns the string representation
  53862. func (s DescribePrincipalIdFormatInput) String() string {
  53863. return awsutil.Prettify(s)
  53864. }
  53865. // GoString returns the string representation
  53866. func (s DescribePrincipalIdFormatInput) GoString() string {
  53867. return s.String()
  53868. }
  53869. // Validate inspects the fields of the type to determine if they are valid.
  53870. func (s *DescribePrincipalIdFormatInput) Validate() error {
  53871. invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"}
  53872. if s.MaxResults != nil && *s.MaxResults < 1 {
  53873. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  53874. }
  53875. if invalidParams.Len() > 0 {
  53876. return invalidParams
  53877. }
  53878. return nil
  53879. }
  53880. // SetDryRun sets the DryRun field's value.
  53881. func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
  53882. s.DryRun = &v
  53883. return s
  53884. }
  53885. // SetMaxResults sets the MaxResults field's value.
  53886. func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
  53887. s.MaxResults = &v
  53888. return s
  53889. }
  53890. // SetNextToken sets the NextToken field's value.
  53891. func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
  53892. s.NextToken = &v
  53893. return s
  53894. }
  53895. // SetResources sets the Resources field's value.
  53896. func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
  53897. s.Resources = v
  53898. return s
  53899. }
  53900. type DescribePrincipalIdFormatOutput struct {
  53901. _ struct{} `type:"structure"`
  53902. // The token to use to retrieve the next page of results. This value is null
  53903. // when there are no more results to return.
  53904. NextToken *string `locationName:"nextToken" type:"string"`
  53905. // Information about the ID format settings for the ARN.
  53906. Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
  53907. }
  53908. // String returns the string representation
  53909. func (s DescribePrincipalIdFormatOutput) String() string {
  53910. return awsutil.Prettify(s)
  53911. }
  53912. // GoString returns the string representation
  53913. func (s DescribePrincipalIdFormatOutput) GoString() string {
  53914. return s.String()
  53915. }
  53916. // SetNextToken sets the NextToken field's value.
  53917. func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
  53918. s.NextToken = &v
  53919. return s
  53920. }
  53921. // SetPrincipals sets the Principals field's value.
  53922. func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
  53923. s.Principals = v
  53924. return s
  53925. }
  53926. type DescribePublicIpv4PoolsInput struct {
  53927. _ struct{} `type:"structure"`
  53928. // The maximum number of results to return with a single call. To retrieve the
  53929. // remaining results, make another call with the returned nextToken value.
  53930. MaxResults *int64 `min:"1" type:"integer"`
  53931. // The token for the next page of results.
  53932. NextToken *string `type:"string"`
  53933. // The IDs of the address pools.
  53934. PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
  53935. }
  53936. // String returns the string representation
  53937. func (s DescribePublicIpv4PoolsInput) String() string {
  53938. return awsutil.Prettify(s)
  53939. }
  53940. // GoString returns the string representation
  53941. func (s DescribePublicIpv4PoolsInput) GoString() string {
  53942. return s.String()
  53943. }
  53944. // Validate inspects the fields of the type to determine if they are valid.
  53945. func (s *DescribePublicIpv4PoolsInput) Validate() error {
  53946. invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
  53947. if s.MaxResults != nil && *s.MaxResults < 1 {
  53948. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  53949. }
  53950. if invalidParams.Len() > 0 {
  53951. return invalidParams
  53952. }
  53953. return nil
  53954. }
  53955. // SetMaxResults sets the MaxResults field's value.
  53956. func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
  53957. s.MaxResults = &v
  53958. return s
  53959. }
  53960. // SetNextToken sets the NextToken field's value.
  53961. func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
  53962. s.NextToken = &v
  53963. return s
  53964. }
  53965. // SetPoolIds sets the PoolIds field's value.
  53966. func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
  53967. s.PoolIds = v
  53968. return s
  53969. }
  53970. type DescribePublicIpv4PoolsOutput struct {
  53971. _ struct{} `type:"structure"`
  53972. // The token to use to retrieve the next page of results. This value is null
  53973. // when there are no more results to return.
  53974. NextToken *string `locationName:"nextToken" type:"string"`
  53975. // Information about the address pools.
  53976. PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
  53977. }
  53978. // String returns the string representation
  53979. func (s DescribePublicIpv4PoolsOutput) String() string {
  53980. return awsutil.Prettify(s)
  53981. }
  53982. // GoString returns the string representation
  53983. func (s DescribePublicIpv4PoolsOutput) GoString() string {
  53984. return s.String()
  53985. }
  53986. // SetNextToken sets the NextToken field's value.
  53987. func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
  53988. s.NextToken = &v
  53989. return s
  53990. }
  53991. // SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
  53992. func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
  53993. s.PublicIpv4Pools = v
  53994. return s
  53995. }
  53996. type DescribeRegionsInput struct {
  53997. _ struct{} `type:"structure"`
  53998. // Indicates whether to display all Regions, including Regions that are disabled
  53999. // for your account.
  54000. AllRegions *bool `type:"boolean"`
  54001. // Checks whether you have the required permissions for the action, without
  54002. // actually making the request, and provides an error response. If you have
  54003. // the required permissions, the error response is DryRunOperation. Otherwise,
  54004. // it is UnauthorizedOperation.
  54005. DryRun *bool `locationName:"dryRun" type:"boolean"`
  54006. // The filters.
  54007. //
  54008. // * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
  54009. //
  54010. // * opt-in-status - The opt-in status of the Region (opt-in-not-required
  54011. // | opted-in | not-opted-in).
  54012. //
  54013. // * region-name - The name of the Region (for example, us-east-1).
  54014. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54015. // The names of the Regions. You can specify any Regions, whether they are enabled
  54016. // and disabled for your account.
  54017. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  54018. }
  54019. // String returns the string representation
  54020. func (s DescribeRegionsInput) String() string {
  54021. return awsutil.Prettify(s)
  54022. }
  54023. // GoString returns the string representation
  54024. func (s DescribeRegionsInput) GoString() string {
  54025. return s.String()
  54026. }
  54027. // SetAllRegions sets the AllRegions field's value.
  54028. func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput {
  54029. s.AllRegions = &v
  54030. return s
  54031. }
  54032. // SetDryRun sets the DryRun field's value.
  54033. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  54034. s.DryRun = &v
  54035. return s
  54036. }
  54037. // SetFilters sets the Filters field's value.
  54038. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  54039. s.Filters = v
  54040. return s
  54041. }
  54042. // SetRegionNames sets the RegionNames field's value.
  54043. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  54044. s.RegionNames = v
  54045. return s
  54046. }
  54047. type DescribeRegionsOutput struct {
  54048. _ struct{} `type:"structure"`
  54049. // Information about the Regions.
  54050. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  54051. }
  54052. // String returns the string representation
  54053. func (s DescribeRegionsOutput) String() string {
  54054. return awsutil.Prettify(s)
  54055. }
  54056. // GoString returns the string representation
  54057. func (s DescribeRegionsOutput) GoString() string {
  54058. return s.String()
  54059. }
  54060. // SetRegions sets the Regions field's value.
  54061. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  54062. s.Regions = v
  54063. return s
  54064. }
  54065. // Contains the parameters for DescribeReservedInstances.
  54066. type DescribeReservedInstancesInput struct {
  54067. _ struct{} `type:"structure"`
  54068. // Checks whether you have the required permissions for the action, without
  54069. // actually making the request, and provides an error response. If you have
  54070. // the required permissions, the error response is DryRunOperation. Otherwise,
  54071. // it is UnauthorizedOperation.
  54072. DryRun *bool `locationName:"dryRun" type:"boolean"`
  54073. // One or more filters.
  54074. //
  54075. // * availability-zone - The Availability Zone where the Reserved Instance
  54076. // can be used.
  54077. //
  54078. // * duration - The duration of the Reserved Instance (one year or three
  54079. // years), in seconds (31536000 | 94608000).
  54080. //
  54081. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  54082. //
  54083. // * fixed-price - The purchase price of the Reserved Instance (for example,
  54084. // 9800.0).
  54085. //
  54086. // * instance-type - The instance type that is covered by the reservation.
  54087. //
  54088. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  54089. //
  54090. // * product-description - The Reserved Instance product platform description.
  54091. // Instances that include (Amazon VPC) in the product platform description
  54092. // will only be displayed to EC2-Classic account holders and are for use
  54093. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  54094. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  54095. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  54096. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  54097. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  54098. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  54099. //
  54100. // * reserved-instances-id - The ID of the Reserved Instance.
  54101. //
  54102. // * start - The time at which the Reserved Instance purchase request was
  54103. // placed (for example, 2014-08-07T11:54:42.000Z).
  54104. //
  54105. // * state - The state of the Reserved Instance (payment-pending | active
  54106. // | payment-failed | retired).
  54107. //
  54108. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  54109. // Use the tag key in the filter name and the tag value as the filter value.
  54110. // For example, to find all resources that have a tag with the key Owner
  54111. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  54112. // the filter value.
  54113. //
  54114. // * tag-key - The key of a tag assigned to the resource. Use this filter
  54115. // to find all resources assigned a tag with a specific key, regardless of
  54116. // the tag value.
  54117. //
  54118. // * usage-price - The usage price of the Reserved Instance, per hour (for
  54119. // example, 0.84).
  54120. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54121. // Describes whether the Reserved Instance is Standard or Convertible.
  54122. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  54123. // The Reserved Instance offering type. If you are using tools that predate
  54124. // the 2011-11-01 API version, you only have access to the Medium Utilization
  54125. // Reserved Instance offering type.
  54126. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  54127. // One or more Reserved Instance IDs.
  54128. //
  54129. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  54130. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  54131. }
  54132. // String returns the string representation
  54133. func (s DescribeReservedInstancesInput) String() string {
  54134. return awsutil.Prettify(s)
  54135. }
  54136. // GoString returns the string representation
  54137. func (s DescribeReservedInstancesInput) GoString() string {
  54138. return s.String()
  54139. }
  54140. // SetDryRun sets the DryRun field's value.
  54141. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  54142. s.DryRun = &v
  54143. return s
  54144. }
  54145. // SetFilters sets the Filters field's value.
  54146. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  54147. s.Filters = v
  54148. return s
  54149. }
  54150. // SetOfferingClass sets the OfferingClass field's value.
  54151. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  54152. s.OfferingClass = &v
  54153. return s
  54154. }
  54155. // SetOfferingType sets the OfferingType field's value.
  54156. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  54157. s.OfferingType = &v
  54158. return s
  54159. }
  54160. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  54161. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  54162. s.ReservedInstancesIds = v
  54163. return s
  54164. }
  54165. // Contains the parameters for DescribeReservedInstancesListings.
  54166. type DescribeReservedInstancesListingsInput struct {
  54167. _ struct{} `type:"structure"`
  54168. // One or more filters.
  54169. //
  54170. // * reserved-instances-id - The ID of the Reserved Instances.
  54171. //
  54172. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  54173. //
  54174. // * status - The status of the Reserved Instance listing (pending | active
  54175. // | cancelled | closed).
  54176. //
  54177. // * status-message - The reason for the status.
  54178. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54179. // One or more Reserved Instance IDs.
  54180. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  54181. // One or more Reserved Instance listing IDs.
  54182. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  54183. }
  54184. // String returns the string representation
  54185. func (s DescribeReservedInstancesListingsInput) String() string {
  54186. return awsutil.Prettify(s)
  54187. }
  54188. // GoString returns the string representation
  54189. func (s DescribeReservedInstancesListingsInput) GoString() string {
  54190. return s.String()
  54191. }
  54192. // SetFilters sets the Filters field's value.
  54193. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  54194. s.Filters = v
  54195. return s
  54196. }
  54197. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  54198. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  54199. s.ReservedInstancesId = &v
  54200. return s
  54201. }
  54202. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  54203. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  54204. s.ReservedInstancesListingId = &v
  54205. return s
  54206. }
  54207. // Contains the output of DescribeReservedInstancesListings.
  54208. type DescribeReservedInstancesListingsOutput struct {
  54209. _ struct{} `type:"structure"`
  54210. // Information about the Reserved Instance listing.
  54211. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  54212. }
  54213. // String returns the string representation
  54214. func (s DescribeReservedInstancesListingsOutput) String() string {
  54215. return awsutil.Prettify(s)
  54216. }
  54217. // GoString returns the string representation
  54218. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  54219. return s.String()
  54220. }
  54221. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  54222. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  54223. s.ReservedInstancesListings = v
  54224. return s
  54225. }
  54226. // Contains the parameters for DescribeReservedInstancesModifications.
  54227. type DescribeReservedInstancesModificationsInput struct {
  54228. _ struct{} `type:"structure"`
  54229. // One or more filters.
  54230. //
  54231. // * client-token - The idempotency token for the modification request.
  54232. //
  54233. // * create-date - The time when the modification request was created.
  54234. //
  54235. // * effective-date - The time when the modification becomes effective.
  54236. //
  54237. // * modification-result.reserved-instances-id - The ID for the Reserved
  54238. // Instances created as part of the modification request. This ID is only
  54239. // available when the status of the modification is fulfilled.
  54240. //
  54241. // * modification-result.target-configuration.availability-zone - The Availability
  54242. // Zone for the new Reserved Instances.
  54243. //
  54244. // * modification-result.target-configuration.instance-count - The number
  54245. // of new Reserved Instances.
  54246. //
  54247. // * modification-result.target-configuration.instance-type - The instance
  54248. // type of the new Reserved Instances.
  54249. //
  54250. // * modification-result.target-configuration.platform - The network platform
  54251. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  54252. //
  54253. // * reserved-instances-id - The ID of the Reserved Instances modified.
  54254. //
  54255. // * reserved-instances-modification-id - The ID of the modification request.
  54256. //
  54257. // * status - The status of the Reserved Instances modification request (processing
  54258. // | fulfilled | failed).
  54259. //
  54260. // * status-message - The reason for the status.
  54261. //
  54262. // * update-date - The time when the modification request was last updated.
  54263. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54264. // The token to retrieve the next page of results.
  54265. NextToken *string `locationName:"nextToken" type:"string"`
  54266. // IDs for the submitted modification request.
  54267. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  54268. }
  54269. // String returns the string representation
  54270. func (s DescribeReservedInstancesModificationsInput) String() string {
  54271. return awsutil.Prettify(s)
  54272. }
  54273. // GoString returns the string representation
  54274. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  54275. return s.String()
  54276. }
  54277. // SetFilters sets the Filters field's value.
  54278. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  54279. s.Filters = v
  54280. return s
  54281. }
  54282. // SetNextToken sets the NextToken field's value.
  54283. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  54284. s.NextToken = &v
  54285. return s
  54286. }
  54287. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  54288. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  54289. s.ReservedInstancesModificationIds = v
  54290. return s
  54291. }
  54292. // Contains the output of DescribeReservedInstancesModifications.
  54293. type DescribeReservedInstancesModificationsOutput struct {
  54294. _ struct{} `type:"structure"`
  54295. // The token to use to retrieve the next page of results. This value is null
  54296. // when there are no more results to return.
  54297. NextToken *string `locationName:"nextToken" type:"string"`
  54298. // The Reserved Instance modification information.
  54299. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  54300. }
  54301. // String returns the string representation
  54302. func (s DescribeReservedInstancesModificationsOutput) String() string {
  54303. return awsutil.Prettify(s)
  54304. }
  54305. // GoString returns the string representation
  54306. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  54307. return s.String()
  54308. }
  54309. // SetNextToken sets the NextToken field's value.
  54310. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  54311. s.NextToken = &v
  54312. return s
  54313. }
  54314. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  54315. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  54316. s.ReservedInstancesModifications = v
  54317. return s
  54318. }
  54319. // Contains the parameters for DescribeReservedInstancesOfferings.
  54320. type DescribeReservedInstancesOfferingsInput struct {
  54321. _ struct{} `type:"structure"`
  54322. // The Availability Zone in which the Reserved Instance can be used.
  54323. AvailabilityZone *string `type:"string"`
  54324. // Checks whether you have the required permissions for the action, without
  54325. // actually making the request, and provides an error response. If you have
  54326. // the required permissions, the error response is DryRunOperation. Otherwise,
  54327. // it is UnauthorizedOperation.
  54328. DryRun *bool `locationName:"dryRun" type:"boolean"`
  54329. // One or more filters.
  54330. //
  54331. // * availability-zone - The Availability Zone where the Reserved Instance
  54332. // can be used.
  54333. //
  54334. // * duration - The duration of the Reserved Instance (for example, one year
  54335. // or three years), in seconds (31536000 | 94608000).
  54336. //
  54337. // * fixed-price - The purchase price of the Reserved Instance (for example,
  54338. // 9800.0).
  54339. //
  54340. // * instance-type - The instance type that is covered by the reservation.
  54341. //
  54342. // * marketplace - Set to true to show only Reserved Instance Marketplace
  54343. // offerings. When this filter is not used, which is the default behavior,
  54344. // all offerings from both AWS and the Reserved Instance Marketplace are
  54345. // listed.
  54346. //
  54347. // * product-description - The Reserved Instance product platform description.
  54348. // Instances that include (Amazon VPC) in the product platform description
  54349. // will only be displayed to EC2-Classic account holders and are for use
  54350. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  54351. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  54352. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  54353. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  54354. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  54355. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  54356. // VPC))
  54357. //
  54358. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  54359. //
  54360. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  54361. //
  54362. // * usage-price - The usage price of the Reserved Instance, per hour (for
  54363. // example, 0.84).
  54364. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54365. // Include Reserved Instance Marketplace offerings in the response.
  54366. IncludeMarketplace *bool `type:"boolean"`
  54367. // The tenancy of the instances covered by the reservation. A Reserved Instance
  54368. // with a tenancy of dedicated is applied to instances that run in a VPC on
  54369. // single-tenant hardware (i.e., Dedicated Instances).
  54370. //
  54371. // Important: The host value cannot be used with this parameter. Use the default
  54372. // or dedicated values only.
  54373. //
  54374. // Default: default
  54375. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  54376. // The instance type that the reservation will cover (for example, m1.small).
  54377. // For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  54378. // in the Amazon Elastic Compute Cloud User Guide.
  54379. InstanceType *string `type:"string" enum:"InstanceType"`
  54380. // The maximum duration (in seconds) to filter when searching for offerings.
  54381. //
  54382. // Default: 94608000 (3 years)
  54383. MaxDuration *int64 `type:"long"`
  54384. // The maximum number of instances to filter when searching for offerings.
  54385. //
  54386. // Default: 20
  54387. MaxInstanceCount *int64 `type:"integer"`
  54388. // The maximum number of results to return for the request in a single page.
  54389. // The remaining results of the initial request can be seen by sending another
  54390. // request with the returned NextToken value. The maximum is 100.
  54391. //
  54392. // Default: 100
  54393. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  54394. // The minimum duration (in seconds) to filter when searching for offerings.
  54395. //
  54396. // Default: 2592000 (1 month)
  54397. MinDuration *int64 `type:"long"`
  54398. // The token to retrieve the next page of results.
  54399. NextToken *string `locationName:"nextToken" type:"string"`
  54400. // The offering class of the Reserved Instance. Can be standard or convertible.
  54401. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  54402. // The Reserved Instance offering type. If you are using tools that predate
  54403. // the 2011-11-01 API version, you only have access to the Medium Utilization
  54404. // Reserved Instance offering type.
  54405. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  54406. // The Reserved Instance product platform description. Instances that include
  54407. // (Amazon VPC) in the description are for use with Amazon VPC.
  54408. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  54409. // One or more Reserved Instances offering IDs.
  54410. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  54411. }
  54412. // String returns the string representation
  54413. func (s DescribeReservedInstancesOfferingsInput) String() string {
  54414. return awsutil.Prettify(s)
  54415. }
  54416. // GoString returns the string representation
  54417. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  54418. return s.String()
  54419. }
  54420. // SetAvailabilityZone sets the AvailabilityZone field's value.
  54421. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  54422. s.AvailabilityZone = &v
  54423. return s
  54424. }
  54425. // SetDryRun sets the DryRun field's value.
  54426. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  54427. s.DryRun = &v
  54428. return s
  54429. }
  54430. // SetFilters sets the Filters field's value.
  54431. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  54432. s.Filters = v
  54433. return s
  54434. }
  54435. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  54436. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  54437. s.IncludeMarketplace = &v
  54438. return s
  54439. }
  54440. // SetInstanceTenancy sets the InstanceTenancy field's value.
  54441. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  54442. s.InstanceTenancy = &v
  54443. return s
  54444. }
  54445. // SetInstanceType sets the InstanceType field's value.
  54446. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  54447. s.InstanceType = &v
  54448. return s
  54449. }
  54450. // SetMaxDuration sets the MaxDuration field's value.
  54451. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  54452. s.MaxDuration = &v
  54453. return s
  54454. }
  54455. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  54456. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  54457. s.MaxInstanceCount = &v
  54458. return s
  54459. }
  54460. // SetMaxResults sets the MaxResults field's value.
  54461. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  54462. s.MaxResults = &v
  54463. return s
  54464. }
  54465. // SetMinDuration sets the MinDuration field's value.
  54466. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  54467. s.MinDuration = &v
  54468. return s
  54469. }
  54470. // SetNextToken sets the NextToken field's value.
  54471. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  54472. s.NextToken = &v
  54473. return s
  54474. }
  54475. // SetOfferingClass sets the OfferingClass field's value.
  54476. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  54477. s.OfferingClass = &v
  54478. return s
  54479. }
  54480. // SetOfferingType sets the OfferingType field's value.
  54481. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  54482. s.OfferingType = &v
  54483. return s
  54484. }
  54485. // SetProductDescription sets the ProductDescription field's value.
  54486. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  54487. s.ProductDescription = &v
  54488. return s
  54489. }
  54490. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  54491. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  54492. s.ReservedInstancesOfferingIds = v
  54493. return s
  54494. }
  54495. // Contains the output of DescribeReservedInstancesOfferings.
  54496. type DescribeReservedInstancesOfferingsOutput struct {
  54497. _ struct{} `type:"structure"`
  54498. // The token to use to retrieve the next page of results. This value is null
  54499. // when there are no more results to return.
  54500. NextToken *string `locationName:"nextToken" type:"string"`
  54501. // A list of Reserved Instances offerings.
  54502. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  54503. }
  54504. // String returns the string representation
  54505. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  54506. return awsutil.Prettify(s)
  54507. }
  54508. // GoString returns the string representation
  54509. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  54510. return s.String()
  54511. }
  54512. // SetNextToken sets the NextToken field's value.
  54513. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  54514. s.NextToken = &v
  54515. return s
  54516. }
  54517. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  54518. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  54519. s.ReservedInstancesOfferings = v
  54520. return s
  54521. }
  54522. // Contains the output for DescribeReservedInstances.
  54523. type DescribeReservedInstancesOutput struct {
  54524. _ struct{} `type:"structure"`
  54525. // A list of Reserved Instances.
  54526. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  54527. }
  54528. // String returns the string representation
  54529. func (s DescribeReservedInstancesOutput) String() string {
  54530. return awsutil.Prettify(s)
  54531. }
  54532. // GoString returns the string representation
  54533. func (s DescribeReservedInstancesOutput) GoString() string {
  54534. return s.String()
  54535. }
  54536. // SetReservedInstances sets the ReservedInstances field's value.
  54537. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  54538. s.ReservedInstances = v
  54539. return s
  54540. }
  54541. type DescribeRouteTablesInput struct {
  54542. _ struct{} `type:"structure"`
  54543. // Checks whether you have the required permissions for the action, without
  54544. // actually making the request, and provides an error response. If you have
  54545. // the required permissions, the error response is DryRunOperation. Otherwise,
  54546. // it is UnauthorizedOperation.
  54547. DryRun *bool `locationName:"dryRun" type:"boolean"`
  54548. // One or more filters.
  54549. //
  54550. // * association.route-table-association-id - The ID of an association ID
  54551. // for the route table.
  54552. //
  54553. // * association.route-table-id - The ID of the route table involved in the
  54554. // association.
  54555. //
  54556. // * association.subnet-id - The ID of the subnet involved in the association.
  54557. //
  54558. // * association.main - Indicates whether the route table is the main route
  54559. // table for the VPC (true | false). Route tables that do not have an association
  54560. // ID are not returned in the response.
  54561. //
  54562. // * owner-id - The ID of the AWS account that owns the route table.
  54563. //
  54564. // * route-table-id - The ID of the route table.
  54565. //
  54566. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  54567. // in the table.
  54568. //
  54569. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  54570. // a route in the route table.
  54571. //
  54572. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  54573. // specified in a route in the table.
  54574. //
  54575. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  54576. // gateway specified in a route in the route table.
  54577. //
  54578. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  54579. //
  54580. // * route.instance-id - The ID of an instance specified in a route in the
  54581. // table.
  54582. //
  54583. // * route.nat-gateway-id - The ID of a NAT gateway.
  54584. //
  54585. // * route.transit-gateway-id - The ID of a transit gateway.
  54586. //
  54587. // * route.origin - Describes how the route was created. CreateRouteTable
  54588. // indicates that the route was automatically created when the route table
  54589. // was created; CreateRoute indicates that the route was manually added to
  54590. // the route table; EnableVgwRoutePropagation indicates that the route was
  54591. // propagated by route propagation.
  54592. //
  54593. // * route.state - The state of a route in the route table (active | blackhole).
  54594. // The blackhole state indicates that the route's target isn't available
  54595. // (for example, the specified gateway isn't attached to the VPC, the specified
  54596. // NAT instance has been terminated, and so on).
  54597. //
  54598. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  54599. // specified in a route in the table.
  54600. //
  54601. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  54602. // Use the tag key in the filter name and the tag value as the filter value.
  54603. // For example, to find all resources that have a tag with the key Owner
  54604. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  54605. // the filter value.
  54606. //
  54607. // * tag-key - The key of a tag assigned to the resource. Use this filter
  54608. // to find all resources assigned a tag with a specific key, regardless of
  54609. // the tag value.
  54610. //
  54611. // * transit-gateway-id - The ID of a transit gateway.
  54612. //
  54613. // * vpc-id - The ID of the VPC for the route table.
  54614. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54615. // The maximum number of results to return with a single call. To retrieve the
  54616. // remaining results, make another call with the returned nextToken value.
  54617. MaxResults *int64 `min:"5" type:"integer"`
  54618. // The token for the next page of results.
  54619. NextToken *string `type:"string"`
  54620. // One or more route table IDs.
  54621. //
  54622. // Default: Describes all your route tables.
  54623. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  54624. }
  54625. // String returns the string representation
  54626. func (s DescribeRouteTablesInput) String() string {
  54627. return awsutil.Prettify(s)
  54628. }
  54629. // GoString returns the string representation
  54630. func (s DescribeRouteTablesInput) GoString() string {
  54631. return s.String()
  54632. }
  54633. // Validate inspects the fields of the type to determine if they are valid.
  54634. func (s *DescribeRouteTablesInput) Validate() error {
  54635. invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
  54636. if s.MaxResults != nil && *s.MaxResults < 5 {
  54637. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  54638. }
  54639. if invalidParams.Len() > 0 {
  54640. return invalidParams
  54641. }
  54642. return nil
  54643. }
  54644. // SetDryRun sets the DryRun field's value.
  54645. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  54646. s.DryRun = &v
  54647. return s
  54648. }
  54649. // SetFilters sets the Filters field's value.
  54650. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  54651. s.Filters = v
  54652. return s
  54653. }
  54654. // SetMaxResults sets the MaxResults field's value.
  54655. func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
  54656. s.MaxResults = &v
  54657. return s
  54658. }
  54659. // SetNextToken sets the NextToken field's value.
  54660. func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
  54661. s.NextToken = &v
  54662. return s
  54663. }
  54664. // SetRouteTableIds sets the RouteTableIds field's value.
  54665. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  54666. s.RouteTableIds = v
  54667. return s
  54668. }
  54669. // Contains the output of DescribeRouteTables.
  54670. type DescribeRouteTablesOutput struct {
  54671. _ struct{} `type:"structure"`
  54672. // The token to use to retrieve the next page of results. This value is null
  54673. // when there are no more results to return.
  54674. NextToken *string `locationName:"nextToken" type:"string"`
  54675. // Information about one or more route tables.
  54676. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  54677. }
  54678. // String returns the string representation
  54679. func (s DescribeRouteTablesOutput) String() string {
  54680. return awsutil.Prettify(s)
  54681. }
  54682. // GoString returns the string representation
  54683. func (s DescribeRouteTablesOutput) GoString() string {
  54684. return s.String()
  54685. }
  54686. // SetNextToken sets the NextToken field's value.
  54687. func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
  54688. s.NextToken = &v
  54689. return s
  54690. }
  54691. // SetRouteTables sets the RouteTables field's value.
  54692. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  54693. s.RouteTables = v
  54694. return s
  54695. }
  54696. // Contains the parameters for DescribeScheduledInstanceAvailability.
  54697. type DescribeScheduledInstanceAvailabilityInput struct {
  54698. _ struct{} `type:"structure"`
  54699. // Checks whether you have the required permissions for the action, without
  54700. // actually making the request, and provides an error response. If you have
  54701. // the required permissions, the error response is DryRunOperation. Otherwise,
  54702. // it is UnauthorizedOperation.
  54703. DryRun *bool `type:"boolean"`
  54704. // The filters.
  54705. //
  54706. // * availability-zone - The Availability Zone (for example, us-west-2a).
  54707. //
  54708. // * instance-type - The instance type (for example, c4.large).
  54709. //
  54710. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  54711. //
  54712. // * platform - The platform (Linux/UNIX or Windows).
  54713. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54714. // The time period for the first schedule to start.
  54715. //
  54716. // FirstSlotStartTimeRange is a required field
  54717. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  54718. // The maximum number of results to return in a single call. This value can
  54719. // be between 5 and 300. The default value is 300. To retrieve the remaining
  54720. // results, make another call with the returned NextToken value.
  54721. MaxResults *int64 `min:"5" type:"integer"`
  54722. // The maximum available duration, in hours. This value must be greater than
  54723. // MinSlotDurationInHours and less than 1,720.
  54724. MaxSlotDurationInHours *int64 `type:"integer"`
  54725. // The minimum available duration, in hours. The minimum required duration is
  54726. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  54727. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  54728. // is 100 hours.
  54729. MinSlotDurationInHours *int64 `type:"integer"`
  54730. // The token for the next set of results.
  54731. NextToken *string `type:"string"`
  54732. // The schedule recurrence.
  54733. //
  54734. // Recurrence is a required field
  54735. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  54736. }
  54737. // String returns the string representation
  54738. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  54739. return awsutil.Prettify(s)
  54740. }
  54741. // GoString returns the string representation
  54742. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  54743. return s.String()
  54744. }
  54745. // Validate inspects the fields of the type to determine if they are valid.
  54746. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  54747. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  54748. if s.FirstSlotStartTimeRange == nil {
  54749. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  54750. }
  54751. if s.MaxResults != nil && *s.MaxResults < 5 {
  54752. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  54753. }
  54754. if s.Recurrence == nil {
  54755. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  54756. }
  54757. if s.FirstSlotStartTimeRange != nil {
  54758. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  54759. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  54760. }
  54761. }
  54762. if invalidParams.Len() > 0 {
  54763. return invalidParams
  54764. }
  54765. return nil
  54766. }
  54767. // SetDryRun sets the DryRun field's value.
  54768. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  54769. s.DryRun = &v
  54770. return s
  54771. }
  54772. // SetFilters sets the Filters field's value.
  54773. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  54774. s.Filters = v
  54775. return s
  54776. }
  54777. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  54778. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  54779. s.FirstSlotStartTimeRange = v
  54780. return s
  54781. }
  54782. // SetMaxResults sets the MaxResults field's value.
  54783. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  54784. s.MaxResults = &v
  54785. return s
  54786. }
  54787. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  54788. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  54789. s.MaxSlotDurationInHours = &v
  54790. return s
  54791. }
  54792. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  54793. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  54794. s.MinSlotDurationInHours = &v
  54795. return s
  54796. }
  54797. // SetNextToken sets the NextToken field's value.
  54798. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  54799. s.NextToken = &v
  54800. return s
  54801. }
  54802. // SetRecurrence sets the Recurrence field's value.
  54803. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  54804. s.Recurrence = v
  54805. return s
  54806. }
  54807. // Contains the output of DescribeScheduledInstanceAvailability.
  54808. type DescribeScheduledInstanceAvailabilityOutput struct {
  54809. _ struct{} `type:"structure"`
  54810. // The token required to retrieve the next set of results. This value is null
  54811. // when there are no more results to return.
  54812. NextToken *string `locationName:"nextToken" type:"string"`
  54813. // Information about the available Scheduled Instances.
  54814. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  54815. }
  54816. // String returns the string representation
  54817. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  54818. return awsutil.Prettify(s)
  54819. }
  54820. // GoString returns the string representation
  54821. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  54822. return s.String()
  54823. }
  54824. // SetNextToken sets the NextToken field's value.
  54825. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  54826. s.NextToken = &v
  54827. return s
  54828. }
  54829. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  54830. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  54831. s.ScheduledInstanceAvailabilitySet = v
  54832. return s
  54833. }
  54834. // Contains the parameters for DescribeScheduledInstances.
  54835. type DescribeScheduledInstancesInput struct {
  54836. _ struct{} `type:"structure"`
  54837. // Checks whether you have the required permissions for the action, without
  54838. // actually making the request, and provides an error response. If you have
  54839. // the required permissions, the error response is DryRunOperation. Otherwise,
  54840. // it is UnauthorizedOperation.
  54841. DryRun *bool `type:"boolean"`
  54842. // The filters.
  54843. //
  54844. // * availability-zone - The Availability Zone (for example, us-west-2a).
  54845. //
  54846. // * instance-type - The instance type (for example, c4.large).
  54847. //
  54848. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  54849. //
  54850. // * platform - The platform (Linux/UNIX or Windows).
  54851. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  54852. // The maximum number of results to return in a single call. This value can
  54853. // be between 5 and 300. The default value is 100. To retrieve the remaining
  54854. // results, make another call with the returned NextToken value.
  54855. MaxResults *int64 `type:"integer"`
  54856. // The token for the next set of results.
  54857. NextToken *string `type:"string"`
  54858. // The Scheduled Instance IDs.
  54859. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  54860. // The time period for the first schedule to start.
  54861. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  54862. }
  54863. // String returns the string representation
  54864. func (s DescribeScheduledInstancesInput) String() string {
  54865. return awsutil.Prettify(s)
  54866. }
  54867. // GoString returns the string representation
  54868. func (s DescribeScheduledInstancesInput) GoString() string {
  54869. return s.String()
  54870. }
  54871. // SetDryRun sets the DryRun field's value.
  54872. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  54873. s.DryRun = &v
  54874. return s
  54875. }
  54876. // SetFilters sets the Filters field's value.
  54877. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  54878. s.Filters = v
  54879. return s
  54880. }
  54881. // SetMaxResults sets the MaxResults field's value.
  54882. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  54883. s.MaxResults = &v
  54884. return s
  54885. }
  54886. // SetNextToken sets the NextToken field's value.
  54887. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  54888. s.NextToken = &v
  54889. return s
  54890. }
  54891. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  54892. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  54893. s.ScheduledInstanceIds = v
  54894. return s
  54895. }
  54896. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  54897. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  54898. s.SlotStartTimeRange = v
  54899. return s
  54900. }
  54901. // Contains the output of DescribeScheduledInstances.
  54902. type DescribeScheduledInstancesOutput struct {
  54903. _ struct{} `type:"structure"`
  54904. // The token required to retrieve the next set of results. This value is null
  54905. // when there are no more results to return.
  54906. NextToken *string `locationName:"nextToken" type:"string"`
  54907. // Information about the Scheduled Instances.
  54908. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  54909. }
  54910. // String returns the string representation
  54911. func (s DescribeScheduledInstancesOutput) String() string {
  54912. return awsutil.Prettify(s)
  54913. }
  54914. // GoString returns the string representation
  54915. func (s DescribeScheduledInstancesOutput) GoString() string {
  54916. return s.String()
  54917. }
  54918. // SetNextToken sets the NextToken field's value.
  54919. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  54920. s.NextToken = &v
  54921. return s
  54922. }
  54923. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  54924. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  54925. s.ScheduledInstanceSet = v
  54926. return s
  54927. }
  54928. type DescribeSecurityGroupReferencesInput struct {
  54929. _ struct{} `type:"structure"`
  54930. // Checks whether you have the required permissions for the action, without
  54931. // actually making the request, and provides an error response. If you have
  54932. // the required permissions, the error response is DryRunOperation. Otherwise,
  54933. // it is UnauthorizedOperation.
  54934. DryRun *bool `type:"boolean"`
  54935. // The IDs of the security groups in your account.
  54936. //
  54937. // GroupId is a required field
  54938. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  54939. }
  54940. // String returns the string representation
  54941. func (s DescribeSecurityGroupReferencesInput) String() string {
  54942. return awsutil.Prettify(s)
  54943. }
  54944. // GoString returns the string representation
  54945. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  54946. return s.String()
  54947. }
  54948. // Validate inspects the fields of the type to determine if they are valid.
  54949. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  54950. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  54951. if s.GroupId == nil {
  54952. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  54953. }
  54954. if invalidParams.Len() > 0 {
  54955. return invalidParams
  54956. }
  54957. return nil
  54958. }
  54959. // SetDryRun sets the DryRun field's value.
  54960. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  54961. s.DryRun = &v
  54962. return s
  54963. }
  54964. // SetGroupId sets the GroupId field's value.
  54965. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  54966. s.GroupId = v
  54967. return s
  54968. }
  54969. type DescribeSecurityGroupReferencesOutput struct {
  54970. _ struct{} `type:"structure"`
  54971. // Information about the VPCs with the referencing security groups.
  54972. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  54973. }
  54974. // String returns the string representation
  54975. func (s DescribeSecurityGroupReferencesOutput) String() string {
  54976. return awsutil.Prettify(s)
  54977. }
  54978. // GoString returns the string representation
  54979. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  54980. return s.String()
  54981. }
  54982. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  54983. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  54984. s.SecurityGroupReferenceSet = v
  54985. return s
  54986. }
  54987. type DescribeSecurityGroupsInput struct {
  54988. _ struct{} `type:"structure"`
  54989. // Checks whether you have the required permissions for the action, without
  54990. // actually making the request, and provides an error response. If you have
  54991. // the required permissions, the error response is DryRunOperation. Otherwise,
  54992. // it is UnauthorizedOperation.
  54993. DryRun *bool `locationName:"dryRun" type:"boolean"`
  54994. // The filters. If using multiple filters for rules, the results include security
  54995. // groups for which any combination of rules - not necessarily a single rule
  54996. // - match all filters.
  54997. //
  54998. // * description - The description of the security group.
  54999. //
  55000. // * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
  55001. // group rule.
  55002. //
  55003. // * egress.ip-permission.from-port - For an outbound rule, the start of
  55004. // port range for the TCP and UDP protocols, or an ICMP type number.
  55005. //
  55006. // * egress.ip-permission.group-id - The ID of a security group that has
  55007. // been referenced in an outbound security group rule.
  55008. //
  55009. // * egress.ip-permission.group-name - The name of a security group that
  55010. // has been referenced in an outbound security group rule.
  55011. //
  55012. // * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
  55013. // security group rule.
  55014. //
  55015. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  55016. // to which a security group rule allows outbound access.
  55017. //
  55018. // * egress.ip-permission.protocol - The IP protocol for an outbound security
  55019. // group rule (tcp | udp | icmp or a protocol number).
  55020. //
  55021. // * egress.ip-permission.to-port - For an outbound rule, the end of port
  55022. // range for the TCP and UDP protocols, or an ICMP code.
  55023. //
  55024. // * egress.ip-permission.user-id - The ID of an AWS account that has been
  55025. // referenced in an outbound security group rule.
  55026. //
  55027. // * group-id - The ID of the security group.
  55028. //
  55029. // * group-name - The name of the security group.
  55030. //
  55031. // * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
  55032. // rule.
  55033. //
  55034. // * ip-permission.from-port - For an inbound rule, the start of port range
  55035. // for the TCP and UDP protocols, or an ICMP type number.
  55036. //
  55037. // * ip-permission.group-id - The ID of a security group that has been referenced
  55038. // in an inbound security group rule.
  55039. //
  55040. // * ip-permission.group-name - The name of a security group that has been
  55041. // referenced in an inbound security group rule.
  55042. //
  55043. // * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
  55044. // group rule.
  55045. //
  55046. // * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
  55047. // which a security group rule allows inbound access.
  55048. //
  55049. // * ip-permission.protocol - The IP protocol for an inbound security group
  55050. // rule (tcp | udp | icmp or a protocol number).
  55051. //
  55052. // * ip-permission.to-port - For an inbound rule, the end of port range for
  55053. // the TCP and UDP protocols, or an ICMP code.
  55054. //
  55055. // * ip-permission.user-id - The ID of an AWS account that has been referenced
  55056. // in an inbound security group rule.
  55057. //
  55058. // * owner-id - The AWS account ID of the owner of the security group.
  55059. //
  55060. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  55061. // Use the tag key in the filter name and the tag value as the filter value.
  55062. // For example, to find all resources that have a tag with the key Owner
  55063. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  55064. // the filter value.
  55065. //
  55066. // * tag-key - The key of a tag assigned to the resource. Use this filter
  55067. // to find all resources assigned a tag with a specific key, regardless of
  55068. // the tag value.
  55069. //
  55070. // * vpc-id - The ID of the VPC specified when the security group was created.
  55071. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  55072. // The IDs of the security groups. Required for security groups in a nondefault
  55073. // VPC.
  55074. //
  55075. // Default: Describes all your security groups.
  55076. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  55077. // [EC2-Classic and default VPC only] The names of the security groups. You
  55078. // can specify either the security group name or the security group ID. For
  55079. // security groups in a nondefault VPC, use the group-name filter to describe
  55080. // security groups by name.
  55081. //
  55082. // Default: Describes all your security groups.
  55083. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  55084. // The maximum number of results to return in a single call. To retrieve the
  55085. // remaining results, make another request with the returned NextToken value.
  55086. // This value can be between 5 and 1000. If this parameter is not specified,
  55087. // then all results are returned.
  55088. MaxResults *int64 `min:"5" type:"integer"`
  55089. // The token to request the next page of results.
  55090. NextToken *string `type:"string"`
  55091. }
  55092. // String returns the string representation
  55093. func (s DescribeSecurityGroupsInput) String() string {
  55094. return awsutil.Prettify(s)
  55095. }
  55096. // GoString returns the string representation
  55097. func (s DescribeSecurityGroupsInput) GoString() string {
  55098. return s.String()
  55099. }
  55100. // Validate inspects the fields of the type to determine if they are valid.
  55101. func (s *DescribeSecurityGroupsInput) Validate() error {
  55102. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
  55103. if s.MaxResults != nil && *s.MaxResults < 5 {
  55104. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  55105. }
  55106. if invalidParams.Len() > 0 {
  55107. return invalidParams
  55108. }
  55109. return nil
  55110. }
  55111. // SetDryRun sets the DryRun field's value.
  55112. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  55113. s.DryRun = &v
  55114. return s
  55115. }
  55116. // SetFilters sets the Filters field's value.
  55117. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  55118. s.Filters = v
  55119. return s
  55120. }
  55121. // SetGroupIds sets the GroupIds field's value.
  55122. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  55123. s.GroupIds = v
  55124. return s
  55125. }
  55126. // SetGroupNames sets the GroupNames field's value.
  55127. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  55128. s.GroupNames = v
  55129. return s
  55130. }
  55131. // SetMaxResults sets the MaxResults field's value.
  55132. func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
  55133. s.MaxResults = &v
  55134. return s
  55135. }
  55136. // SetNextToken sets the NextToken field's value.
  55137. func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
  55138. s.NextToken = &v
  55139. return s
  55140. }
  55141. type DescribeSecurityGroupsOutput struct {
  55142. _ struct{} `type:"structure"`
  55143. // The token to use to retrieve the next page of results. This value is null
  55144. // when there are no more results to return.
  55145. NextToken *string `locationName:"nextToken" type:"string"`
  55146. // Information about the security groups.
  55147. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  55148. }
  55149. // String returns the string representation
  55150. func (s DescribeSecurityGroupsOutput) String() string {
  55151. return awsutil.Prettify(s)
  55152. }
  55153. // GoString returns the string representation
  55154. func (s DescribeSecurityGroupsOutput) GoString() string {
  55155. return s.String()
  55156. }
  55157. // SetNextToken sets the NextToken field's value.
  55158. func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
  55159. s.NextToken = &v
  55160. return s
  55161. }
  55162. // SetSecurityGroups sets the SecurityGroups field's value.
  55163. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  55164. s.SecurityGroups = v
  55165. return s
  55166. }
  55167. type DescribeSnapshotAttributeInput struct {
  55168. _ struct{} `type:"structure"`
  55169. // The snapshot attribute you would like to view.
  55170. //
  55171. // Attribute is a required field
  55172. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  55173. // Checks whether you have the required permissions for the action, without
  55174. // actually making the request, and provides an error response. If you have
  55175. // the required permissions, the error response is DryRunOperation. Otherwise,
  55176. // it is UnauthorizedOperation.
  55177. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55178. // The ID of the EBS snapshot.
  55179. //
  55180. // SnapshotId is a required field
  55181. SnapshotId *string `type:"string" required:"true"`
  55182. }
  55183. // String returns the string representation
  55184. func (s DescribeSnapshotAttributeInput) String() string {
  55185. return awsutil.Prettify(s)
  55186. }
  55187. // GoString returns the string representation
  55188. func (s DescribeSnapshotAttributeInput) GoString() string {
  55189. return s.String()
  55190. }
  55191. // Validate inspects the fields of the type to determine if they are valid.
  55192. func (s *DescribeSnapshotAttributeInput) Validate() error {
  55193. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  55194. if s.Attribute == nil {
  55195. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  55196. }
  55197. if s.SnapshotId == nil {
  55198. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  55199. }
  55200. if invalidParams.Len() > 0 {
  55201. return invalidParams
  55202. }
  55203. return nil
  55204. }
  55205. // SetAttribute sets the Attribute field's value.
  55206. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  55207. s.Attribute = &v
  55208. return s
  55209. }
  55210. // SetDryRun sets the DryRun field's value.
  55211. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  55212. s.DryRun = &v
  55213. return s
  55214. }
  55215. // SetSnapshotId sets the SnapshotId field's value.
  55216. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  55217. s.SnapshotId = &v
  55218. return s
  55219. }
  55220. type DescribeSnapshotAttributeOutput struct {
  55221. _ struct{} `type:"structure"`
  55222. // The users and groups that have the permissions for creating volumes from
  55223. // the snapshot.
  55224. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  55225. // The product codes.
  55226. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  55227. // The ID of the EBS snapshot.
  55228. SnapshotId *string `locationName:"snapshotId" type:"string"`
  55229. }
  55230. // String returns the string representation
  55231. func (s DescribeSnapshotAttributeOutput) String() string {
  55232. return awsutil.Prettify(s)
  55233. }
  55234. // GoString returns the string representation
  55235. func (s DescribeSnapshotAttributeOutput) GoString() string {
  55236. return s.String()
  55237. }
  55238. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  55239. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  55240. s.CreateVolumePermissions = v
  55241. return s
  55242. }
  55243. // SetProductCodes sets the ProductCodes field's value.
  55244. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  55245. s.ProductCodes = v
  55246. return s
  55247. }
  55248. // SetSnapshotId sets the SnapshotId field's value.
  55249. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  55250. s.SnapshotId = &v
  55251. return s
  55252. }
  55253. type DescribeSnapshotsInput struct {
  55254. _ struct{} `type:"structure"`
  55255. // Checks whether you have the required permissions for the action, without
  55256. // actually making the request, and provides an error response. If you have
  55257. // the required permissions, the error response is DryRunOperation. Otherwise,
  55258. // it is UnauthorizedOperation.
  55259. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55260. // The filters.
  55261. //
  55262. // * description - A description of the snapshot.
  55263. //
  55264. // * encrypted - Indicates whether the snapshot is encrypted (true | false)
  55265. //
  55266. // * owner-alias - Value from an Amazon-maintained list (amazon | self |
  55267. // all | aws-marketplace | microsoft) of snapshot owners. Not to be confused
  55268. // with the user-configured AWS account alias, which is set from the IAM
  55269. // console.
  55270. //
  55271. // * owner-id - The ID of the AWS account that owns the snapshot.
  55272. //
  55273. // * progress - The progress of the snapshot, as a percentage (for example,
  55274. // 80%).
  55275. //
  55276. // * snapshot-id - The snapshot ID.
  55277. //
  55278. // * start-time - The time stamp when the snapshot was initiated.
  55279. //
  55280. // * status - The status of the snapshot (pending | completed | error).
  55281. //
  55282. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  55283. // Use the tag key in the filter name and the tag value as the filter value.
  55284. // For example, to find all resources that have a tag with the key Owner
  55285. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  55286. // the filter value.
  55287. //
  55288. // * tag-key - The key of a tag assigned to the resource. Use this filter
  55289. // to find all resources assigned a tag with a specific key, regardless of
  55290. // the tag value.
  55291. //
  55292. // * volume-id - The ID of the volume the snapshot is for.
  55293. //
  55294. // * volume-size - The size of the volume, in GiB.
  55295. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  55296. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  55297. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  55298. // results in a single page along with a NextToken response element. The remaining
  55299. // results of the initial request can be seen by sending another DescribeSnapshots
  55300. // request with the returned NextToken value. This value can be between 5 and
  55301. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  55302. // are returned. If this parameter is not used, then DescribeSnapshots returns
  55303. // all results. You cannot specify this parameter and the snapshot IDs parameter
  55304. // in the same request.
  55305. MaxResults *int64 `type:"integer"`
  55306. // The NextToken value returned from a previous paginated DescribeSnapshots
  55307. // request where MaxResults was used and the results exceeded the value of that
  55308. // parameter. Pagination continues from the end of the previous results that
  55309. // returned the NextToken value. This value is null when there are no more results
  55310. // to return.
  55311. NextToken *string `type:"string"`
  55312. // Describes the snapshots owned by these owners.
  55313. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  55314. // The IDs of the AWS accounts that can create volumes from the snapshot.
  55315. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  55316. // The snapshot IDs.
  55317. //
  55318. // Default: Describes the snapshots for which you have create volume permissions.
  55319. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  55320. }
  55321. // String returns the string representation
  55322. func (s DescribeSnapshotsInput) String() string {
  55323. return awsutil.Prettify(s)
  55324. }
  55325. // GoString returns the string representation
  55326. func (s DescribeSnapshotsInput) GoString() string {
  55327. return s.String()
  55328. }
  55329. // SetDryRun sets the DryRun field's value.
  55330. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  55331. s.DryRun = &v
  55332. return s
  55333. }
  55334. // SetFilters sets the Filters field's value.
  55335. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  55336. s.Filters = v
  55337. return s
  55338. }
  55339. // SetMaxResults sets the MaxResults field's value.
  55340. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  55341. s.MaxResults = &v
  55342. return s
  55343. }
  55344. // SetNextToken sets the NextToken field's value.
  55345. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  55346. s.NextToken = &v
  55347. return s
  55348. }
  55349. // SetOwnerIds sets the OwnerIds field's value.
  55350. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  55351. s.OwnerIds = v
  55352. return s
  55353. }
  55354. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  55355. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  55356. s.RestorableByUserIds = v
  55357. return s
  55358. }
  55359. // SetSnapshotIds sets the SnapshotIds field's value.
  55360. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  55361. s.SnapshotIds = v
  55362. return s
  55363. }
  55364. type DescribeSnapshotsOutput struct {
  55365. _ struct{} `type:"structure"`
  55366. // The NextToken value to include in a future DescribeSnapshots request. When
  55367. // the results of a DescribeSnapshots request exceed MaxResults, this value
  55368. // can be used to retrieve the next page of results. This value is null when
  55369. // there are no more results to return.
  55370. NextToken *string `locationName:"nextToken" type:"string"`
  55371. // Information about the snapshots.
  55372. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  55373. }
  55374. // String returns the string representation
  55375. func (s DescribeSnapshotsOutput) String() string {
  55376. return awsutil.Prettify(s)
  55377. }
  55378. // GoString returns the string representation
  55379. func (s DescribeSnapshotsOutput) GoString() string {
  55380. return s.String()
  55381. }
  55382. // SetNextToken sets the NextToken field's value.
  55383. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  55384. s.NextToken = &v
  55385. return s
  55386. }
  55387. // SetSnapshots sets the Snapshots field's value.
  55388. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  55389. s.Snapshots = v
  55390. return s
  55391. }
  55392. // Contains the parameters for DescribeSpotDatafeedSubscription.
  55393. type DescribeSpotDatafeedSubscriptionInput struct {
  55394. _ struct{} `type:"structure"`
  55395. // Checks whether you have the required permissions for the action, without
  55396. // actually making the request, and provides an error response. If you have
  55397. // the required permissions, the error response is DryRunOperation. Otherwise,
  55398. // it is UnauthorizedOperation.
  55399. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55400. }
  55401. // String returns the string representation
  55402. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  55403. return awsutil.Prettify(s)
  55404. }
  55405. // GoString returns the string representation
  55406. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  55407. return s.String()
  55408. }
  55409. // SetDryRun sets the DryRun field's value.
  55410. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  55411. s.DryRun = &v
  55412. return s
  55413. }
  55414. // Contains the output of DescribeSpotDatafeedSubscription.
  55415. type DescribeSpotDatafeedSubscriptionOutput struct {
  55416. _ struct{} `type:"structure"`
  55417. // The Spot Instance data feed subscription.
  55418. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  55419. }
  55420. // String returns the string representation
  55421. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  55422. return awsutil.Prettify(s)
  55423. }
  55424. // GoString returns the string representation
  55425. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  55426. return s.String()
  55427. }
  55428. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  55429. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  55430. s.SpotDatafeedSubscription = v
  55431. return s
  55432. }
  55433. // Contains the parameters for DescribeSpotFleetInstances.
  55434. type DescribeSpotFleetInstancesInput struct {
  55435. _ struct{} `type:"structure"`
  55436. // Checks whether you have the required permissions for the action, without
  55437. // actually making the request, and provides an error response. If you have
  55438. // the required permissions, the error response is DryRunOperation. Otherwise,
  55439. // it is UnauthorizedOperation.
  55440. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55441. // The maximum number of results to return in a single call. Specify a value
  55442. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  55443. // results, make another call with the returned NextToken value.
  55444. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  55445. // The token for the next set of results.
  55446. NextToken *string `locationName:"nextToken" type:"string"`
  55447. // The ID of the Spot Fleet request.
  55448. //
  55449. // SpotFleetRequestId is a required field
  55450. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  55451. }
  55452. // String returns the string representation
  55453. func (s DescribeSpotFleetInstancesInput) String() string {
  55454. return awsutil.Prettify(s)
  55455. }
  55456. // GoString returns the string representation
  55457. func (s DescribeSpotFleetInstancesInput) GoString() string {
  55458. return s.String()
  55459. }
  55460. // Validate inspects the fields of the type to determine if they are valid.
  55461. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  55462. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  55463. if s.MaxResults != nil && *s.MaxResults < 1 {
  55464. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  55465. }
  55466. if s.SpotFleetRequestId == nil {
  55467. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  55468. }
  55469. if invalidParams.Len() > 0 {
  55470. return invalidParams
  55471. }
  55472. return nil
  55473. }
  55474. // SetDryRun sets the DryRun field's value.
  55475. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  55476. s.DryRun = &v
  55477. return s
  55478. }
  55479. // SetMaxResults sets the MaxResults field's value.
  55480. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  55481. s.MaxResults = &v
  55482. return s
  55483. }
  55484. // SetNextToken sets the NextToken field's value.
  55485. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  55486. s.NextToken = &v
  55487. return s
  55488. }
  55489. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  55490. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  55491. s.SpotFleetRequestId = &v
  55492. return s
  55493. }
  55494. // Contains the output of DescribeSpotFleetInstances.
  55495. type DescribeSpotFleetInstancesOutput struct {
  55496. _ struct{} `type:"structure"`
  55497. // The running instances. This list is refreshed periodically and might be out
  55498. // of date.
  55499. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
  55500. // The token required to retrieve the next set of results. This value is null
  55501. // when there are no more results to return.
  55502. NextToken *string `locationName:"nextToken" type:"string"`
  55503. // The ID of the Spot Fleet request.
  55504. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  55505. }
  55506. // String returns the string representation
  55507. func (s DescribeSpotFleetInstancesOutput) String() string {
  55508. return awsutil.Prettify(s)
  55509. }
  55510. // GoString returns the string representation
  55511. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  55512. return s.String()
  55513. }
  55514. // SetActiveInstances sets the ActiveInstances field's value.
  55515. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  55516. s.ActiveInstances = v
  55517. return s
  55518. }
  55519. // SetNextToken sets the NextToken field's value.
  55520. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  55521. s.NextToken = &v
  55522. return s
  55523. }
  55524. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  55525. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  55526. s.SpotFleetRequestId = &v
  55527. return s
  55528. }
  55529. // Contains the parameters for DescribeSpotFleetRequestHistory.
  55530. type DescribeSpotFleetRequestHistoryInput struct {
  55531. _ struct{} `type:"structure"`
  55532. // Checks whether you have the required permissions for the action, without
  55533. // actually making the request, and provides an error response. If you have
  55534. // the required permissions, the error response is DryRunOperation. Otherwise,
  55535. // it is UnauthorizedOperation.
  55536. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55537. // The type of events to describe. By default, all events are described.
  55538. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  55539. // The maximum number of results to return in a single call. Specify a value
  55540. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  55541. // results, make another call with the returned NextToken value.
  55542. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  55543. // The token for the next set of results.
  55544. NextToken *string `locationName:"nextToken" type:"string"`
  55545. // The ID of the Spot Fleet request.
  55546. //
  55547. // SpotFleetRequestId is a required field
  55548. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  55549. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55550. //
  55551. // StartTime is a required field
  55552. StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
  55553. }
  55554. // String returns the string representation
  55555. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  55556. return awsutil.Prettify(s)
  55557. }
  55558. // GoString returns the string representation
  55559. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  55560. return s.String()
  55561. }
  55562. // Validate inspects the fields of the type to determine if they are valid.
  55563. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  55564. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  55565. if s.MaxResults != nil && *s.MaxResults < 1 {
  55566. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  55567. }
  55568. if s.SpotFleetRequestId == nil {
  55569. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  55570. }
  55571. if s.StartTime == nil {
  55572. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  55573. }
  55574. if invalidParams.Len() > 0 {
  55575. return invalidParams
  55576. }
  55577. return nil
  55578. }
  55579. // SetDryRun sets the DryRun field's value.
  55580. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  55581. s.DryRun = &v
  55582. return s
  55583. }
  55584. // SetEventType sets the EventType field's value.
  55585. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  55586. s.EventType = &v
  55587. return s
  55588. }
  55589. // SetMaxResults sets the MaxResults field's value.
  55590. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  55591. s.MaxResults = &v
  55592. return s
  55593. }
  55594. // SetNextToken sets the NextToken field's value.
  55595. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  55596. s.NextToken = &v
  55597. return s
  55598. }
  55599. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  55600. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  55601. s.SpotFleetRequestId = &v
  55602. return s
  55603. }
  55604. // SetStartTime sets the StartTime field's value.
  55605. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  55606. s.StartTime = &v
  55607. return s
  55608. }
  55609. // Contains the output of DescribeSpotFleetRequestHistory.
  55610. type DescribeSpotFleetRequestHistoryOutput struct {
  55611. _ struct{} `type:"structure"`
  55612. // Information about the events in the history of the Spot Fleet request.
  55613. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
  55614. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55615. // All records up to this time were retrieved.
  55616. //
  55617. // If nextToken indicates that there are more results, this value is not present.
  55618. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
  55619. // The token required to retrieve the next set of results. This value is null
  55620. // when there are no more results to return.
  55621. NextToken *string `locationName:"nextToken" type:"string"`
  55622. // The ID of the Spot Fleet request.
  55623. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  55624. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55625. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  55626. }
  55627. // String returns the string representation
  55628. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  55629. return awsutil.Prettify(s)
  55630. }
  55631. // GoString returns the string representation
  55632. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  55633. return s.String()
  55634. }
  55635. // SetHistoryRecords sets the HistoryRecords field's value.
  55636. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  55637. s.HistoryRecords = v
  55638. return s
  55639. }
  55640. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  55641. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  55642. s.LastEvaluatedTime = &v
  55643. return s
  55644. }
  55645. // SetNextToken sets the NextToken field's value.
  55646. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  55647. s.NextToken = &v
  55648. return s
  55649. }
  55650. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  55651. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  55652. s.SpotFleetRequestId = &v
  55653. return s
  55654. }
  55655. // SetStartTime sets the StartTime field's value.
  55656. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  55657. s.StartTime = &v
  55658. return s
  55659. }
  55660. // Contains the parameters for DescribeSpotFleetRequests.
  55661. type DescribeSpotFleetRequestsInput struct {
  55662. _ struct{} `type:"structure"`
  55663. // Checks whether you have the required permissions for the action, without
  55664. // actually making the request, and provides an error response. If you have
  55665. // the required permissions, the error response is DryRunOperation. Otherwise,
  55666. // it is UnauthorizedOperation.
  55667. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55668. // The maximum number of results to return in a single call. Specify a value
  55669. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  55670. // results, make another call with the returned NextToken value.
  55671. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  55672. // The token for the next set of results.
  55673. NextToken *string `locationName:"nextToken" type:"string"`
  55674. // The IDs of the Spot Fleet requests.
  55675. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  55676. }
  55677. // String returns the string representation
  55678. func (s DescribeSpotFleetRequestsInput) String() string {
  55679. return awsutil.Prettify(s)
  55680. }
  55681. // GoString returns the string representation
  55682. func (s DescribeSpotFleetRequestsInput) GoString() string {
  55683. return s.String()
  55684. }
  55685. // SetDryRun sets the DryRun field's value.
  55686. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  55687. s.DryRun = &v
  55688. return s
  55689. }
  55690. // SetMaxResults sets the MaxResults field's value.
  55691. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  55692. s.MaxResults = &v
  55693. return s
  55694. }
  55695. // SetNextToken sets the NextToken field's value.
  55696. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  55697. s.NextToken = &v
  55698. return s
  55699. }
  55700. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  55701. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  55702. s.SpotFleetRequestIds = v
  55703. return s
  55704. }
  55705. // Contains the output of DescribeSpotFleetRequests.
  55706. type DescribeSpotFleetRequestsOutput struct {
  55707. _ struct{} `type:"structure"`
  55708. // The token required to retrieve the next set of results. This value is null
  55709. // when there are no more results to return.
  55710. NextToken *string `locationName:"nextToken" type:"string"`
  55711. // Information about the configuration of your Spot Fleet.
  55712. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
  55713. }
  55714. // String returns the string representation
  55715. func (s DescribeSpotFleetRequestsOutput) String() string {
  55716. return awsutil.Prettify(s)
  55717. }
  55718. // GoString returns the string representation
  55719. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  55720. return s.String()
  55721. }
  55722. // SetNextToken sets the NextToken field's value.
  55723. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  55724. s.NextToken = &v
  55725. return s
  55726. }
  55727. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  55728. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  55729. s.SpotFleetRequestConfigs = v
  55730. return s
  55731. }
  55732. // Contains the parameters for DescribeSpotInstanceRequests.
  55733. type DescribeSpotInstanceRequestsInput struct {
  55734. _ struct{} `type:"structure"`
  55735. // Checks whether you have the required permissions for the action, without
  55736. // actually making the request, and provides an error response. If you have
  55737. // the required permissions, the error response is DryRunOperation. Otherwise,
  55738. // it is UnauthorizedOperation.
  55739. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55740. // One or more filters.
  55741. //
  55742. // * availability-zone-group - The Availability Zone group.
  55743. //
  55744. // * create-time - The time stamp when the Spot Instance request was created.
  55745. //
  55746. // * fault-code - The fault code related to the request.
  55747. //
  55748. // * fault-message - The fault message related to the request.
  55749. //
  55750. // * instance-id - The ID of the instance that fulfilled the request.
  55751. //
  55752. // * launch-group - The Spot Instance launch group.
  55753. //
  55754. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  55755. // the EBS volume is deleted on instance termination.
  55756. //
  55757. // * launch.block-device-mapping.device-name - The device name for the volume
  55758. // in the block device mapping (for example, /dev/sdh or xvdh).
  55759. //
  55760. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
  55761. // the EBS volume.
  55762. //
  55763. // * launch.block-device-mapping.volume-size - The size of the EBS volume,
  55764. // in GiB.
  55765. //
  55766. // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
  55767. // for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
  55768. // Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  55769. //
  55770. // * launch.group-id - The ID of the security group for the instance.
  55771. //
  55772. // * launch.group-name - The name of the security group for the instance.
  55773. //
  55774. // * launch.image-id - The ID of the AMI.
  55775. //
  55776. // * launch.instance-type - The type of instance (for example, m3.medium).
  55777. //
  55778. // * launch.kernel-id - The kernel ID.
  55779. //
  55780. // * launch.key-name - The name of the key pair the instance launched with.
  55781. //
  55782. // * launch.monitoring-enabled - Whether detailed monitoring is enabled for
  55783. // the Spot Instance.
  55784. //
  55785. // * launch.ramdisk-id - The RAM disk ID.
  55786. //
  55787. // * launched-availability-zone - The Availability Zone in which the request
  55788. // is launched.
  55789. //
  55790. // * network-interface.addresses.primary - Indicates whether the IP address
  55791. // is the primary private IP address.
  55792. //
  55793. // * network-interface.delete-on-termination - Indicates whether the network
  55794. // interface is deleted when the instance is terminated.
  55795. //
  55796. // * network-interface.description - A description of the network interface.
  55797. //
  55798. // * network-interface.device-index - The index of the device for the network
  55799. // interface attachment on the instance.
  55800. //
  55801. // * network-interface.group-id - The ID of the security group associated
  55802. // with the network interface.
  55803. //
  55804. // * network-interface.network-interface-id - The ID of the network interface.
  55805. //
  55806. // * network-interface.private-ip-address - The primary private IP address
  55807. // of the network interface.
  55808. //
  55809. // * network-interface.subnet-id - The ID of the subnet for the instance.
  55810. //
  55811. // * product-description - The product description associated with the instance
  55812. // (Linux/UNIX | Windows).
  55813. //
  55814. // * spot-instance-request-id - The Spot Instance request ID.
  55815. //
  55816. // * spot-price - The maximum hourly price for any Spot Instance launched
  55817. // to fulfill the request.
  55818. //
  55819. // * state - The state of the Spot Instance request (open | active | closed
  55820. // | cancelled | failed). Spot request status information can help you track
  55821. // your Amazon EC2 Spot Instance requests. For more information, see Spot
  55822. // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  55823. // in the Amazon EC2 User Guide for Linux Instances.
  55824. //
  55825. // * status-code - The short code describing the most recent evaluation of
  55826. // your Spot Instance request.
  55827. //
  55828. // * status-message - The message explaining the status of the Spot Instance
  55829. // request.
  55830. //
  55831. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  55832. // Use the tag key in the filter name and the tag value as the filter value.
  55833. // For example, to find all resources that have a tag with the key Owner
  55834. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  55835. // the filter value.
  55836. //
  55837. // * tag-key - The key of a tag assigned to the resource. Use this filter
  55838. // to find all resources assigned a tag with a specific key, regardless of
  55839. // the tag value.
  55840. //
  55841. // * type - The type of Spot Instance request (one-time | persistent).
  55842. //
  55843. // * valid-from - The start date of the request.
  55844. //
  55845. // * valid-until - The end date of the request.
  55846. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  55847. // The maximum number of results to return in a single call. Specify a value
  55848. // between 5 and 1000. To retrieve the remaining results, make another call
  55849. // with the returned NextToken value.
  55850. MaxResults *int64 `type:"integer"`
  55851. // The token to request the next set of results. This value is null when there
  55852. // are no more results to return.
  55853. NextToken *string `type:"string"`
  55854. // One or more Spot Instance request IDs.
  55855. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  55856. }
  55857. // String returns the string representation
  55858. func (s DescribeSpotInstanceRequestsInput) String() string {
  55859. return awsutil.Prettify(s)
  55860. }
  55861. // GoString returns the string representation
  55862. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  55863. return s.String()
  55864. }
  55865. // SetDryRun sets the DryRun field's value.
  55866. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  55867. s.DryRun = &v
  55868. return s
  55869. }
  55870. // SetFilters sets the Filters field's value.
  55871. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  55872. s.Filters = v
  55873. return s
  55874. }
  55875. // SetMaxResults sets the MaxResults field's value.
  55876. func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
  55877. s.MaxResults = &v
  55878. return s
  55879. }
  55880. // SetNextToken sets the NextToken field's value.
  55881. func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
  55882. s.NextToken = &v
  55883. return s
  55884. }
  55885. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  55886. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  55887. s.SpotInstanceRequestIds = v
  55888. return s
  55889. }
  55890. // Contains the output of DescribeSpotInstanceRequests.
  55891. type DescribeSpotInstanceRequestsOutput struct {
  55892. _ struct{} `type:"structure"`
  55893. // The token to use to retrieve the next set of results. This value is null
  55894. // when there are no more results to return.
  55895. NextToken *string `locationName:"nextToken" type:"string"`
  55896. // One or more Spot Instance requests.
  55897. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  55898. }
  55899. // String returns the string representation
  55900. func (s DescribeSpotInstanceRequestsOutput) String() string {
  55901. return awsutil.Prettify(s)
  55902. }
  55903. // GoString returns the string representation
  55904. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  55905. return s.String()
  55906. }
  55907. // SetNextToken sets the NextToken field's value.
  55908. func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
  55909. s.NextToken = &v
  55910. return s
  55911. }
  55912. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  55913. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  55914. s.SpotInstanceRequests = v
  55915. return s
  55916. }
  55917. // Contains the parameters for DescribeSpotPriceHistory.
  55918. type DescribeSpotPriceHistoryInput struct {
  55919. _ struct{} `type:"structure"`
  55920. // Filters the results by the specified Availability Zone.
  55921. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55922. // Checks whether you have the required permissions for the action, without
  55923. // actually making the request, and provides an error response. If you have
  55924. // the required permissions, the error response is DryRunOperation. Otherwise,
  55925. // it is UnauthorizedOperation.
  55926. DryRun *bool `locationName:"dryRun" type:"boolean"`
  55927. // The date and time, up to the current date, from which to stop retrieving
  55928. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55929. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  55930. // One or more filters.
  55931. //
  55932. // * availability-zone - The Availability Zone for which prices should be
  55933. // returned.
  55934. //
  55935. // * instance-type - The type of instance (for example, m3.medium).
  55936. //
  55937. // * product-description - The product description for the Spot price (Linux/UNIX
  55938. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  55939. // VPC) | Windows (Amazon VPC)).
  55940. //
  55941. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  55942. // greater than or less than comparison is not supported).
  55943. //
  55944. // * timestamp - The time stamp of the Spot price history, in UTC format
  55945. // (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
  55946. // Greater than or less than comparison is not supported.
  55947. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  55948. // Filters the results by the specified instance types.
  55949. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  55950. // The maximum number of results to return in a single call. Specify a value
  55951. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  55952. // results, make another call with the returned NextToken value.
  55953. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  55954. // The token for the next set of results.
  55955. NextToken *string `locationName:"nextToken" type:"string"`
  55956. // Filters the results by the specified basic product descriptions.
  55957. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  55958. // The date and time, up to the past 90 days, from which to start retrieving
  55959. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  55960. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  55961. }
  55962. // String returns the string representation
  55963. func (s DescribeSpotPriceHistoryInput) String() string {
  55964. return awsutil.Prettify(s)
  55965. }
  55966. // GoString returns the string representation
  55967. func (s DescribeSpotPriceHistoryInput) GoString() string {
  55968. return s.String()
  55969. }
  55970. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55971. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  55972. s.AvailabilityZone = &v
  55973. return s
  55974. }
  55975. // SetDryRun sets the DryRun field's value.
  55976. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  55977. s.DryRun = &v
  55978. return s
  55979. }
  55980. // SetEndTime sets the EndTime field's value.
  55981. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  55982. s.EndTime = &v
  55983. return s
  55984. }
  55985. // SetFilters sets the Filters field's value.
  55986. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  55987. s.Filters = v
  55988. return s
  55989. }
  55990. // SetInstanceTypes sets the InstanceTypes field's value.
  55991. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  55992. s.InstanceTypes = v
  55993. return s
  55994. }
  55995. // SetMaxResults sets the MaxResults field's value.
  55996. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  55997. s.MaxResults = &v
  55998. return s
  55999. }
  56000. // SetNextToken sets the NextToken field's value.
  56001. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  56002. s.NextToken = &v
  56003. return s
  56004. }
  56005. // SetProductDescriptions sets the ProductDescriptions field's value.
  56006. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  56007. s.ProductDescriptions = v
  56008. return s
  56009. }
  56010. // SetStartTime sets the StartTime field's value.
  56011. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  56012. s.StartTime = &v
  56013. return s
  56014. }
  56015. // Contains the output of DescribeSpotPriceHistory.
  56016. type DescribeSpotPriceHistoryOutput struct {
  56017. _ struct{} `type:"structure"`
  56018. // The token required to retrieve the next set of results. This value is null
  56019. // or an empty string when there are no more results to return.
  56020. NextToken *string `locationName:"nextToken" type:"string"`
  56021. // The historical Spot prices.
  56022. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  56023. }
  56024. // String returns the string representation
  56025. func (s DescribeSpotPriceHistoryOutput) String() string {
  56026. return awsutil.Prettify(s)
  56027. }
  56028. // GoString returns the string representation
  56029. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  56030. return s.String()
  56031. }
  56032. // SetNextToken sets the NextToken field's value.
  56033. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  56034. s.NextToken = &v
  56035. return s
  56036. }
  56037. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  56038. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  56039. s.SpotPriceHistory = v
  56040. return s
  56041. }
  56042. type DescribeStaleSecurityGroupsInput struct {
  56043. _ struct{} `type:"structure"`
  56044. // Checks whether you have the required permissions for the action, without
  56045. // actually making the request, and provides an error response. If you have
  56046. // the required permissions, the error response is DryRunOperation. Otherwise,
  56047. // it is UnauthorizedOperation.
  56048. DryRun *bool `type:"boolean"`
  56049. // The maximum number of items to return for this request. The request returns
  56050. // a token that you can specify in a subsequent call to get the next set of
  56051. // results.
  56052. MaxResults *int64 `min:"5" type:"integer"`
  56053. // The token for the next set of items to return. (You received this token from
  56054. // a prior call.)
  56055. NextToken *string `min:"1" type:"string"`
  56056. // The ID of the VPC.
  56057. //
  56058. // VpcId is a required field
  56059. VpcId *string `type:"string" required:"true"`
  56060. }
  56061. // String returns the string representation
  56062. func (s DescribeStaleSecurityGroupsInput) String() string {
  56063. return awsutil.Prettify(s)
  56064. }
  56065. // GoString returns the string representation
  56066. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  56067. return s.String()
  56068. }
  56069. // Validate inspects the fields of the type to determine if they are valid.
  56070. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  56071. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  56072. if s.MaxResults != nil && *s.MaxResults < 5 {
  56073. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56074. }
  56075. if s.NextToken != nil && len(*s.NextToken) < 1 {
  56076. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  56077. }
  56078. if s.VpcId == nil {
  56079. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  56080. }
  56081. if invalidParams.Len() > 0 {
  56082. return invalidParams
  56083. }
  56084. return nil
  56085. }
  56086. // SetDryRun sets the DryRun field's value.
  56087. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  56088. s.DryRun = &v
  56089. return s
  56090. }
  56091. // SetMaxResults sets the MaxResults field's value.
  56092. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  56093. s.MaxResults = &v
  56094. return s
  56095. }
  56096. // SetNextToken sets the NextToken field's value.
  56097. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  56098. s.NextToken = &v
  56099. return s
  56100. }
  56101. // SetVpcId sets the VpcId field's value.
  56102. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  56103. s.VpcId = &v
  56104. return s
  56105. }
  56106. type DescribeStaleSecurityGroupsOutput struct {
  56107. _ struct{} `type:"structure"`
  56108. // The token to use when requesting the next set of items. If there are no additional
  56109. // items to return, the string is empty.
  56110. NextToken *string `locationName:"nextToken" type:"string"`
  56111. // Information about the stale security groups.
  56112. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  56113. }
  56114. // String returns the string representation
  56115. func (s DescribeStaleSecurityGroupsOutput) String() string {
  56116. return awsutil.Prettify(s)
  56117. }
  56118. // GoString returns the string representation
  56119. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  56120. return s.String()
  56121. }
  56122. // SetNextToken sets the NextToken field's value.
  56123. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  56124. s.NextToken = &v
  56125. return s
  56126. }
  56127. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  56128. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  56129. s.StaleSecurityGroupSet = v
  56130. return s
  56131. }
  56132. type DescribeSubnetsInput struct {
  56133. _ struct{} `type:"structure"`
  56134. // Checks whether you have the required permissions for the action, without
  56135. // actually making the request, and provides an error response. If you have
  56136. // the required permissions, the error response is DryRunOperation. Otherwise,
  56137. // it is UnauthorizedOperation.
  56138. DryRun *bool `locationName:"dryRun" type:"boolean"`
  56139. // One or more filters.
  56140. //
  56141. // * availability-zone - The Availability Zone for the subnet. You can also
  56142. // use availabilityZone as the filter name.
  56143. //
  56144. // * availability-zone-id - The ID of the Availability Zone for the subnet.
  56145. // You can also use availabilityZoneId as the filter name.
  56146. //
  56147. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  56148. // that are available.
  56149. //
  56150. // * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
  56151. // must exactly match the subnet's CIDR block for information to be returned
  56152. // for the subnet. You can also use cidr or cidrBlock as the filter names.
  56153. //
  56154. // * default-for-az - Indicates whether this is the default subnet for the
  56155. // Availability Zone. You can also use defaultForAz as the filter name.
  56156. //
  56157. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  56158. // with the subnet.
  56159. //
  56160. // * ipv6-cidr-block-association.association-id - An association ID for an
  56161. // IPv6 CIDR block associated with the subnet.
  56162. //
  56163. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  56164. // associated with the subnet.
  56165. //
  56166. // * owner-id - The ID of the AWS account that owns the subnet.
  56167. //
  56168. // * state - The state of the subnet (pending | available).
  56169. //
  56170. // * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
  56171. //
  56172. // * subnet-id - The ID of the subnet.
  56173. //
  56174. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  56175. // Use the tag key in the filter name and the tag value as the filter value.
  56176. // For example, to find all resources that have a tag with the key Owner
  56177. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  56178. // the filter value.
  56179. //
  56180. // * tag-key - The key of a tag assigned to the resource. Use this filter
  56181. // to find all resources assigned a tag with a specific key, regardless of
  56182. // the tag value.
  56183. //
  56184. // * vpc-id - The ID of the VPC for the subnet.
  56185. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56186. // The maximum number of results to return with a single call. To retrieve the
  56187. // remaining results, make another call with the returned nextToken value.
  56188. MaxResults *int64 `min:"5" type:"integer"`
  56189. // The token for the next page of results.
  56190. NextToken *string `type:"string"`
  56191. // One or more subnet IDs.
  56192. //
  56193. // Default: Describes all your subnets.
  56194. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  56195. }
  56196. // String returns the string representation
  56197. func (s DescribeSubnetsInput) String() string {
  56198. return awsutil.Prettify(s)
  56199. }
  56200. // GoString returns the string representation
  56201. func (s DescribeSubnetsInput) GoString() string {
  56202. return s.String()
  56203. }
  56204. // Validate inspects the fields of the type to determine if they are valid.
  56205. func (s *DescribeSubnetsInput) Validate() error {
  56206. invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
  56207. if s.MaxResults != nil && *s.MaxResults < 5 {
  56208. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56209. }
  56210. if invalidParams.Len() > 0 {
  56211. return invalidParams
  56212. }
  56213. return nil
  56214. }
  56215. // SetDryRun sets the DryRun field's value.
  56216. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  56217. s.DryRun = &v
  56218. return s
  56219. }
  56220. // SetFilters sets the Filters field's value.
  56221. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  56222. s.Filters = v
  56223. return s
  56224. }
  56225. // SetMaxResults sets the MaxResults field's value.
  56226. func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
  56227. s.MaxResults = &v
  56228. return s
  56229. }
  56230. // SetNextToken sets the NextToken field's value.
  56231. func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
  56232. s.NextToken = &v
  56233. return s
  56234. }
  56235. // SetSubnetIds sets the SubnetIds field's value.
  56236. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  56237. s.SubnetIds = v
  56238. return s
  56239. }
  56240. type DescribeSubnetsOutput struct {
  56241. _ struct{} `type:"structure"`
  56242. // The token to use to retrieve the next page of results. This value is null
  56243. // when there are no more results to return.
  56244. NextToken *string `locationName:"nextToken" type:"string"`
  56245. // Information about one or more subnets.
  56246. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  56247. }
  56248. // String returns the string representation
  56249. func (s DescribeSubnetsOutput) String() string {
  56250. return awsutil.Prettify(s)
  56251. }
  56252. // GoString returns the string representation
  56253. func (s DescribeSubnetsOutput) GoString() string {
  56254. return s.String()
  56255. }
  56256. // SetNextToken sets the NextToken field's value.
  56257. func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
  56258. s.NextToken = &v
  56259. return s
  56260. }
  56261. // SetSubnets sets the Subnets field's value.
  56262. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  56263. s.Subnets = v
  56264. return s
  56265. }
  56266. type DescribeTagsInput struct {
  56267. _ struct{} `type:"structure"`
  56268. // Checks whether you have the required permissions for the action, without
  56269. // actually making the request, and provides an error response. If you have
  56270. // the required permissions, the error response is DryRunOperation. Otherwise,
  56271. // it is UnauthorizedOperation.
  56272. DryRun *bool `locationName:"dryRun" type:"boolean"`
  56273. // The filters.
  56274. //
  56275. // * key - The tag key.
  56276. //
  56277. // * resource-id - The ID of the resource.
  56278. //
  56279. // * resource-type - The resource type (customer-gateway | dedicated-host
  56280. // | dhcp-options | elastic-ip | fleet | fpga-image | image | instance |
  56281. // host-reservation | internet-gateway | launch-template | natgateway | network-acl
  56282. // | network-interface | reserved-instances | route-table | security-group
  56283. // | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection
  56284. // | vpn-connection | vpn-gateway).
  56285. //
  56286. // * tag:<key> - The key/value combination of the tag. For example, specify
  56287. // "tag:Owner" for the filter name and "TeamA" for the filter value to find
  56288. // resources with the tag "Owner=TeamA".
  56289. //
  56290. // * value - The tag value.
  56291. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56292. // The maximum number of results to return in a single call. This value can
  56293. // be between 5 and 1000. To retrieve the remaining results, make another call
  56294. // with the returned NextToken value.
  56295. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  56296. // The token to retrieve the next page of results.
  56297. NextToken *string `locationName:"nextToken" type:"string"`
  56298. }
  56299. // String returns the string representation
  56300. func (s DescribeTagsInput) String() string {
  56301. return awsutil.Prettify(s)
  56302. }
  56303. // GoString returns the string representation
  56304. func (s DescribeTagsInput) GoString() string {
  56305. return s.String()
  56306. }
  56307. // SetDryRun sets the DryRun field's value.
  56308. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  56309. s.DryRun = &v
  56310. return s
  56311. }
  56312. // SetFilters sets the Filters field's value.
  56313. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  56314. s.Filters = v
  56315. return s
  56316. }
  56317. // SetMaxResults sets the MaxResults field's value.
  56318. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  56319. s.MaxResults = &v
  56320. return s
  56321. }
  56322. // SetNextToken sets the NextToken field's value.
  56323. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  56324. s.NextToken = &v
  56325. return s
  56326. }
  56327. type DescribeTagsOutput struct {
  56328. _ struct{} `type:"structure"`
  56329. // The token to use to retrieve the next page of results. This value is null
  56330. // when there are no more results to return.
  56331. NextToken *string `locationName:"nextToken" type:"string"`
  56332. // The tags.
  56333. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  56334. }
  56335. // String returns the string representation
  56336. func (s DescribeTagsOutput) String() string {
  56337. return awsutil.Prettify(s)
  56338. }
  56339. // GoString returns the string representation
  56340. func (s DescribeTagsOutput) GoString() string {
  56341. return s.String()
  56342. }
  56343. // SetNextToken sets the NextToken field's value.
  56344. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  56345. s.NextToken = &v
  56346. return s
  56347. }
  56348. // SetTags sets the Tags field's value.
  56349. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  56350. s.Tags = v
  56351. return s
  56352. }
  56353. type DescribeTrafficMirrorFiltersInput struct {
  56354. _ struct{} `type:"structure"`
  56355. // Checks whether you have the required permissions for the action, without
  56356. // actually making the request, and provides an error response. If you have
  56357. // the required permissions, the error response is DryRunOperation. Otherwise,
  56358. // it is UnauthorizedOperation.
  56359. DryRun *bool `type:"boolean"`
  56360. // One or more filters. The possible values are:
  56361. //
  56362. // * description: The Traffic Mirror filter description.
  56363. //
  56364. // * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
  56365. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56366. // The maximum number of results to return with a single call. To retrieve the
  56367. // remaining results, make another call with the returned nextToken value.
  56368. MaxResults *int64 `min:"5" type:"integer"`
  56369. // The token for the next page of results.
  56370. NextToken *string `type:"string"`
  56371. // The ID of the Traffic Mirror filter.
  56372. TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"`
  56373. }
  56374. // String returns the string representation
  56375. func (s DescribeTrafficMirrorFiltersInput) String() string {
  56376. return awsutil.Prettify(s)
  56377. }
  56378. // GoString returns the string representation
  56379. func (s DescribeTrafficMirrorFiltersInput) GoString() string {
  56380. return s.String()
  56381. }
  56382. // Validate inspects the fields of the type to determine if they are valid.
  56383. func (s *DescribeTrafficMirrorFiltersInput) Validate() error {
  56384. invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"}
  56385. if s.MaxResults != nil && *s.MaxResults < 5 {
  56386. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56387. }
  56388. if invalidParams.Len() > 0 {
  56389. return invalidParams
  56390. }
  56391. return nil
  56392. }
  56393. // SetDryRun sets the DryRun field's value.
  56394. func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput {
  56395. s.DryRun = &v
  56396. return s
  56397. }
  56398. // SetFilters sets the Filters field's value.
  56399. func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput {
  56400. s.Filters = v
  56401. return s
  56402. }
  56403. // SetMaxResults sets the MaxResults field's value.
  56404. func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput {
  56405. s.MaxResults = &v
  56406. return s
  56407. }
  56408. // SetNextToken sets the NextToken field's value.
  56409. func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput {
  56410. s.NextToken = &v
  56411. return s
  56412. }
  56413. // SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value.
  56414. func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput {
  56415. s.TrafficMirrorFilterIds = v
  56416. return s
  56417. }
  56418. type DescribeTrafficMirrorFiltersOutput struct {
  56419. _ struct{} `type:"structure"`
  56420. // The token to use to retrieve the next page of results. The value is null
  56421. // when there are no more results to return.
  56422. NextToken *string `locationName:"nextToken" type:"string"`
  56423. // Information about one or more Traffic Mirror filters.
  56424. TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"`
  56425. }
  56426. // String returns the string representation
  56427. func (s DescribeTrafficMirrorFiltersOutput) String() string {
  56428. return awsutil.Prettify(s)
  56429. }
  56430. // GoString returns the string representation
  56431. func (s DescribeTrafficMirrorFiltersOutput) GoString() string {
  56432. return s.String()
  56433. }
  56434. // SetNextToken sets the NextToken field's value.
  56435. func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput {
  56436. s.NextToken = &v
  56437. return s
  56438. }
  56439. // SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value.
  56440. func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput {
  56441. s.TrafficMirrorFilters = v
  56442. return s
  56443. }
  56444. type DescribeTrafficMirrorSessionsInput struct {
  56445. _ struct{} `type:"structure"`
  56446. // Checks whether you have the required permissions for the action, without
  56447. // actually making the request, and provides an error response. If you have
  56448. // the required permissions, the error response is DryRunOperation. Otherwise,
  56449. // it is UnauthorizedOperation.
  56450. DryRun *bool `type:"boolean"`
  56451. // One or more filters. The possible values are:
  56452. //
  56453. // * description: The Traffic Mirror session description.
  56454. //
  56455. // * network-interface-id: The ID of the Traffic Mirror session network interface.
  56456. //
  56457. // * owner-id: The ID of the account that owns the Traffic Mirror session.
  56458. //
  56459. // * packet-length: The assigned number of packets to mirror.
  56460. //
  56461. // * session-number: The assigned session number.
  56462. //
  56463. // * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
  56464. //
  56465. // * traffic-mirror-session-id: The ID of the Traffic Mirror session.
  56466. //
  56467. // * traffic-mirror-target-id: The ID of the Traffic Mirror target.
  56468. //
  56469. // * virtual-network-id: The virtual network ID of the Traffic Mirror session.
  56470. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56471. // The maximum number of results to return with a single call. To retrieve the
  56472. // remaining results, make another call with the returned nextToken value.
  56473. MaxResults *int64 `min:"5" type:"integer"`
  56474. // The token for the next page of results.
  56475. NextToken *string `type:"string"`
  56476. // The ID of the Traffic Mirror session.
  56477. TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"`
  56478. }
  56479. // String returns the string representation
  56480. func (s DescribeTrafficMirrorSessionsInput) String() string {
  56481. return awsutil.Prettify(s)
  56482. }
  56483. // GoString returns the string representation
  56484. func (s DescribeTrafficMirrorSessionsInput) GoString() string {
  56485. return s.String()
  56486. }
  56487. // Validate inspects the fields of the type to determine if they are valid.
  56488. func (s *DescribeTrafficMirrorSessionsInput) Validate() error {
  56489. invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"}
  56490. if s.MaxResults != nil && *s.MaxResults < 5 {
  56491. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56492. }
  56493. if invalidParams.Len() > 0 {
  56494. return invalidParams
  56495. }
  56496. return nil
  56497. }
  56498. // SetDryRun sets the DryRun field's value.
  56499. func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput {
  56500. s.DryRun = &v
  56501. return s
  56502. }
  56503. // SetFilters sets the Filters field's value.
  56504. func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput {
  56505. s.Filters = v
  56506. return s
  56507. }
  56508. // SetMaxResults sets the MaxResults field's value.
  56509. func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput {
  56510. s.MaxResults = &v
  56511. return s
  56512. }
  56513. // SetNextToken sets the NextToken field's value.
  56514. func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput {
  56515. s.NextToken = &v
  56516. return s
  56517. }
  56518. // SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value.
  56519. func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput {
  56520. s.TrafficMirrorSessionIds = v
  56521. return s
  56522. }
  56523. type DescribeTrafficMirrorSessionsOutput struct {
  56524. _ struct{} `type:"structure"`
  56525. // The token to use to retrieve the next page of results. The value is null
  56526. // when there are no more results to return.
  56527. NextToken *string `locationName:"nextToken" type:"string"`
  56528. // Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
  56529. // sessions are described. Alternatively, you can filter the results.
  56530. TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"`
  56531. }
  56532. // String returns the string representation
  56533. func (s DescribeTrafficMirrorSessionsOutput) String() string {
  56534. return awsutil.Prettify(s)
  56535. }
  56536. // GoString returns the string representation
  56537. func (s DescribeTrafficMirrorSessionsOutput) GoString() string {
  56538. return s.String()
  56539. }
  56540. // SetNextToken sets the NextToken field's value.
  56541. func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput {
  56542. s.NextToken = &v
  56543. return s
  56544. }
  56545. // SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value.
  56546. func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput {
  56547. s.TrafficMirrorSessions = v
  56548. return s
  56549. }
  56550. type DescribeTrafficMirrorTargetsInput struct {
  56551. _ struct{} `type:"structure"`
  56552. // Checks whether you have the required permissions for the action, without
  56553. // actually making the request, and provides an error response. If you have
  56554. // the required permissions, the error response is DryRunOperation. Otherwise,
  56555. // it is UnauthorizedOperation.
  56556. DryRun *bool `type:"boolean"`
  56557. // One or more filters. The possible values are:
  56558. //
  56559. // * description: The Traffic Mirror target description.
  56560. //
  56561. // * network-interface-id: The ID of the Traffic Mirror session network interface.
  56562. //
  56563. // * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network
  56564. // Load Balancer that is associated with the session.
  56565. //
  56566. // * owner-id: The ID of the account that owns the Traffic Mirror session.
  56567. //
  56568. // * traffic-mirror-target-id: The ID of the Traffic Mirror target.
  56569. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56570. // The maximum number of results to return with a single call. To retrieve the
  56571. // remaining results, make another call with the returned nextToken value.
  56572. MaxResults *int64 `min:"5" type:"integer"`
  56573. // The token for the next page of results.
  56574. NextToken *string `type:"string"`
  56575. // The ID of the Traffic Mirror targets.
  56576. TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"`
  56577. }
  56578. // String returns the string representation
  56579. func (s DescribeTrafficMirrorTargetsInput) String() string {
  56580. return awsutil.Prettify(s)
  56581. }
  56582. // GoString returns the string representation
  56583. func (s DescribeTrafficMirrorTargetsInput) GoString() string {
  56584. return s.String()
  56585. }
  56586. // Validate inspects the fields of the type to determine if they are valid.
  56587. func (s *DescribeTrafficMirrorTargetsInput) Validate() error {
  56588. invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"}
  56589. if s.MaxResults != nil && *s.MaxResults < 5 {
  56590. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56591. }
  56592. if invalidParams.Len() > 0 {
  56593. return invalidParams
  56594. }
  56595. return nil
  56596. }
  56597. // SetDryRun sets the DryRun field's value.
  56598. func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput {
  56599. s.DryRun = &v
  56600. return s
  56601. }
  56602. // SetFilters sets the Filters field's value.
  56603. func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput {
  56604. s.Filters = v
  56605. return s
  56606. }
  56607. // SetMaxResults sets the MaxResults field's value.
  56608. func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput {
  56609. s.MaxResults = &v
  56610. return s
  56611. }
  56612. // SetNextToken sets the NextToken field's value.
  56613. func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput {
  56614. s.NextToken = &v
  56615. return s
  56616. }
  56617. // SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value.
  56618. func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput {
  56619. s.TrafficMirrorTargetIds = v
  56620. return s
  56621. }
  56622. type DescribeTrafficMirrorTargetsOutput struct {
  56623. _ struct{} `type:"structure"`
  56624. // The token to use to retrieve the next page of results. The value is null
  56625. // when there are no more results to return.
  56626. NextToken *string `locationName:"nextToken" type:"string"`
  56627. // Information about one or more Traffic Mirror targets.
  56628. TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"`
  56629. }
  56630. // String returns the string representation
  56631. func (s DescribeTrafficMirrorTargetsOutput) String() string {
  56632. return awsutil.Prettify(s)
  56633. }
  56634. // GoString returns the string representation
  56635. func (s DescribeTrafficMirrorTargetsOutput) GoString() string {
  56636. return s.String()
  56637. }
  56638. // SetNextToken sets the NextToken field's value.
  56639. func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput {
  56640. s.NextToken = &v
  56641. return s
  56642. }
  56643. // SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value.
  56644. func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput {
  56645. s.TrafficMirrorTargets = v
  56646. return s
  56647. }
  56648. type DescribeTransitGatewayAttachmentsInput struct {
  56649. _ struct{} `type:"structure"`
  56650. // Checks whether you have the required permissions for the action, without
  56651. // actually making the request, and provides an error response. If you have
  56652. // the required permissions, the error response is DryRunOperation. Otherwise,
  56653. // it is UnauthorizedOperation.
  56654. DryRun *bool `type:"boolean"`
  56655. // One or more filters. The possible values are:
  56656. //
  56657. // * association.state - The state of the association (associating | associated
  56658. // | disassociating).
  56659. //
  56660. // * association.transit-gateway-route-table-id - The ID of the route table
  56661. // for the transit gateway.
  56662. //
  56663. // * resource-id - The ID of the resource.
  56664. //
  56665. // * resource-owner-id - The ID of the AWS account that owns the resource.
  56666. //
  56667. // * resource-type - The resource type (vpc | vpn).
  56668. //
  56669. // * state - The state of the attachment (available | deleted | deleting
  56670. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  56671. // | rejecting).
  56672. //
  56673. // * transit-gateway-attachment-id - The ID of the attachment.
  56674. //
  56675. // * transit-gateway-id - The ID of the transit gateway.
  56676. //
  56677. // * transit-gateway-owner-id - The ID of the AWS account that owns the transit
  56678. // gateway.
  56679. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56680. // The maximum number of results to return with a single call. To retrieve the
  56681. // remaining results, make another call with the returned nextToken value.
  56682. MaxResults *int64 `min:"5" type:"integer"`
  56683. // The token for the next page of results.
  56684. NextToken *string `type:"string"`
  56685. // The IDs of the attachments.
  56686. TransitGatewayAttachmentIds []*string `type:"list"`
  56687. }
  56688. // String returns the string representation
  56689. func (s DescribeTransitGatewayAttachmentsInput) String() string {
  56690. return awsutil.Prettify(s)
  56691. }
  56692. // GoString returns the string representation
  56693. func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
  56694. return s.String()
  56695. }
  56696. // Validate inspects the fields of the type to determine if they are valid.
  56697. func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
  56698. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
  56699. if s.MaxResults != nil && *s.MaxResults < 5 {
  56700. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56701. }
  56702. if invalidParams.Len() > 0 {
  56703. return invalidParams
  56704. }
  56705. return nil
  56706. }
  56707. // SetDryRun sets the DryRun field's value.
  56708. func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
  56709. s.DryRun = &v
  56710. return s
  56711. }
  56712. // SetFilters sets the Filters field's value.
  56713. func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
  56714. s.Filters = v
  56715. return s
  56716. }
  56717. // SetMaxResults sets the MaxResults field's value.
  56718. func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
  56719. s.MaxResults = &v
  56720. return s
  56721. }
  56722. // SetNextToken sets the NextToken field's value.
  56723. func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
  56724. s.NextToken = &v
  56725. return s
  56726. }
  56727. // SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
  56728. func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
  56729. s.TransitGatewayAttachmentIds = v
  56730. return s
  56731. }
  56732. type DescribeTransitGatewayAttachmentsOutput struct {
  56733. _ struct{} `type:"structure"`
  56734. // The token to use to retrieve the next page of results. This value is null
  56735. // when there are no more results to return.
  56736. NextToken *string `locationName:"nextToken" type:"string"`
  56737. // Information about the attachments.
  56738. TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
  56739. }
  56740. // String returns the string representation
  56741. func (s DescribeTransitGatewayAttachmentsOutput) String() string {
  56742. return awsutil.Prettify(s)
  56743. }
  56744. // GoString returns the string representation
  56745. func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
  56746. return s.String()
  56747. }
  56748. // SetNextToken sets the NextToken field's value.
  56749. func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
  56750. s.NextToken = &v
  56751. return s
  56752. }
  56753. // SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
  56754. func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
  56755. s.TransitGatewayAttachments = v
  56756. return s
  56757. }
  56758. type DescribeTransitGatewayMulticastDomainsInput struct {
  56759. _ struct{} `type:"structure"`
  56760. // Checks whether you have the required permissions for the action, without
  56761. // actually making the request, and provides an error response. If you have
  56762. // the required permissions, the error response is DryRunOperation. Otherwise,
  56763. // it is UnauthorizedOperation.
  56764. DryRun *bool `type:"boolean"`
  56765. // One or more filters. The possible values are:
  56766. //
  56767. // * state - The state of the transit gateway multicast domain. Valid values
  56768. // are pending | available | deleting | deleted.
  56769. //
  56770. // * transit-gateway-id - The ID of the transit gateway.
  56771. //
  56772. // * transit-gateway-multicast-domain-id - The ID of the transit gateway
  56773. // multicast domain.
  56774. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56775. // The maximum number of results to return with a single call. To retrieve the
  56776. // remaining results, make another call with the returned nextToken value.
  56777. MaxResults *int64 `min:"5" type:"integer"`
  56778. // The token for the next page of results.
  56779. NextToken *string `type:"string"`
  56780. // The ID of the transit gateway multicast domain.
  56781. TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
  56782. }
  56783. // String returns the string representation
  56784. func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
  56785. return awsutil.Prettify(s)
  56786. }
  56787. // GoString returns the string representation
  56788. func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
  56789. return s.String()
  56790. }
  56791. // Validate inspects the fields of the type to determine if they are valid.
  56792. func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
  56793. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
  56794. if s.MaxResults != nil && *s.MaxResults < 5 {
  56795. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56796. }
  56797. if invalidParams.Len() > 0 {
  56798. return invalidParams
  56799. }
  56800. return nil
  56801. }
  56802. // SetDryRun sets the DryRun field's value.
  56803. func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
  56804. s.DryRun = &v
  56805. return s
  56806. }
  56807. // SetFilters sets the Filters field's value.
  56808. func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
  56809. s.Filters = v
  56810. return s
  56811. }
  56812. // SetMaxResults sets the MaxResults field's value.
  56813. func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
  56814. s.MaxResults = &v
  56815. return s
  56816. }
  56817. // SetNextToken sets the NextToken field's value.
  56818. func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
  56819. s.NextToken = &v
  56820. return s
  56821. }
  56822. // SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
  56823. func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
  56824. s.TransitGatewayMulticastDomainIds = v
  56825. return s
  56826. }
  56827. type DescribeTransitGatewayMulticastDomainsOutput struct {
  56828. _ struct{} `type:"structure"`
  56829. // The token to use to retrieve the next page of results. This value is null
  56830. // when there are no more results to return.
  56831. NextToken *string `locationName:"nextToken" type:"string"`
  56832. // Information about the transit gateway multicast domains.
  56833. TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
  56834. }
  56835. // String returns the string representation
  56836. func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
  56837. return awsutil.Prettify(s)
  56838. }
  56839. // GoString returns the string representation
  56840. func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
  56841. return s.String()
  56842. }
  56843. // SetNextToken sets the NextToken field's value.
  56844. func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
  56845. s.NextToken = &v
  56846. return s
  56847. }
  56848. // SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
  56849. func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
  56850. s.TransitGatewayMulticastDomains = v
  56851. return s
  56852. }
  56853. type DescribeTransitGatewayPeeringAttachmentsInput struct {
  56854. _ struct{} `type:"structure"`
  56855. // Checks whether you have the required permissions for the action, without
  56856. // actually making the request, and provides an error response. If you have
  56857. // the required permissions, the error response is DryRunOperation. Otherwise,
  56858. // it is UnauthorizedOperation.
  56859. DryRun *bool `type:"boolean"`
  56860. // One or more filters.
  56861. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56862. // The maximum number of results to return with a single call. To retrieve the
  56863. // remaining results, make another call with the returned nextToken value.
  56864. MaxResults *int64 `min:"5" type:"integer"`
  56865. // The token for the next page of results.
  56866. NextToken *string `type:"string"`
  56867. // One or more IDs of the transit gateway peering attachments.
  56868. TransitGatewayAttachmentIds []*string `type:"list"`
  56869. }
  56870. // String returns the string representation
  56871. func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
  56872. return awsutil.Prettify(s)
  56873. }
  56874. // GoString returns the string representation
  56875. func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
  56876. return s.String()
  56877. }
  56878. // Validate inspects the fields of the type to determine if they are valid.
  56879. func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
  56880. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
  56881. if s.MaxResults != nil && *s.MaxResults < 5 {
  56882. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56883. }
  56884. if invalidParams.Len() > 0 {
  56885. return invalidParams
  56886. }
  56887. return nil
  56888. }
  56889. // SetDryRun sets the DryRun field's value.
  56890. func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
  56891. s.DryRun = &v
  56892. return s
  56893. }
  56894. // SetFilters sets the Filters field's value.
  56895. func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
  56896. s.Filters = v
  56897. return s
  56898. }
  56899. // SetMaxResults sets the MaxResults field's value.
  56900. func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
  56901. s.MaxResults = &v
  56902. return s
  56903. }
  56904. // SetNextToken sets the NextToken field's value.
  56905. func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
  56906. s.NextToken = &v
  56907. return s
  56908. }
  56909. // SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
  56910. func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
  56911. s.TransitGatewayAttachmentIds = v
  56912. return s
  56913. }
  56914. type DescribeTransitGatewayPeeringAttachmentsOutput struct {
  56915. _ struct{} `type:"structure"`
  56916. // The token to use to retrieve the next page of results. This value is null
  56917. // when there are no more results to return.
  56918. NextToken *string `locationName:"nextToken" type:"string"`
  56919. // The transit gateway peering attachments.
  56920. TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
  56921. }
  56922. // String returns the string representation
  56923. func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
  56924. return awsutil.Prettify(s)
  56925. }
  56926. // GoString returns the string representation
  56927. func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
  56928. return s.String()
  56929. }
  56930. // SetNextToken sets the NextToken field's value.
  56931. func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
  56932. s.NextToken = &v
  56933. return s
  56934. }
  56935. // SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
  56936. func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
  56937. s.TransitGatewayPeeringAttachments = v
  56938. return s
  56939. }
  56940. type DescribeTransitGatewayRouteTablesInput struct {
  56941. _ struct{} `type:"structure"`
  56942. // Checks whether you have the required permissions for the action, without
  56943. // actually making the request, and provides an error response. If you have
  56944. // the required permissions, the error response is DryRunOperation. Otherwise,
  56945. // it is UnauthorizedOperation.
  56946. DryRun *bool `type:"boolean"`
  56947. // One or more filters. The possible values are:
  56948. //
  56949. // * default-association-route-table - Indicates whether this is the default
  56950. // association route table for the transit gateway (true | false).
  56951. //
  56952. // * default-propagation-route-table - Indicates whether this is the default
  56953. // propagation route table for the transit gateway (true | false).
  56954. //
  56955. // * state - The state of the attachment (available | deleted | deleting
  56956. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  56957. // | rejecting).
  56958. //
  56959. // * transit-gateway-id - The ID of the transit gateway.
  56960. //
  56961. // * transit-gateway-route-table-id - The ID of the transit gateway route
  56962. // table.
  56963. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  56964. // The maximum number of results to return with a single call. To retrieve the
  56965. // remaining results, make another call with the returned nextToken value.
  56966. MaxResults *int64 `min:"5" type:"integer"`
  56967. // The token for the next page of results.
  56968. NextToken *string `type:"string"`
  56969. // The IDs of the transit gateway route tables.
  56970. TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
  56971. }
  56972. // String returns the string representation
  56973. func (s DescribeTransitGatewayRouteTablesInput) String() string {
  56974. return awsutil.Prettify(s)
  56975. }
  56976. // GoString returns the string representation
  56977. func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
  56978. return s.String()
  56979. }
  56980. // Validate inspects the fields of the type to determine if they are valid.
  56981. func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
  56982. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
  56983. if s.MaxResults != nil && *s.MaxResults < 5 {
  56984. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  56985. }
  56986. if invalidParams.Len() > 0 {
  56987. return invalidParams
  56988. }
  56989. return nil
  56990. }
  56991. // SetDryRun sets the DryRun field's value.
  56992. func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
  56993. s.DryRun = &v
  56994. return s
  56995. }
  56996. // SetFilters sets the Filters field's value.
  56997. func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
  56998. s.Filters = v
  56999. return s
  57000. }
  57001. // SetMaxResults sets the MaxResults field's value.
  57002. func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
  57003. s.MaxResults = &v
  57004. return s
  57005. }
  57006. // SetNextToken sets the NextToken field's value.
  57007. func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
  57008. s.NextToken = &v
  57009. return s
  57010. }
  57011. // SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
  57012. func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
  57013. s.TransitGatewayRouteTableIds = v
  57014. return s
  57015. }
  57016. type DescribeTransitGatewayRouteTablesOutput struct {
  57017. _ struct{} `type:"structure"`
  57018. // The token to use to retrieve the next page of results. This value is null
  57019. // when there are no more results to return.
  57020. NextToken *string `locationName:"nextToken" type:"string"`
  57021. // Information about the transit gateway route tables.
  57022. TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
  57023. }
  57024. // String returns the string representation
  57025. func (s DescribeTransitGatewayRouteTablesOutput) String() string {
  57026. return awsutil.Prettify(s)
  57027. }
  57028. // GoString returns the string representation
  57029. func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
  57030. return s.String()
  57031. }
  57032. // SetNextToken sets the NextToken field's value.
  57033. func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
  57034. s.NextToken = &v
  57035. return s
  57036. }
  57037. // SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
  57038. func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
  57039. s.TransitGatewayRouteTables = v
  57040. return s
  57041. }
  57042. type DescribeTransitGatewayVpcAttachmentsInput struct {
  57043. _ struct{} `type:"structure"`
  57044. // Checks whether you have the required permissions for the action, without
  57045. // actually making the request, and provides an error response. If you have
  57046. // the required permissions, the error response is DryRunOperation. Otherwise,
  57047. // it is UnauthorizedOperation.
  57048. DryRun *bool `type:"boolean"`
  57049. // One or more filters. The possible values are:
  57050. //
  57051. // * state - The state of the attachment (available | deleted | deleting
  57052. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  57053. // | rejecting).
  57054. //
  57055. // * transit-gateway-attachment-id - The ID of the attachment.
  57056. //
  57057. // * transit-gateway-id - The ID of the transit gateway.
  57058. //
  57059. // * vpc-id - The ID of the VPC.
  57060. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57061. // The maximum number of results to return with a single call. To retrieve the
  57062. // remaining results, make another call with the returned nextToken value.
  57063. MaxResults *int64 `min:"5" type:"integer"`
  57064. // The token for the next page of results.
  57065. NextToken *string `type:"string"`
  57066. // The IDs of the attachments.
  57067. TransitGatewayAttachmentIds []*string `type:"list"`
  57068. }
  57069. // String returns the string representation
  57070. func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
  57071. return awsutil.Prettify(s)
  57072. }
  57073. // GoString returns the string representation
  57074. func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
  57075. return s.String()
  57076. }
  57077. // Validate inspects the fields of the type to determine if they are valid.
  57078. func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
  57079. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
  57080. if s.MaxResults != nil && *s.MaxResults < 5 {
  57081. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  57082. }
  57083. if invalidParams.Len() > 0 {
  57084. return invalidParams
  57085. }
  57086. return nil
  57087. }
  57088. // SetDryRun sets the DryRun field's value.
  57089. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
  57090. s.DryRun = &v
  57091. return s
  57092. }
  57093. // SetFilters sets the Filters field's value.
  57094. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
  57095. s.Filters = v
  57096. return s
  57097. }
  57098. // SetMaxResults sets the MaxResults field's value.
  57099. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
  57100. s.MaxResults = &v
  57101. return s
  57102. }
  57103. // SetNextToken sets the NextToken field's value.
  57104. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
  57105. s.NextToken = &v
  57106. return s
  57107. }
  57108. // SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
  57109. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
  57110. s.TransitGatewayAttachmentIds = v
  57111. return s
  57112. }
  57113. type DescribeTransitGatewayVpcAttachmentsOutput struct {
  57114. _ struct{} `type:"structure"`
  57115. // The token to use to retrieve the next page of results. This value is null
  57116. // when there are no more results to return.
  57117. NextToken *string `locationName:"nextToken" type:"string"`
  57118. // Information about the VPC attachments.
  57119. TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
  57120. }
  57121. // String returns the string representation
  57122. func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
  57123. return awsutil.Prettify(s)
  57124. }
  57125. // GoString returns the string representation
  57126. func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
  57127. return s.String()
  57128. }
  57129. // SetNextToken sets the NextToken field's value.
  57130. func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
  57131. s.NextToken = &v
  57132. return s
  57133. }
  57134. // SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
  57135. func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
  57136. s.TransitGatewayVpcAttachments = v
  57137. return s
  57138. }
  57139. type DescribeTransitGatewaysInput struct {
  57140. _ struct{} `type:"structure"`
  57141. // Checks whether you have the required permissions for the action, without
  57142. // actually making the request, and provides an error response. If you have
  57143. // the required permissions, the error response is DryRunOperation. Otherwise,
  57144. // it is UnauthorizedOperation.
  57145. DryRun *bool `type:"boolean"`
  57146. // One or more filters. The possible values are:
  57147. //
  57148. // * options.propagation-default-route-table-id - The ID of the default propagation
  57149. // route table.
  57150. //
  57151. // * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
  57152. // session.
  57153. //
  57154. // * options.association-default-route-table-id - The ID of the default association
  57155. // route table.
  57156. //
  57157. // * options.auto-accept-shared-attachments - Indicates whether there is
  57158. // automatic acceptance of attachment requests (enable | disable).
  57159. //
  57160. // * options.default-route-table-association - Indicates whether resource
  57161. // attachments are automatically associated with the default association
  57162. // route table (enable | disable).
  57163. //
  57164. // * options.default-route-table-propagation - Indicates whether resource
  57165. // attachments automatically propagate routes to the default propagation
  57166. // route table (enable | disable).
  57167. //
  57168. // * options.dns-support - Indicates whether DNS support is enabled (enable
  57169. // | disable).
  57170. //
  57171. // * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
  57172. // support is enabled (enable | disable).
  57173. //
  57174. // * owner-id - The ID of the AWS account that owns the transit gateway.
  57175. //
  57176. // * state - The state of the attachment (available | deleted | deleting
  57177. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  57178. // | rejecting).
  57179. //
  57180. // * transit-gateway-id - The ID of the transit gateway.
  57181. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57182. // The maximum number of results to return with a single call. To retrieve the
  57183. // remaining results, make another call with the returned nextToken value.
  57184. MaxResults *int64 `min:"5" type:"integer"`
  57185. // The token for the next page of results.
  57186. NextToken *string `type:"string"`
  57187. // The IDs of the transit gateways.
  57188. TransitGatewayIds []*string `locationNameList:"item" type:"list"`
  57189. }
  57190. // String returns the string representation
  57191. func (s DescribeTransitGatewaysInput) String() string {
  57192. return awsutil.Prettify(s)
  57193. }
  57194. // GoString returns the string representation
  57195. func (s DescribeTransitGatewaysInput) GoString() string {
  57196. return s.String()
  57197. }
  57198. // Validate inspects the fields of the type to determine if they are valid.
  57199. func (s *DescribeTransitGatewaysInput) Validate() error {
  57200. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
  57201. if s.MaxResults != nil && *s.MaxResults < 5 {
  57202. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  57203. }
  57204. if invalidParams.Len() > 0 {
  57205. return invalidParams
  57206. }
  57207. return nil
  57208. }
  57209. // SetDryRun sets the DryRun field's value.
  57210. func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
  57211. s.DryRun = &v
  57212. return s
  57213. }
  57214. // SetFilters sets the Filters field's value.
  57215. func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
  57216. s.Filters = v
  57217. return s
  57218. }
  57219. // SetMaxResults sets the MaxResults field's value.
  57220. func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
  57221. s.MaxResults = &v
  57222. return s
  57223. }
  57224. // SetNextToken sets the NextToken field's value.
  57225. func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
  57226. s.NextToken = &v
  57227. return s
  57228. }
  57229. // SetTransitGatewayIds sets the TransitGatewayIds field's value.
  57230. func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
  57231. s.TransitGatewayIds = v
  57232. return s
  57233. }
  57234. type DescribeTransitGatewaysOutput struct {
  57235. _ struct{} `type:"structure"`
  57236. // The token to use to retrieve the next page of results. This value is null
  57237. // when there are no more results to return.
  57238. NextToken *string `locationName:"nextToken" type:"string"`
  57239. // Information about the transit gateways.
  57240. TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
  57241. }
  57242. // String returns the string representation
  57243. func (s DescribeTransitGatewaysOutput) String() string {
  57244. return awsutil.Prettify(s)
  57245. }
  57246. // GoString returns the string representation
  57247. func (s DescribeTransitGatewaysOutput) GoString() string {
  57248. return s.String()
  57249. }
  57250. // SetNextToken sets the NextToken field's value.
  57251. func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
  57252. s.NextToken = &v
  57253. return s
  57254. }
  57255. // SetTransitGateways sets the TransitGateways field's value.
  57256. func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
  57257. s.TransitGateways = v
  57258. return s
  57259. }
  57260. type DescribeVolumeAttributeInput struct {
  57261. _ struct{} `type:"structure"`
  57262. // The attribute of the volume. This parameter is required.
  57263. //
  57264. // Attribute is a required field
  57265. Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
  57266. // Checks whether you have the required permissions for the action, without
  57267. // actually making the request, and provides an error response. If you have
  57268. // the required permissions, the error response is DryRunOperation. Otherwise,
  57269. // it is UnauthorizedOperation.
  57270. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57271. // The ID of the volume.
  57272. //
  57273. // VolumeId is a required field
  57274. VolumeId *string `type:"string" required:"true"`
  57275. }
  57276. // String returns the string representation
  57277. func (s DescribeVolumeAttributeInput) String() string {
  57278. return awsutil.Prettify(s)
  57279. }
  57280. // GoString returns the string representation
  57281. func (s DescribeVolumeAttributeInput) GoString() string {
  57282. return s.String()
  57283. }
  57284. // Validate inspects the fields of the type to determine if they are valid.
  57285. func (s *DescribeVolumeAttributeInput) Validate() error {
  57286. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  57287. if s.Attribute == nil {
  57288. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  57289. }
  57290. if s.VolumeId == nil {
  57291. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  57292. }
  57293. if invalidParams.Len() > 0 {
  57294. return invalidParams
  57295. }
  57296. return nil
  57297. }
  57298. // SetAttribute sets the Attribute field's value.
  57299. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  57300. s.Attribute = &v
  57301. return s
  57302. }
  57303. // SetDryRun sets the DryRun field's value.
  57304. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  57305. s.DryRun = &v
  57306. return s
  57307. }
  57308. // SetVolumeId sets the VolumeId field's value.
  57309. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  57310. s.VolumeId = &v
  57311. return s
  57312. }
  57313. type DescribeVolumeAttributeOutput struct {
  57314. _ struct{} `type:"structure"`
  57315. // The state of autoEnableIO attribute.
  57316. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  57317. // A list of product codes.
  57318. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  57319. // The ID of the volume.
  57320. VolumeId *string `locationName:"volumeId" type:"string"`
  57321. }
  57322. // String returns the string representation
  57323. func (s DescribeVolumeAttributeOutput) String() string {
  57324. return awsutil.Prettify(s)
  57325. }
  57326. // GoString returns the string representation
  57327. func (s DescribeVolumeAttributeOutput) GoString() string {
  57328. return s.String()
  57329. }
  57330. // SetAutoEnableIO sets the AutoEnableIO field's value.
  57331. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  57332. s.AutoEnableIO = v
  57333. return s
  57334. }
  57335. // SetProductCodes sets the ProductCodes field's value.
  57336. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  57337. s.ProductCodes = v
  57338. return s
  57339. }
  57340. // SetVolumeId sets the VolumeId field's value.
  57341. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  57342. s.VolumeId = &v
  57343. return s
  57344. }
  57345. type DescribeVolumeStatusInput struct {
  57346. _ struct{} `type:"structure"`
  57347. // Checks whether you have the required permissions for the action, without
  57348. // actually making the request, and provides an error response. If you have
  57349. // the required permissions, the error response is DryRunOperation. Otherwise,
  57350. // it is UnauthorizedOperation.
  57351. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57352. // The filters.
  57353. //
  57354. // * action.code - The action code for the event (for example, enable-volume-io).
  57355. //
  57356. // * action.description - A description of the action.
  57357. //
  57358. // * action.event-id - The event ID associated with the action.
  57359. //
  57360. // * availability-zone - The Availability Zone of the instance.
  57361. //
  57362. // * event.description - A description of the event.
  57363. //
  57364. // * event.event-id - The event ID.
  57365. //
  57366. // * event.event-type - The event type (for io-enabled: passed | failed;
  57367. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  57368. // | io-performance:stalled).
  57369. //
  57370. // * event.not-after - The latest end time for the event.
  57371. //
  57372. // * event.not-before - The earliest start time for the event.
  57373. //
  57374. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  57375. // | io-performance).
  57376. //
  57377. // * volume-status.details-status - The status of volume-status.details-name
  57378. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  57379. // | severely-degraded | stalled).
  57380. //
  57381. // * volume-status.status - The status of the volume (ok | impaired | warning
  57382. // | insufficient-data).
  57383. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57384. // The maximum number of volume results returned by DescribeVolumeStatus in
  57385. // paginated output. When this parameter is used, the request only returns MaxResults
  57386. // results in a single page along with a NextToken response element. The remaining
  57387. // results of the initial request can be seen by sending another request with
  57388. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  57389. // is given a value larger than 1000, only 1000 results are returned. If this
  57390. // parameter is not used, then DescribeVolumeStatus returns all results. You
  57391. // cannot specify this parameter and the volume IDs parameter in the same request.
  57392. MaxResults *int64 `type:"integer"`
  57393. // The NextToken value to include in a future DescribeVolumeStatus request.
  57394. // When the results of the request exceed MaxResults, this value can be used
  57395. // to retrieve the next page of results. This value is null when there are no
  57396. // more results to return.
  57397. NextToken *string `type:"string"`
  57398. // The IDs of the volumes.
  57399. //
  57400. // Default: Describes all your volumes.
  57401. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  57402. }
  57403. // String returns the string representation
  57404. func (s DescribeVolumeStatusInput) String() string {
  57405. return awsutil.Prettify(s)
  57406. }
  57407. // GoString returns the string representation
  57408. func (s DescribeVolumeStatusInput) GoString() string {
  57409. return s.String()
  57410. }
  57411. // SetDryRun sets the DryRun field's value.
  57412. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  57413. s.DryRun = &v
  57414. return s
  57415. }
  57416. // SetFilters sets the Filters field's value.
  57417. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  57418. s.Filters = v
  57419. return s
  57420. }
  57421. // SetMaxResults sets the MaxResults field's value.
  57422. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  57423. s.MaxResults = &v
  57424. return s
  57425. }
  57426. // SetNextToken sets the NextToken field's value.
  57427. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  57428. s.NextToken = &v
  57429. return s
  57430. }
  57431. // SetVolumeIds sets the VolumeIds field's value.
  57432. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  57433. s.VolumeIds = v
  57434. return s
  57435. }
  57436. type DescribeVolumeStatusOutput struct {
  57437. _ struct{} `type:"structure"`
  57438. // The token to use to retrieve the next page of results. This value is null
  57439. // when there are no more results to return.
  57440. NextToken *string `locationName:"nextToken" type:"string"`
  57441. // Information about the status of the volumes.
  57442. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  57443. }
  57444. // String returns the string representation
  57445. func (s DescribeVolumeStatusOutput) String() string {
  57446. return awsutil.Prettify(s)
  57447. }
  57448. // GoString returns the string representation
  57449. func (s DescribeVolumeStatusOutput) GoString() string {
  57450. return s.String()
  57451. }
  57452. // SetNextToken sets the NextToken field's value.
  57453. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  57454. s.NextToken = &v
  57455. return s
  57456. }
  57457. // SetVolumeStatuses sets the VolumeStatuses field's value.
  57458. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  57459. s.VolumeStatuses = v
  57460. return s
  57461. }
  57462. type DescribeVolumesInput struct {
  57463. _ struct{} `type:"structure"`
  57464. // Checks whether you have the required permissions for the action, without
  57465. // actually making the request, and provides an error response. If you have
  57466. // the required permissions, the error response is DryRunOperation. Otherwise,
  57467. // it is UnauthorizedOperation.
  57468. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57469. // The filters.
  57470. //
  57471. // * attachment.attach-time - The time stamp when the attachment initiated.
  57472. //
  57473. // * attachment.delete-on-termination - Whether the volume is deleted on
  57474. // instance termination.
  57475. //
  57476. // * attachment.device - The device name specified in the block device mapping
  57477. // (for example, /dev/sda1).
  57478. //
  57479. // * attachment.instance-id - The ID of the instance the volume is attached
  57480. // to.
  57481. //
  57482. // * attachment.status - The attachment state (attaching | attached | detaching).
  57483. //
  57484. // * availability-zone - The Availability Zone in which the volume was created.
  57485. //
  57486. // * create-time - The time stamp when the volume was created.
  57487. //
  57488. // * encrypted - Indicates whether the volume is encrypted (true | false)
  57489. //
  57490. // * size - The size of the volume, in GiB.
  57491. //
  57492. // * snapshot-id - The snapshot from which the volume was created.
  57493. //
  57494. // * status - The status of the volume (creating | available | in-use | deleting
  57495. // | deleted | error).
  57496. //
  57497. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  57498. // Use the tag key in the filter name and the tag value as the filter value.
  57499. // For example, to find all resources that have a tag with the key Owner
  57500. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  57501. // the filter value.
  57502. //
  57503. // * tag-key - The key of a tag assigned to the resource. Use this filter
  57504. // to find all resources assigned a tag with a specific key, regardless of
  57505. // the tag value.
  57506. //
  57507. // * volume-id - The volume ID.
  57508. //
  57509. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  57510. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  57511. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  57512. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57513. // The maximum number of volume results returned by DescribeVolumes in paginated
  57514. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  57515. // results in a single page along with a NextToken response element. The remaining
  57516. // results of the initial request can be seen by sending another DescribeVolumes
  57517. // request with the returned NextToken value. This value can be between 5 and
  57518. // 500; if MaxResults is given a value larger than 500, only 500 results are
  57519. // returned. If this parameter is not used, then DescribeVolumes returns all
  57520. // results. You cannot specify this parameter and the volume IDs parameter in
  57521. // the same request.
  57522. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  57523. // The NextToken value returned from a previous paginated DescribeVolumes request
  57524. // where MaxResults was used and the results exceeded the value of that parameter.
  57525. // Pagination continues from the end of the previous results that returned the
  57526. // NextToken value. This value is null when there are no more results to return.
  57527. NextToken *string `locationName:"nextToken" type:"string"`
  57528. // The volume IDs.
  57529. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  57530. }
  57531. // String returns the string representation
  57532. func (s DescribeVolumesInput) String() string {
  57533. return awsutil.Prettify(s)
  57534. }
  57535. // GoString returns the string representation
  57536. func (s DescribeVolumesInput) GoString() string {
  57537. return s.String()
  57538. }
  57539. // SetDryRun sets the DryRun field's value.
  57540. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  57541. s.DryRun = &v
  57542. return s
  57543. }
  57544. // SetFilters sets the Filters field's value.
  57545. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  57546. s.Filters = v
  57547. return s
  57548. }
  57549. // SetMaxResults sets the MaxResults field's value.
  57550. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  57551. s.MaxResults = &v
  57552. return s
  57553. }
  57554. // SetNextToken sets the NextToken field's value.
  57555. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  57556. s.NextToken = &v
  57557. return s
  57558. }
  57559. // SetVolumeIds sets the VolumeIds field's value.
  57560. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  57561. s.VolumeIds = v
  57562. return s
  57563. }
  57564. type DescribeVolumesModificationsInput struct {
  57565. _ struct{} `type:"structure"`
  57566. // Checks whether you have the required permissions for the action, without
  57567. // actually making the request, and provides an error response. If you have
  57568. // the required permissions, the error response is DryRunOperation. Otherwise,
  57569. // it is UnauthorizedOperation.
  57570. DryRun *bool `type:"boolean"`
  57571. // The filters. Supported filters: volume-id, modification-state, target-size,
  57572. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  57573. // start-time.
  57574. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57575. // The maximum number of results (up to a limit of 500) to be returned in a
  57576. // paginated request.
  57577. MaxResults *int64 `type:"integer"`
  57578. // The nextToken value returned by a previous paginated request.
  57579. NextToken *string `type:"string"`
  57580. // The IDs of the volumes for which in-progress modifications will be described.
  57581. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  57582. }
  57583. // String returns the string representation
  57584. func (s DescribeVolumesModificationsInput) String() string {
  57585. return awsutil.Prettify(s)
  57586. }
  57587. // GoString returns the string representation
  57588. func (s DescribeVolumesModificationsInput) GoString() string {
  57589. return s.String()
  57590. }
  57591. // SetDryRun sets the DryRun field's value.
  57592. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  57593. s.DryRun = &v
  57594. return s
  57595. }
  57596. // SetFilters sets the Filters field's value.
  57597. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  57598. s.Filters = v
  57599. return s
  57600. }
  57601. // SetMaxResults sets the MaxResults field's value.
  57602. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  57603. s.MaxResults = &v
  57604. return s
  57605. }
  57606. // SetNextToken sets the NextToken field's value.
  57607. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  57608. s.NextToken = &v
  57609. return s
  57610. }
  57611. // SetVolumeIds sets the VolumeIds field's value.
  57612. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  57613. s.VolumeIds = v
  57614. return s
  57615. }
  57616. type DescribeVolumesModificationsOutput struct {
  57617. _ struct{} `type:"structure"`
  57618. // Token for pagination, null if there are no more results
  57619. NextToken *string `locationName:"nextToken" type:"string"`
  57620. // Information about the volume modifications.
  57621. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  57622. }
  57623. // String returns the string representation
  57624. func (s DescribeVolumesModificationsOutput) String() string {
  57625. return awsutil.Prettify(s)
  57626. }
  57627. // GoString returns the string representation
  57628. func (s DescribeVolumesModificationsOutput) GoString() string {
  57629. return s.String()
  57630. }
  57631. // SetNextToken sets the NextToken field's value.
  57632. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  57633. s.NextToken = &v
  57634. return s
  57635. }
  57636. // SetVolumesModifications sets the VolumesModifications field's value.
  57637. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  57638. s.VolumesModifications = v
  57639. return s
  57640. }
  57641. type DescribeVolumesOutput struct {
  57642. _ struct{} `type:"structure"`
  57643. // The NextToken value to include in a future DescribeVolumes request. When
  57644. // the results of a DescribeVolumes request exceed MaxResults, this value can
  57645. // be used to retrieve the next page of results. This value is null when there
  57646. // are no more results to return.
  57647. NextToken *string `locationName:"nextToken" type:"string"`
  57648. // Information about the volumes.
  57649. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  57650. }
  57651. // String returns the string representation
  57652. func (s DescribeVolumesOutput) String() string {
  57653. return awsutil.Prettify(s)
  57654. }
  57655. // GoString returns the string representation
  57656. func (s DescribeVolumesOutput) GoString() string {
  57657. return s.String()
  57658. }
  57659. // SetNextToken sets the NextToken field's value.
  57660. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  57661. s.NextToken = &v
  57662. return s
  57663. }
  57664. // SetVolumes sets the Volumes field's value.
  57665. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  57666. s.Volumes = v
  57667. return s
  57668. }
  57669. type DescribeVpcAttributeInput struct {
  57670. _ struct{} `type:"structure"`
  57671. // The VPC attribute.
  57672. //
  57673. // Attribute is a required field
  57674. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  57675. // Checks whether you have the required permissions for the action, without
  57676. // actually making the request, and provides an error response. If you have
  57677. // the required permissions, the error response is DryRunOperation. Otherwise,
  57678. // it is UnauthorizedOperation.
  57679. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57680. // The ID of the VPC.
  57681. //
  57682. // VpcId is a required field
  57683. VpcId *string `type:"string" required:"true"`
  57684. }
  57685. // String returns the string representation
  57686. func (s DescribeVpcAttributeInput) String() string {
  57687. return awsutil.Prettify(s)
  57688. }
  57689. // GoString returns the string representation
  57690. func (s DescribeVpcAttributeInput) GoString() string {
  57691. return s.String()
  57692. }
  57693. // Validate inspects the fields of the type to determine if they are valid.
  57694. func (s *DescribeVpcAttributeInput) Validate() error {
  57695. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  57696. if s.Attribute == nil {
  57697. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  57698. }
  57699. if s.VpcId == nil {
  57700. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  57701. }
  57702. if invalidParams.Len() > 0 {
  57703. return invalidParams
  57704. }
  57705. return nil
  57706. }
  57707. // SetAttribute sets the Attribute field's value.
  57708. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  57709. s.Attribute = &v
  57710. return s
  57711. }
  57712. // SetDryRun sets the DryRun field's value.
  57713. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  57714. s.DryRun = &v
  57715. return s
  57716. }
  57717. // SetVpcId sets the VpcId field's value.
  57718. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  57719. s.VpcId = &v
  57720. return s
  57721. }
  57722. type DescribeVpcAttributeOutput struct {
  57723. _ struct{} `type:"structure"`
  57724. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  57725. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  57726. // they do not.
  57727. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  57728. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  57729. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  57730. // to their corresponding IP addresses; otherwise, it does not.
  57731. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  57732. // The ID of the VPC.
  57733. VpcId *string `locationName:"vpcId" type:"string"`
  57734. }
  57735. // String returns the string representation
  57736. func (s DescribeVpcAttributeOutput) String() string {
  57737. return awsutil.Prettify(s)
  57738. }
  57739. // GoString returns the string representation
  57740. func (s DescribeVpcAttributeOutput) GoString() string {
  57741. return s.String()
  57742. }
  57743. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  57744. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  57745. s.EnableDnsHostnames = v
  57746. return s
  57747. }
  57748. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  57749. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  57750. s.EnableDnsSupport = v
  57751. return s
  57752. }
  57753. // SetVpcId sets the VpcId field's value.
  57754. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  57755. s.VpcId = &v
  57756. return s
  57757. }
  57758. type DescribeVpcClassicLinkDnsSupportInput struct {
  57759. _ struct{} `type:"structure"`
  57760. // The maximum number of results to return with a single call. To retrieve the
  57761. // remaining results, make another call with the returned nextToken value.
  57762. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  57763. // The token for the next page of results.
  57764. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  57765. // One or more VPC IDs.
  57766. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  57767. }
  57768. // String returns the string representation
  57769. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  57770. return awsutil.Prettify(s)
  57771. }
  57772. // GoString returns the string representation
  57773. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  57774. return s.String()
  57775. }
  57776. // Validate inspects the fields of the type to determine if they are valid.
  57777. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  57778. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  57779. if s.MaxResults != nil && *s.MaxResults < 5 {
  57780. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  57781. }
  57782. if s.NextToken != nil && len(*s.NextToken) < 1 {
  57783. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  57784. }
  57785. if invalidParams.Len() > 0 {
  57786. return invalidParams
  57787. }
  57788. return nil
  57789. }
  57790. // SetMaxResults sets the MaxResults field's value.
  57791. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  57792. s.MaxResults = &v
  57793. return s
  57794. }
  57795. // SetNextToken sets the NextToken field's value.
  57796. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  57797. s.NextToken = &v
  57798. return s
  57799. }
  57800. // SetVpcIds sets the VpcIds field's value.
  57801. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  57802. s.VpcIds = v
  57803. return s
  57804. }
  57805. type DescribeVpcClassicLinkDnsSupportOutput struct {
  57806. _ struct{} `type:"structure"`
  57807. // The token to use to retrieve the next page of results. This value is null
  57808. // when there are no more results to return.
  57809. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  57810. // Information about the ClassicLink DNS support status of the VPCs.
  57811. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  57812. }
  57813. // String returns the string representation
  57814. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  57815. return awsutil.Prettify(s)
  57816. }
  57817. // GoString returns the string representation
  57818. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  57819. return s.String()
  57820. }
  57821. // SetNextToken sets the NextToken field's value.
  57822. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  57823. s.NextToken = &v
  57824. return s
  57825. }
  57826. // SetVpcs sets the Vpcs field's value.
  57827. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  57828. s.Vpcs = v
  57829. return s
  57830. }
  57831. type DescribeVpcClassicLinkInput struct {
  57832. _ struct{} `type:"structure"`
  57833. // Checks whether you have the required permissions for the action, without
  57834. // actually making the request, and provides an error response. If you have
  57835. // the required permissions, the error response is DryRunOperation. Otherwise,
  57836. // it is UnauthorizedOperation.
  57837. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57838. // One or more filters.
  57839. //
  57840. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  57841. // (true | false).
  57842. //
  57843. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  57844. // Use the tag key in the filter name and the tag value as the filter value.
  57845. // For example, to find all resources that have a tag with the key Owner
  57846. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  57847. // the filter value.
  57848. //
  57849. // * tag-key - The key of a tag assigned to the resource. Use this filter
  57850. // to find all resources assigned a tag with a specific key, regardless of
  57851. // the tag value.
  57852. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57853. // One or more VPCs for which you want to describe the ClassicLink status.
  57854. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  57855. }
  57856. // String returns the string representation
  57857. func (s DescribeVpcClassicLinkInput) String() string {
  57858. return awsutil.Prettify(s)
  57859. }
  57860. // GoString returns the string representation
  57861. func (s DescribeVpcClassicLinkInput) GoString() string {
  57862. return s.String()
  57863. }
  57864. // SetDryRun sets the DryRun field's value.
  57865. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  57866. s.DryRun = &v
  57867. return s
  57868. }
  57869. // SetFilters sets the Filters field's value.
  57870. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  57871. s.Filters = v
  57872. return s
  57873. }
  57874. // SetVpcIds sets the VpcIds field's value.
  57875. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  57876. s.VpcIds = v
  57877. return s
  57878. }
  57879. type DescribeVpcClassicLinkOutput struct {
  57880. _ struct{} `type:"structure"`
  57881. // The ClassicLink status of one or more VPCs.
  57882. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  57883. }
  57884. // String returns the string representation
  57885. func (s DescribeVpcClassicLinkOutput) String() string {
  57886. return awsutil.Prettify(s)
  57887. }
  57888. // GoString returns the string representation
  57889. func (s DescribeVpcClassicLinkOutput) GoString() string {
  57890. return s.String()
  57891. }
  57892. // SetVpcs sets the Vpcs field's value.
  57893. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  57894. s.Vpcs = v
  57895. return s
  57896. }
  57897. type DescribeVpcEndpointConnectionNotificationsInput struct {
  57898. _ struct{} `type:"structure"`
  57899. // The ID of the notification.
  57900. ConnectionNotificationId *string `type:"string"`
  57901. // Checks whether you have the required permissions for the action, without
  57902. // actually making the request, and provides an error response. If you have
  57903. // the required permissions, the error response is DryRunOperation. Otherwise,
  57904. // it is UnauthorizedOperation.
  57905. DryRun *bool `type:"boolean"`
  57906. // One or more filters.
  57907. //
  57908. // * connection-notification-arn - The ARN of the SNS topic for the notification.
  57909. //
  57910. // * connection-notification-id - The ID of the notification.
  57911. //
  57912. // * connection-notification-state - The state of the notification (Enabled
  57913. // | Disabled).
  57914. //
  57915. // * connection-notification-type - The type of notification (Topic).
  57916. //
  57917. // * service-id - The ID of the endpoint service.
  57918. //
  57919. // * vpc-endpoint-id - The ID of the VPC endpoint.
  57920. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  57921. // The maximum number of results to return in a single call. To retrieve the
  57922. // remaining results, make another request with the returned NextToken value.
  57923. MaxResults *int64 `type:"integer"`
  57924. // The token to request the next page of results.
  57925. NextToken *string `type:"string"`
  57926. }
  57927. // String returns the string representation
  57928. func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
  57929. return awsutil.Prettify(s)
  57930. }
  57931. // GoString returns the string representation
  57932. func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
  57933. return s.String()
  57934. }
  57935. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  57936. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  57937. s.ConnectionNotificationId = &v
  57938. return s
  57939. }
  57940. // SetDryRun sets the DryRun field's value.
  57941. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
  57942. s.DryRun = &v
  57943. return s
  57944. }
  57945. // SetFilters sets the Filters field's value.
  57946. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
  57947. s.Filters = v
  57948. return s
  57949. }
  57950. // SetMaxResults sets the MaxResults field's value.
  57951. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
  57952. s.MaxResults = &v
  57953. return s
  57954. }
  57955. // SetNextToken sets the NextToken field's value.
  57956. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  57957. s.NextToken = &v
  57958. return s
  57959. }
  57960. type DescribeVpcEndpointConnectionNotificationsOutput struct {
  57961. _ struct{} `type:"structure"`
  57962. // One or more notifications.
  57963. ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
  57964. // The token to use to retrieve the next page of results. This value is null
  57965. // when there are no more results to return.
  57966. NextToken *string `locationName:"nextToken" type:"string"`
  57967. }
  57968. // String returns the string representation
  57969. func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
  57970. return awsutil.Prettify(s)
  57971. }
  57972. // GoString returns the string representation
  57973. func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
  57974. return s.String()
  57975. }
  57976. // SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
  57977. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
  57978. s.ConnectionNotificationSet = v
  57979. return s
  57980. }
  57981. // SetNextToken sets the NextToken field's value.
  57982. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
  57983. s.NextToken = &v
  57984. return s
  57985. }
  57986. type DescribeVpcEndpointConnectionsInput struct {
  57987. _ struct{} `type:"structure"`
  57988. // Checks whether you have the required permissions for the action, without
  57989. // actually making the request, and provides an error response. If you have
  57990. // the required permissions, the error response is DryRunOperation. Otherwise,
  57991. // it is UnauthorizedOperation.
  57992. DryRun *bool `type:"boolean"`
  57993. // One or more filters.
  57994. //
  57995. // * service-id - The ID of the service.
  57996. //
  57997. // * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
  57998. //
  57999. // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
  58000. // pending | available | deleting | deleted | rejected | failed).
  58001. //
  58002. // * vpc-endpoint-id - The ID of the endpoint.
  58003. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58004. // The maximum number of results to return for the request in a single page.
  58005. // The remaining results of the initial request can be seen by sending another
  58006. // request with the returned NextToken value. This value can be between 5 and
  58007. // 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
  58008. // are returned.
  58009. MaxResults *int64 `type:"integer"`
  58010. // The token to retrieve the next page of results.
  58011. NextToken *string `type:"string"`
  58012. }
  58013. // String returns the string representation
  58014. func (s DescribeVpcEndpointConnectionsInput) String() string {
  58015. return awsutil.Prettify(s)
  58016. }
  58017. // GoString returns the string representation
  58018. func (s DescribeVpcEndpointConnectionsInput) GoString() string {
  58019. return s.String()
  58020. }
  58021. // SetDryRun sets the DryRun field's value.
  58022. func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
  58023. s.DryRun = &v
  58024. return s
  58025. }
  58026. // SetFilters sets the Filters field's value.
  58027. func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
  58028. s.Filters = v
  58029. return s
  58030. }
  58031. // SetMaxResults sets the MaxResults field's value.
  58032. func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
  58033. s.MaxResults = &v
  58034. return s
  58035. }
  58036. // SetNextToken sets the NextToken field's value.
  58037. func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
  58038. s.NextToken = &v
  58039. return s
  58040. }
  58041. type DescribeVpcEndpointConnectionsOutput struct {
  58042. _ struct{} `type:"structure"`
  58043. // The token to use to retrieve the next page of results. This value is null
  58044. // when there are no more results to return.
  58045. NextToken *string `locationName:"nextToken" type:"string"`
  58046. // Information about one or more VPC endpoint connections.
  58047. VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
  58048. }
  58049. // String returns the string representation
  58050. func (s DescribeVpcEndpointConnectionsOutput) String() string {
  58051. return awsutil.Prettify(s)
  58052. }
  58053. // GoString returns the string representation
  58054. func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
  58055. return s.String()
  58056. }
  58057. // SetNextToken sets the NextToken field's value.
  58058. func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
  58059. s.NextToken = &v
  58060. return s
  58061. }
  58062. // SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
  58063. func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
  58064. s.VpcEndpointConnections = v
  58065. return s
  58066. }
  58067. type DescribeVpcEndpointServiceConfigurationsInput struct {
  58068. _ struct{} `type:"structure"`
  58069. // Checks whether you have the required permissions for the action, without
  58070. // actually making the request, and provides an error response. If you have
  58071. // the required permissions, the error response is DryRunOperation. Otherwise,
  58072. // it is UnauthorizedOperation.
  58073. DryRun *bool `type:"boolean"`
  58074. // One or more filters.
  58075. //
  58076. // * service-name - The name of the service.
  58077. //
  58078. // * service-id - The ID of the service.
  58079. //
  58080. // * service-state - The state of the service (Pending | Available | Deleting
  58081. // | Deleted | Failed).
  58082. //
  58083. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58084. // Use the tag key in the filter name and the tag value as the filter value.
  58085. // For example, to find all resources that have a tag with the key Owner
  58086. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58087. // the filter value.
  58088. //
  58089. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58090. // to find all resources assigned a tag with a specific key, regardless of
  58091. // the tag value.
  58092. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58093. // The maximum number of results to return for the request in a single page.
  58094. // The remaining results of the initial request can be seen by sending another
  58095. // request with the returned NextToken value. This value can be between 5 and
  58096. // 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
  58097. // are returned.
  58098. MaxResults *int64 `type:"integer"`
  58099. // The token to retrieve the next page of results.
  58100. NextToken *string `type:"string"`
  58101. // The IDs of one or more services.
  58102. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
  58103. }
  58104. // String returns the string representation
  58105. func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
  58106. return awsutil.Prettify(s)
  58107. }
  58108. // GoString returns the string representation
  58109. func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
  58110. return s.String()
  58111. }
  58112. // SetDryRun sets the DryRun field's value.
  58113. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
  58114. s.DryRun = &v
  58115. return s
  58116. }
  58117. // SetFilters sets the Filters field's value.
  58118. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
  58119. s.Filters = v
  58120. return s
  58121. }
  58122. // SetMaxResults sets the MaxResults field's value.
  58123. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
  58124. s.MaxResults = &v
  58125. return s
  58126. }
  58127. // SetNextToken sets the NextToken field's value.
  58128. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
  58129. s.NextToken = &v
  58130. return s
  58131. }
  58132. // SetServiceIds sets the ServiceIds field's value.
  58133. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
  58134. s.ServiceIds = v
  58135. return s
  58136. }
  58137. type DescribeVpcEndpointServiceConfigurationsOutput struct {
  58138. _ struct{} `type:"structure"`
  58139. // The token to use to retrieve the next page of results. This value is null
  58140. // when there are no more results to return.
  58141. NextToken *string `locationName:"nextToken" type:"string"`
  58142. // Information about one or more services.
  58143. ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
  58144. }
  58145. // String returns the string representation
  58146. func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
  58147. return awsutil.Prettify(s)
  58148. }
  58149. // GoString returns the string representation
  58150. func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
  58151. return s.String()
  58152. }
  58153. // SetNextToken sets the NextToken field's value.
  58154. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
  58155. s.NextToken = &v
  58156. return s
  58157. }
  58158. // SetServiceConfigurations sets the ServiceConfigurations field's value.
  58159. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
  58160. s.ServiceConfigurations = v
  58161. return s
  58162. }
  58163. type DescribeVpcEndpointServicePermissionsInput struct {
  58164. _ struct{} `type:"structure"`
  58165. // Checks whether you have the required permissions for the action, without
  58166. // actually making the request, and provides an error response. If you have
  58167. // the required permissions, the error response is DryRunOperation. Otherwise,
  58168. // it is UnauthorizedOperation.
  58169. DryRun *bool `type:"boolean"`
  58170. // One or more filters.
  58171. //
  58172. // * principal - The ARN of the principal.
  58173. //
  58174. // * principal-type - The principal type (All | Service | OrganizationUnit
  58175. // | Account | User | Role).
  58176. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58177. // The maximum number of results to return for the request in a single page.
  58178. // The remaining results of the initial request can be seen by sending another
  58179. // request with the returned NextToken value. This value can be between 5 and
  58180. // 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
  58181. // are returned.
  58182. MaxResults *int64 `type:"integer"`
  58183. // The token to retrieve the next page of results.
  58184. NextToken *string `type:"string"`
  58185. // The ID of the service.
  58186. //
  58187. // ServiceId is a required field
  58188. ServiceId *string `type:"string" required:"true"`
  58189. }
  58190. // String returns the string representation
  58191. func (s DescribeVpcEndpointServicePermissionsInput) String() string {
  58192. return awsutil.Prettify(s)
  58193. }
  58194. // GoString returns the string representation
  58195. func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
  58196. return s.String()
  58197. }
  58198. // Validate inspects the fields of the type to determine if they are valid.
  58199. func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
  58200. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
  58201. if s.ServiceId == nil {
  58202. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  58203. }
  58204. if invalidParams.Len() > 0 {
  58205. return invalidParams
  58206. }
  58207. return nil
  58208. }
  58209. // SetDryRun sets the DryRun field's value.
  58210. func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
  58211. s.DryRun = &v
  58212. return s
  58213. }
  58214. // SetFilters sets the Filters field's value.
  58215. func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
  58216. s.Filters = v
  58217. return s
  58218. }
  58219. // SetMaxResults sets the MaxResults field's value.
  58220. func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
  58221. s.MaxResults = &v
  58222. return s
  58223. }
  58224. // SetNextToken sets the NextToken field's value.
  58225. func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
  58226. s.NextToken = &v
  58227. return s
  58228. }
  58229. // SetServiceId sets the ServiceId field's value.
  58230. func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
  58231. s.ServiceId = &v
  58232. return s
  58233. }
  58234. type DescribeVpcEndpointServicePermissionsOutput struct {
  58235. _ struct{} `type:"structure"`
  58236. // Information about one or more allowed principals.
  58237. AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
  58238. // The token to use to retrieve the next page of results. This value is null
  58239. // when there are no more results to return.
  58240. NextToken *string `locationName:"nextToken" type:"string"`
  58241. }
  58242. // String returns the string representation
  58243. func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
  58244. return awsutil.Prettify(s)
  58245. }
  58246. // GoString returns the string representation
  58247. func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
  58248. return s.String()
  58249. }
  58250. // SetAllowedPrincipals sets the AllowedPrincipals field's value.
  58251. func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
  58252. s.AllowedPrincipals = v
  58253. return s
  58254. }
  58255. // SetNextToken sets the NextToken field's value.
  58256. func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
  58257. s.NextToken = &v
  58258. return s
  58259. }
  58260. // Contains the parameters for DescribeVpcEndpointServices.
  58261. type DescribeVpcEndpointServicesInput struct {
  58262. _ struct{} `type:"structure"`
  58263. // Checks whether you have the required permissions for the action, without
  58264. // actually making the request, and provides an error response. If you have
  58265. // the required permissions, the error response is DryRunOperation. Otherwise,
  58266. // it is UnauthorizedOperation.
  58267. DryRun *bool `type:"boolean"`
  58268. // One or more filters.
  58269. //
  58270. // * service-name - The name of the service.
  58271. //
  58272. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58273. // Use the tag key in the filter name and the tag value as the filter value.
  58274. // For example, to find all resources that have a tag with the key Owner
  58275. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58276. // the filter value.
  58277. //
  58278. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58279. // to find all resources assigned a tag with a specific key, regardless of
  58280. // the tag value.
  58281. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58282. // The maximum number of items to return for this request. The request returns
  58283. // a token that you can specify in a subsequent call to get the next set of
  58284. // results.
  58285. //
  58286. // Constraint: If the value is greater than 1,000, we return only 1,000 items.
  58287. MaxResults *int64 `type:"integer"`
  58288. // The token for the next set of items to return. (You received this token from
  58289. // a prior call.)
  58290. NextToken *string `type:"string"`
  58291. // One or more service names.
  58292. ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
  58293. }
  58294. // String returns the string representation
  58295. func (s DescribeVpcEndpointServicesInput) String() string {
  58296. return awsutil.Prettify(s)
  58297. }
  58298. // GoString returns the string representation
  58299. func (s DescribeVpcEndpointServicesInput) GoString() string {
  58300. return s.String()
  58301. }
  58302. // SetDryRun sets the DryRun field's value.
  58303. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  58304. s.DryRun = &v
  58305. return s
  58306. }
  58307. // SetFilters sets the Filters field's value.
  58308. func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
  58309. s.Filters = v
  58310. return s
  58311. }
  58312. // SetMaxResults sets the MaxResults field's value.
  58313. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  58314. s.MaxResults = &v
  58315. return s
  58316. }
  58317. // SetNextToken sets the NextToken field's value.
  58318. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  58319. s.NextToken = &v
  58320. return s
  58321. }
  58322. // SetServiceNames sets the ServiceNames field's value.
  58323. func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
  58324. s.ServiceNames = v
  58325. return s
  58326. }
  58327. // Contains the output of DescribeVpcEndpointServices.
  58328. type DescribeVpcEndpointServicesOutput struct {
  58329. _ struct{} `type:"structure"`
  58330. // The token to use when requesting the next set of items. If there are no additional
  58331. // items to return, the string is empty.
  58332. NextToken *string `locationName:"nextToken" type:"string"`
  58333. // Information about the service.
  58334. ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
  58335. // A list of supported services.
  58336. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  58337. }
  58338. // String returns the string representation
  58339. func (s DescribeVpcEndpointServicesOutput) String() string {
  58340. return awsutil.Prettify(s)
  58341. }
  58342. // GoString returns the string representation
  58343. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  58344. return s.String()
  58345. }
  58346. // SetNextToken sets the NextToken field's value.
  58347. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  58348. s.NextToken = &v
  58349. return s
  58350. }
  58351. // SetServiceDetails sets the ServiceDetails field's value.
  58352. func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
  58353. s.ServiceDetails = v
  58354. return s
  58355. }
  58356. // SetServiceNames sets the ServiceNames field's value.
  58357. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  58358. s.ServiceNames = v
  58359. return s
  58360. }
  58361. // Contains the parameters for DescribeVpcEndpoints.
  58362. type DescribeVpcEndpointsInput struct {
  58363. _ struct{} `type:"structure"`
  58364. // Checks whether you have the required permissions for the action, without
  58365. // actually making the request, and provides an error response. If you have
  58366. // the required permissions, the error response is DryRunOperation. Otherwise,
  58367. // it is UnauthorizedOperation.
  58368. DryRun *bool `type:"boolean"`
  58369. // One or more filters.
  58370. //
  58371. // * service-name - The name of the service.
  58372. //
  58373. // * vpc-id - The ID of the VPC in which the endpoint resides.
  58374. //
  58375. // * vpc-endpoint-id - The ID of the endpoint.
  58376. //
  58377. // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
  58378. // pending | available | deleting | deleted | rejected | failed).
  58379. //
  58380. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58381. // Use the tag key in the filter name and the tag value as the filter value.
  58382. // For example, to find all resources that have a tag with the key Owner
  58383. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58384. // the filter value.
  58385. //
  58386. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58387. // to find all resources assigned a tag with a specific key, regardless of
  58388. // the tag value.
  58389. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58390. // The maximum number of items to return for this request. The request returns
  58391. // a token that you can specify in a subsequent call to get the next set of
  58392. // results.
  58393. //
  58394. // Constraint: If the value is greater than 1,000, we return only 1,000 items.
  58395. MaxResults *int64 `type:"integer"`
  58396. // The token for the next set of items to return. (You received this token from
  58397. // a prior call.)
  58398. NextToken *string `type:"string"`
  58399. // One or more endpoint IDs.
  58400. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  58401. }
  58402. // String returns the string representation
  58403. func (s DescribeVpcEndpointsInput) String() string {
  58404. return awsutil.Prettify(s)
  58405. }
  58406. // GoString returns the string representation
  58407. func (s DescribeVpcEndpointsInput) GoString() string {
  58408. return s.String()
  58409. }
  58410. // SetDryRun sets the DryRun field's value.
  58411. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  58412. s.DryRun = &v
  58413. return s
  58414. }
  58415. // SetFilters sets the Filters field's value.
  58416. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  58417. s.Filters = v
  58418. return s
  58419. }
  58420. // SetMaxResults sets the MaxResults field's value.
  58421. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  58422. s.MaxResults = &v
  58423. return s
  58424. }
  58425. // SetNextToken sets the NextToken field's value.
  58426. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  58427. s.NextToken = &v
  58428. return s
  58429. }
  58430. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  58431. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  58432. s.VpcEndpointIds = v
  58433. return s
  58434. }
  58435. // Contains the output of DescribeVpcEndpoints.
  58436. type DescribeVpcEndpointsOutput struct {
  58437. _ struct{} `type:"structure"`
  58438. // The token to use when requesting the next set of items. If there are no additional
  58439. // items to return, the string is empty.
  58440. NextToken *string `locationName:"nextToken" type:"string"`
  58441. // Information about the endpoints.
  58442. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  58443. }
  58444. // String returns the string representation
  58445. func (s DescribeVpcEndpointsOutput) String() string {
  58446. return awsutil.Prettify(s)
  58447. }
  58448. // GoString returns the string representation
  58449. func (s DescribeVpcEndpointsOutput) GoString() string {
  58450. return s.String()
  58451. }
  58452. // SetNextToken sets the NextToken field's value.
  58453. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  58454. s.NextToken = &v
  58455. return s
  58456. }
  58457. // SetVpcEndpoints sets the VpcEndpoints field's value.
  58458. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  58459. s.VpcEndpoints = v
  58460. return s
  58461. }
  58462. type DescribeVpcPeeringConnectionsInput struct {
  58463. _ struct{} `type:"structure"`
  58464. // Checks whether you have the required permissions for the action, without
  58465. // actually making the request, and provides an error response. If you have
  58466. // the required permissions, the error response is DryRunOperation. Otherwise,
  58467. // it is UnauthorizedOperation.
  58468. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58469. // One or more filters.
  58470. //
  58471. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
  58472. //
  58473. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  58474. // accepter VPC.
  58475. //
  58476. // * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
  58477. //
  58478. // * expiration-time - The expiration date and time for the VPC peering connection.
  58479. //
  58480. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  58481. // VPC.
  58482. //
  58483. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  58484. // requester VPC.
  58485. //
  58486. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  58487. //
  58488. // * status-code - The status of the VPC peering connection (pending-acceptance
  58489. // | failed | expired | provisioning | active | deleting | deleted | rejected).
  58490. //
  58491. // * status-message - A message that provides more information about the
  58492. // status of the VPC peering connection, if applicable.
  58493. //
  58494. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58495. // Use the tag key in the filter name and the tag value as the filter value.
  58496. // For example, to find all resources that have a tag with the key Owner
  58497. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58498. // the filter value.
  58499. //
  58500. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58501. // to find all resources assigned a tag with a specific key, regardless of
  58502. // the tag value.
  58503. //
  58504. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  58505. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58506. // The maximum number of results to return with a single call. To retrieve the
  58507. // remaining results, make another call with the returned nextToken value.
  58508. MaxResults *int64 `min:"5" type:"integer"`
  58509. // The token for the next page of results.
  58510. NextToken *string `type:"string"`
  58511. // One or more VPC peering connection IDs.
  58512. //
  58513. // Default: Describes all your VPC peering connections.
  58514. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  58515. }
  58516. // String returns the string representation
  58517. func (s DescribeVpcPeeringConnectionsInput) String() string {
  58518. return awsutil.Prettify(s)
  58519. }
  58520. // GoString returns the string representation
  58521. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  58522. return s.String()
  58523. }
  58524. // Validate inspects the fields of the type to determine if they are valid.
  58525. func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
  58526. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
  58527. if s.MaxResults != nil && *s.MaxResults < 5 {
  58528. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  58529. }
  58530. if invalidParams.Len() > 0 {
  58531. return invalidParams
  58532. }
  58533. return nil
  58534. }
  58535. // SetDryRun sets the DryRun field's value.
  58536. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  58537. s.DryRun = &v
  58538. return s
  58539. }
  58540. // SetFilters sets the Filters field's value.
  58541. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  58542. s.Filters = v
  58543. return s
  58544. }
  58545. // SetMaxResults sets the MaxResults field's value.
  58546. func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
  58547. s.MaxResults = &v
  58548. return s
  58549. }
  58550. // SetNextToken sets the NextToken field's value.
  58551. func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
  58552. s.NextToken = &v
  58553. return s
  58554. }
  58555. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  58556. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  58557. s.VpcPeeringConnectionIds = v
  58558. return s
  58559. }
  58560. type DescribeVpcPeeringConnectionsOutput struct {
  58561. _ struct{} `type:"structure"`
  58562. // The token to use to retrieve the next page of results. This value is null
  58563. // when there are no more results to return.
  58564. NextToken *string `locationName:"nextToken" type:"string"`
  58565. // Information about the VPC peering connections.
  58566. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  58567. }
  58568. // String returns the string representation
  58569. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  58570. return awsutil.Prettify(s)
  58571. }
  58572. // GoString returns the string representation
  58573. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  58574. return s.String()
  58575. }
  58576. // SetNextToken sets the NextToken field's value.
  58577. func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
  58578. s.NextToken = &v
  58579. return s
  58580. }
  58581. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  58582. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  58583. s.VpcPeeringConnections = v
  58584. return s
  58585. }
  58586. type DescribeVpcsInput struct {
  58587. _ struct{} `type:"structure"`
  58588. // Checks whether you have the required permissions for the action, without
  58589. // actually making the request, and provides an error response. If you have
  58590. // the required permissions, the error response is DryRunOperation. Otherwise,
  58591. // it is UnauthorizedOperation.
  58592. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58593. // One or more filters.
  58594. //
  58595. // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
  58596. // must exactly match the VPC's CIDR block for information to be returned
  58597. // for the VPC. Must contain the slash followed by one or two digits (for
  58598. // example, /28).
  58599. //
  58600. // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
  58601. // the VPC.
  58602. //
  58603. // * cidr-block-association.association-id - The association ID for an IPv4
  58604. // CIDR block associated with the VPC.
  58605. //
  58606. // * cidr-block-association.state - The state of an IPv4 CIDR block associated
  58607. // with the VPC.
  58608. //
  58609. // * dhcp-options-id - The ID of a set of DHCP options.
  58610. //
  58611. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  58612. // with the VPC.
  58613. //
  58614. // * ipv6-cidr-block-association.association-id - The association ID for
  58615. // an IPv6 CIDR block associated with the VPC.
  58616. //
  58617. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  58618. // associated with the VPC.
  58619. //
  58620. // * isDefault - Indicates whether the VPC is the default VPC.
  58621. //
  58622. // * owner-id - The ID of the AWS account that owns the VPC.
  58623. //
  58624. // * state - The state of the VPC (pending | available).
  58625. //
  58626. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58627. // Use the tag key in the filter name and the tag value as the filter value.
  58628. // For example, to find all resources that have a tag with the key Owner
  58629. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58630. // the filter value.
  58631. //
  58632. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58633. // to find all resources assigned a tag with a specific key, regardless of
  58634. // the tag value.
  58635. //
  58636. // * vpc-id - The ID of the VPC.
  58637. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58638. // The maximum number of results to return with a single call. To retrieve the
  58639. // remaining results, make another call with the returned nextToken value.
  58640. MaxResults *int64 `min:"5" type:"integer"`
  58641. // The token for the next page of results.
  58642. NextToken *string `type:"string"`
  58643. // One or more VPC IDs.
  58644. //
  58645. // Default: Describes all your VPCs.
  58646. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  58647. }
  58648. // String returns the string representation
  58649. func (s DescribeVpcsInput) String() string {
  58650. return awsutil.Prettify(s)
  58651. }
  58652. // GoString returns the string representation
  58653. func (s DescribeVpcsInput) GoString() string {
  58654. return s.String()
  58655. }
  58656. // Validate inspects the fields of the type to determine if they are valid.
  58657. func (s *DescribeVpcsInput) Validate() error {
  58658. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
  58659. if s.MaxResults != nil && *s.MaxResults < 5 {
  58660. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  58661. }
  58662. if invalidParams.Len() > 0 {
  58663. return invalidParams
  58664. }
  58665. return nil
  58666. }
  58667. // SetDryRun sets the DryRun field's value.
  58668. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  58669. s.DryRun = &v
  58670. return s
  58671. }
  58672. // SetFilters sets the Filters field's value.
  58673. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  58674. s.Filters = v
  58675. return s
  58676. }
  58677. // SetMaxResults sets the MaxResults field's value.
  58678. func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
  58679. s.MaxResults = &v
  58680. return s
  58681. }
  58682. // SetNextToken sets the NextToken field's value.
  58683. func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
  58684. s.NextToken = &v
  58685. return s
  58686. }
  58687. // SetVpcIds sets the VpcIds field's value.
  58688. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  58689. s.VpcIds = v
  58690. return s
  58691. }
  58692. type DescribeVpcsOutput struct {
  58693. _ struct{} `type:"structure"`
  58694. // The token to use to retrieve the next page of results. This value is null
  58695. // when there are no more results to return.
  58696. NextToken *string `locationName:"nextToken" type:"string"`
  58697. // Information about one or more VPCs.
  58698. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  58699. }
  58700. // String returns the string representation
  58701. func (s DescribeVpcsOutput) String() string {
  58702. return awsutil.Prettify(s)
  58703. }
  58704. // GoString returns the string representation
  58705. func (s DescribeVpcsOutput) GoString() string {
  58706. return s.String()
  58707. }
  58708. // SetNextToken sets the NextToken field's value.
  58709. func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
  58710. s.NextToken = &v
  58711. return s
  58712. }
  58713. // SetVpcs sets the Vpcs field's value.
  58714. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  58715. s.Vpcs = v
  58716. return s
  58717. }
  58718. // Contains the parameters for DescribeVpnConnections.
  58719. type DescribeVpnConnectionsInput struct {
  58720. _ struct{} `type:"structure"`
  58721. // Checks whether you have the required permissions for the action, without
  58722. // actually making the request, and provides an error response. If you have
  58723. // the required permissions, the error response is DryRunOperation. Otherwise,
  58724. // it is UnauthorizedOperation.
  58725. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58726. // One or more filters.
  58727. //
  58728. // * customer-gateway-configuration - The configuration information for the
  58729. // customer gateway.
  58730. //
  58731. // * customer-gateway-id - The ID of a customer gateway associated with the
  58732. // VPN connection.
  58733. //
  58734. // * state - The state of the VPN connection (pending | available | deleting
  58735. // | deleted).
  58736. //
  58737. // * option.static-routes-only - Indicates whether the connection has static
  58738. // routes only. Used for devices that do not support Border Gateway Protocol
  58739. // (BGP).
  58740. //
  58741. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  58742. // to the subnet used in a customer data center.
  58743. //
  58744. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  58745. // device.
  58746. //
  58747. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58748. // Use the tag key in the filter name and the tag value as the filter value.
  58749. // For example, to find all resources that have a tag with the key Owner
  58750. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58751. // the filter value.
  58752. //
  58753. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58754. // to find all resources assigned a tag with a specific key, regardless of
  58755. // the tag value.
  58756. //
  58757. // * type - The type of VPN connection. Currently the only supported type
  58758. // is ipsec.1.
  58759. //
  58760. // * vpn-connection-id - The ID of the VPN connection.
  58761. //
  58762. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  58763. // the VPN connection.
  58764. //
  58765. // * transit-gateway-id - The ID of a transit gateway associated with the
  58766. // VPN connection.
  58767. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58768. // One or more VPN connection IDs.
  58769. //
  58770. // Default: Describes your VPN connections.
  58771. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  58772. }
  58773. // String returns the string representation
  58774. func (s DescribeVpnConnectionsInput) String() string {
  58775. return awsutil.Prettify(s)
  58776. }
  58777. // GoString returns the string representation
  58778. func (s DescribeVpnConnectionsInput) GoString() string {
  58779. return s.String()
  58780. }
  58781. // SetDryRun sets the DryRun field's value.
  58782. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  58783. s.DryRun = &v
  58784. return s
  58785. }
  58786. // SetFilters sets the Filters field's value.
  58787. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  58788. s.Filters = v
  58789. return s
  58790. }
  58791. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  58792. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  58793. s.VpnConnectionIds = v
  58794. return s
  58795. }
  58796. // Contains the output of DescribeVpnConnections.
  58797. type DescribeVpnConnectionsOutput struct {
  58798. _ struct{} `type:"structure"`
  58799. // Information about one or more VPN connections.
  58800. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  58801. }
  58802. // String returns the string representation
  58803. func (s DescribeVpnConnectionsOutput) String() string {
  58804. return awsutil.Prettify(s)
  58805. }
  58806. // GoString returns the string representation
  58807. func (s DescribeVpnConnectionsOutput) GoString() string {
  58808. return s.String()
  58809. }
  58810. // SetVpnConnections sets the VpnConnections field's value.
  58811. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  58812. s.VpnConnections = v
  58813. return s
  58814. }
  58815. // Contains the parameters for DescribeVpnGateways.
  58816. type DescribeVpnGatewaysInput struct {
  58817. _ struct{} `type:"structure"`
  58818. // Checks whether you have the required permissions for the action, without
  58819. // actually making the request, and provides an error response. If you have
  58820. // the required permissions, the error response is DryRunOperation. Otherwise,
  58821. // it is UnauthorizedOperation.
  58822. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58823. // One or more filters.
  58824. //
  58825. // * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
  58826. // side of the gateway.
  58827. //
  58828. // * attachment.state - The current state of the attachment between the gateway
  58829. // and the VPC (attaching | attached | detaching | detached).
  58830. //
  58831. // * attachment.vpc-id - The ID of an attached VPC.
  58832. //
  58833. // * availability-zone - The Availability Zone for the virtual private gateway
  58834. // (if applicable).
  58835. //
  58836. // * state - The state of the virtual private gateway (pending | available
  58837. // | deleting | deleted).
  58838. //
  58839. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  58840. // Use the tag key in the filter name and the tag value as the filter value.
  58841. // For example, to find all resources that have a tag with the key Owner
  58842. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  58843. // the filter value.
  58844. //
  58845. // * tag-key - The key of a tag assigned to the resource. Use this filter
  58846. // to find all resources assigned a tag with a specific key, regardless of
  58847. // the tag value.
  58848. //
  58849. // * type - The type of virtual private gateway. Currently the only supported
  58850. // type is ipsec.1.
  58851. //
  58852. // * vpn-gateway-id - The ID of the virtual private gateway.
  58853. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  58854. // One or more virtual private gateway IDs.
  58855. //
  58856. // Default: Describes all your virtual private gateways.
  58857. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  58858. }
  58859. // String returns the string representation
  58860. func (s DescribeVpnGatewaysInput) String() string {
  58861. return awsutil.Prettify(s)
  58862. }
  58863. // GoString returns the string representation
  58864. func (s DescribeVpnGatewaysInput) GoString() string {
  58865. return s.String()
  58866. }
  58867. // SetDryRun sets the DryRun field's value.
  58868. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  58869. s.DryRun = &v
  58870. return s
  58871. }
  58872. // SetFilters sets the Filters field's value.
  58873. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  58874. s.Filters = v
  58875. return s
  58876. }
  58877. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  58878. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  58879. s.VpnGatewayIds = v
  58880. return s
  58881. }
  58882. // Contains the output of DescribeVpnGateways.
  58883. type DescribeVpnGatewaysOutput struct {
  58884. _ struct{} `type:"structure"`
  58885. // Information about one or more virtual private gateways.
  58886. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  58887. }
  58888. // String returns the string representation
  58889. func (s DescribeVpnGatewaysOutput) String() string {
  58890. return awsutil.Prettify(s)
  58891. }
  58892. // GoString returns the string representation
  58893. func (s DescribeVpnGatewaysOutput) GoString() string {
  58894. return s.String()
  58895. }
  58896. // SetVpnGateways sets the VpnGateways field's value.
  58897. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  58898. s.VpnGateways = v
  58899. return s
  58900. }
  58901. type DetachClassicLinkVpcInput struct {
  58902. _ struct{} `type:"structure"`
  58903. // Checks whether you have the required permissions for the action, without
  58904. // actually making the request, and provides an error response. If you have
  58905. // the required permissions, the error response is DryRunOperation. Otherwise,
  58906. // it is UnauthorizedOperation.
  58907. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58908. // The ID of the instance to unlink from the VPC.
  58909. //
  58910. // InstanceId is a required field
  58911. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  58912. // The ID of the VPC to which the instance is linked.
  58913. //
  58914. // VpcId is a required field
  58915. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  58916. }
  58917. // String returns the string representation
  58918. func (s DetachClassicLinkVpcInput) String() string {
  58919. return awsutil.Prettify(s)
  58920. }
  58921. // GoString returns the string representation
  58922. func (s DetachClassicLinkVpcInput) GoString() string {
  58923. return s.String()
  58924. }
  58925. // Validate inspects the fields of the type to determine if they are valid.
  58926. func (s *DetachClassicLinkVpcInput) Validate() error {
  58927. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  58928. if s.InstanceId == nil {
  58929. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  58930. }
  58931. if s.VpcId == nil {
  58932. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  58933. }
  58934. if invalidParams.Len() > 0 {
  58935. return invalidParams
  58936. }
  58937. return nil
  58938. }
  58939. // SetDryRun sets the DryRun field's value.
  58940. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  58941. s.DryRun = &v
  58942. return s
  58943. }
  58944. // SetInstanceId sets the InstanceId field's value.
  58945. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  58946. s.InstanceId = &v
  58947. return s
  58948. }
  58949. // SetVpcId sets the VpcId field's value.
  58950. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  58951. s.VpcId = &v
  58952. return s
  58953. }
  58954. type DetachClassicLinkVpcOutput struct {
  58955. _ struct{} `type:"structure"`
  58956. // Returns true if the request succeeds; otherwise, it returns an error.
  58957. Return *bool `locationName:"return" type:"boolean"`
  58958. }
  58959. // String returns the string representation
  58960. func (s DetachClassicLinkVpcOutput) String() string {
  58961. return awsutil.Prettify(s)
  58962. }
  58963. // GoString returns the string representation
  58964. func (s DetachClassicLinkVpcOutput) GoString() string {
  58965. return s.String()
  58966. }
  58967. // SetReturn sets the Return field's value.
  58968. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  58969. s.Return = &v
  58970. return s
  58971. }
  58972. type DetachInternetGatewayInput struct {
  58973. _ struct{} `type:"structure"`
  58974. // Checks whether you have the required permissions for the action, without
  58975. // actually making the request, and provides an error response. If you have
  58976. // the required permissions, the error response is DryRunOperation. Otherwise,
  58977. // it is UnauthorizedOperation.
  58978. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58979. // The ID of the internet gateway.
  58980. //
  58981. // InternetGatewayId is a required field
  58982. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  58983. // The ID of the VPC.
  58984. //
  58985. // VpcId is a required field
  58986. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  58987. }
  58988. // String returns the string representation
  58989. func (s DetachInternetGatewayInput) String() string {
  58990. return awsutil.Prettify(s)
  58991. }
  58992. // GoString returns the string representation
  58993. func (s DetachInternetGatewayInput) GoString() string {
  58994. return s.String()
  58995. }
  58996. // Validate inspects the fields of the type to determine if they are valid.
  58997. func (s *DetachInternetGatewayInput) Validate() error {
  58998. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  58999. if s.InternetGatewayId == nil {
  59000. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  59001. }
  59002. if s.VpcId == nil {
  59003. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  59004. }
  59005. if invalidParams.Len() > 0 {
  59006. return invalidParams
  59007. }
  59008. return nil
  59009. }
  59010. // SetDryRun sets the DryRun field's value.
  59011. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  59012. s.DryRun = &v
  59013. return s
  59014. }
  59015. // SetInternetGatewayId sets the InternetGatewayId field's value.
  59016. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  59017. s.InternetGatewayId = &v
  59018. return s
  59019. }
  59020. // SetVpcId sets the VpcId field's value.
  59021. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  59022. s.VpcId = &v
  59023. return s
  59024. }
  59025. type DetachInternetGatewayOutput struct {
  59026. _ struct{} `type:"structure"`
  59027. }
  59028. // String returns the string representation
  59029. func (s DetachInternetGatewayOutput) String() string {
  59030. return awsutil.Prettify(s)
  59031. }
  59032. // GoString returns the string representation
  59033. func (s DetachInternetGatewayOutput) GoString() string {
  59034. return s.String()
  59035. }
  59036. // Contains the parameters for DetachNetworkInterface.
  59037. type DetachNetworkInterfaceInput struct {
  59038. _ struct{} `type:"structure"`
  59039. // The ID of the attachment.
  59040. //
  59041. // AttachmentId is a required field
  59042. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  59043. // Checks whether you have the required permissions for the action, without
  59044. // actually making the request, and provides an error response. If you have
  59045. // the required permissions, the error response is DryRunOperation. Otherwise,
  59046. // it is UnauthorizedOperation.
  59047. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59048. // Specifies whether to force a detachment.
  59049. //
  59050. // * Use the Force parameter only as a last resort to detach a network interface
  59051. // from a failed instance.
  59052. //
  59053. // * If you use the Force parameter to detach a network interface, you might
  59054. // not be able to attach a different network interface to the same index
  59055. // on the instance without first stopping and starting the instance.
  59056. //
  59057. // * If you force the detachment of a network interface, the instance metadata
  59058. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  59059. // might not get updated. This means that the attributes associated with
  59060. // the detached network interface might still be visible. The instance metadata
  59061. // will get updated when you stop and start the instance.
  59062. Force *bool `locationName:"force" type:"boolean"`
  59063. }
  59064. // String returns the string representation
  59065. func (s DetachNetworkInterfaceInput) String() string {
  59066. return awsutil.Prettify(s)
  59067. }
  59068. // GoString returns the string representation
  59069. func (s DetachNetworkInterfaceInput) GoString() string {
  59070. return s.String()
  59071. }
  59072. // Validate inspects the fields of the type to determine if they are valid.
  59073. func (s *DetachNetworkInterfaceInput) Validate() error {
  59074. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  59075. if s.AttachmentId == nil {
  59076. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  59077. }
  59078. if invalidParams.Len() > 0 {
  59079. return invalidParams
  59080. }
  59081. return nil
  59082. }
  59083. // SetAttachmentId sets the AttachmentId field's value.
  59084. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  59085. s.AttachmentId = &v
  59086. return s
  59087. }
  59088. // SetDryRun sets the DryRun field's value.
  59089. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  59090. s.DryRun = &v
  59091. return s
  59092. }
  59093. // SetForce sets the Force field's value.
  59094. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  59095. s.Force = &v
  59096. return s
  59097. }
  59098. type DetachNetworkInterfaceOutput struct {
  59099. _ struct{} `type:"structure"`
  59100. }
  59101. // String returns the string representation
  59102. func (s DetachNetworkInterfaceOutput) String() string {
  59103. return awsutil.Prettify(s)
  59104. }
  59105. // GoString returns the string representation
  59106. func (s DetachNetworkInterfaceOutput) GoString() string {
  59107. return s.String()
  59108. }
  59109. type DetachVolumeInput struct {
  59110. _ struct{} `type:"structure"`
  59111. // The device name.
  59112. Device *string `type:"string"`
  59113. // Checks whether you have the required permissions for the action, without
  59114. // actually making the request, and provides an error response. If you have
  59115. // the required permissions, the error response is DryRunOperation. Otherwise,
  59116. // it is UnauthorizedOperation.
  59117. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59118. // Forces detachment if the previous detachment attempt did not occur cleanly
  59119. // (for example, logging into an instance, unmounting the volume, and detaching
  59120. // normally). This option can lead to data loss or a corrupted file system.
  59121. // Use this option only as a last resort to detach a volume from a failed instance.
  59122. // The instance won't have an opportunity to flush file system caches or file
  59123. // system metadata. If you use this option, you must perform file system check
  59124. // and repair procedures.
  59125. Force *bool `type:"boolean"`
  59126. // The ID of the instance.
  59127. InstanceId *string `type:"string"`
  59128. // The ID of the volume.
  59129. //
  59130. // VolumeId is a required field
  59131. VolumeId *string `type:"string" required:"true"`
  59132. }
  59133. // String returns the string representation
  59134. func (s DetachVolumeInput) String() string {
  59135. return awsutil.Prettify(s)
  59136. }
  59137. // GoString returns the string representation
  59138. func (s DetachVolumeInput) GoString() string {
  59139. return s.String()
  59140. }
  59141. // Validate inspects the fields of the type to determine if they are valid.
  59142. func (s *DetachVolumeInput) Validate() error {
  59143. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  59144. if s.VolumeId == nil {
  59145. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  59146. }
  59147. if invalidParams.Len() > 0 {
  59148. return invalidParams
  59149. }
  59150. return nil
  59151. }
  59152. // SetDevice sets the Device field's value.
  59153. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  59154. s.Device = &v
  59155. return s
  59156. }
  59157. // SetDryRun sets the DryRun field's value.
  59158. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  59159. s.DryRun = &v
  59160. return s
  59161. }
  59162. // SetForce sets the Force field's value.
  59163. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  59164. s.Force = &v
  59165. return s
  59166. }
  59167. // SetInstanceId sets the InstanceId field's value.
  59168. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  59169. s.InstanceId = &v
  59170. return s
  59171. }
  59172. // SetVolumeId sets the VolumeId field's value.
  59173. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  59174. s.VolumeId = &v
  59175. return s
  59176. }
  59177. // Contains the parameters for DetachVpnGateway.
  59178. type DetachVpnGatewayInput struct {
  59179. _ struct{} `type:"structure"`
  59180. // Checks whether you have the required permissions for the action, without
  59181. // actually making the request, and provides an error response. If you have
  59182. // the required permissions, the error response is DryRunOperation. Otherwise,
  59183. // it is UnauthorizedOperation.
  59184. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59185. // The ID of the VPC.
  59186. //
  59187. // VpcId is a required field
  59188. VpcId *string `type:"string" required:"true"`
  59189. // The ID of the virtual private gateway.
  59190. //
  59191. // VpnGatewayId is a required field
  59192. VpnGatewayId *string `type:"string" required:"true"`
  59193. }
  59194. // String returns the string representation
  59195. func (s DetachVpnGatewayInput) String() string {
  59196. return awsutil.Prettify(s)
  59197. }
  59198. // GoString returns the string representation
  59199. func (s DetachVpnGatewayInput) GoString() string {
  59200. return s.String()
  59201. }
  59202. // Validate inspects the fields of the type to determine if they are valid.
  59203. func (s *DetachVpnGatewayInput) Validate() error {
  59204. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  59205. if s.VpcId == nil {
  59206. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  59207. }
  59208. if s.VpnGatewayId == nil {
  59209. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  59210. }
  59211. if invalidParams.Len() > 0 {
  59212. return invalidParams
  59213. }
  59214. return nil
  59215. }
  59216. // SetDryRun sets the DryRun field's value.
  59217. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  59218. s.DryRun = &v
  59219. return s
  59220. }
  59221. // SetVpcId sets the VpcId field's value.
  59222. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  59223. s.VpcId = &v
  59224. return s
  59225. }
  59226. // SetVpnGatewayId sets the VpnGatewayId field's value.
  59227. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  59228. s.VpnGatewayId = &v
  59229. return s
  59230. }
  59231. type DetachVpnGatewayOutput struct {
  59232. _ struct{} `type:"structure"`
  59233. }
  59234. // String returns the string representation
  59235. func (s DetachVpnGatewayOutput) String() string {
  59236. return awsutil.Prettify(s)
  59237. }
  59238. // GoString returns the string representation
  59239. func (s DetachVpnGatewayOutput) GoString() string {
  59240. return s.String()
  59241. }
  59242. // Describes a DHCP configuration option.
  59243. type DhcpConfiguration struct {
  59244. _ struct{} `type:"structure"`
  59245. // The name of a DHCP option.
  59246. Key *string `locationName:"key" type:"string"`
  59247. // One or more values for the DHCP option.
  59248. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  59249. }
  59250. // String returns the string representation
  59251. func (s DhcpConfiguration) String() string {
  59252. return awsutil.Prettify(s)
  59253. }
  59254. // GoString returns the string representation
  59255. func (s DhcpConfiguration) GoString() string {
  59256. return s.String()
  59257. }
  59258. // SetKey sets the Key field's value.
  59259. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  59260. s.Key = &v
  59261. return s
  59262. }
  59263. // SetValues sets the Values field's value.
  59264. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  59265. s.Values = v
  59266. return s
  59267. }
  59268. // Describes a set of DHCP options.
  59269. type DhcpOptions struct {
  59270. _ struct{} `type:"structure"`
  59271. // One or more DHCP options in the set.
  59272. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  59273. // The ID of the set of DHCP options.
  59274. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  59275. // The ID of the AWS account that owns the DHCP options set.
  59276. OwnerId *string `locationName:"ownerId" type:"string"`
  59277. // Any tags assigned to the DHCP options set.
  59278. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59279. }
  59280. // String returns the string representation
  59281. func (s DhcpOptions) String() string {
  59282. return awsutil.Prettify(s)
  59283. }
  59284. // GoString returns the string representation
  59285. func (s DhcpOptions) GoString() string {
  59286. return s.String()
  59287. }
  59288. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  59289. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  59290. s.DhcpConfigurations = v
  59291. return s
  59292. }
  59293. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  59294. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  59295. s.DhcpOptionsId = &v
  59296. return s
  59297. }
  59298. // SetOwnerId sets the OwnerId field's value.
  59299. func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
  59300. s.OwnerId = &v
  59301. return s
  59302. }
  59303. // SetTags sets the Tags field's value.
  59304. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  59305. s.Tags = v
  59306. return s
  59307. }
  59308. // Describes an Active Directory.
  59309. type DirectoryServiceAuthentication struct {
  59310. _ struct{} `type:"structure"`
  59311. // The ID of the Active Directory used for authentication.
  59312. DirectoryId *string `locationName:"directoryId" type:"string"`
  59313. }
  59314. // String returns the string representation
  59315. func (s DirectoryServiceAuthentication) String() string {
  59316. return awsutil.Prettify(s)
  59317. }
  59318. // GoString returns the string representation
  59319. func (s DirectoryServiceAuthentication) GoString() string {
  59320. return s.String()
  59321. }
  59322. // SetDirectoryId sets the DirectoryId field's value.
  59323. func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
  59324. s.DirectoryId = &v
  59325. return s
  59326. }
  59327. // Describes the Active Directory to be used for client authentication.
  59328. type DirectoryServiceAuthenticationRequest struct {
  59329. _ struct{} `type:"structure"`
  59330. // The ID of the Active Directory to be used for authentication.
  59331. DirectoryId *string `type:"string"`
  59332. }
  59333. // String returns the string representation
  59334. func (s DirectoryServiceAuthenticationRequest) String() string {
  59335. return awsutil.Prettify(s)
  59336. }
  59337. // GoString returns the string representation
  59338. func (s DirectoryServiceAuthenticationRequest) GoString() string {
  59339. return s.String()
  59340. }
  59341. // SetDirectoryId sets the DirectoryId field's value.
  59342. func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
  59343. s.DirectoryId = &v
  59344. return s
  59345. }
  59346. type DisableEbsEncryptionByDefaultInput struct {
  59347. _ struct{} `type:"structure"`
  59348. // Checks whether you have the required permissions for the action, without
  59349. // actually making the request, and provides an error response. If you have
  59350. // the required permissions, the error response is DryRunOperation. Otherwise,
  59351. // it is UnauthorizedOperation.
  59352. DryRun *bool `type:"boolean"`
  59353. }
  59354. // String returns the string representation
  59355. func (s DisableEbsEncryptionByDefaultInput) String() string {
  59356. return awsutil.Prettify(s)
  59357. }
  59358. // GoString returns the string representation
  59359. func (s DisableEbsEncryptionByDefaultInput) GoString() string {
  59360. return s.String()
  59361. }
  59362. // SetDryRun sets the DryRun field's value.
  59363. func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
  59364. s.DryRun = &v
  59365. return s
  59366. }
  59367. type DisableEbsEncryptionByDefaultOutput struct {
  59368. _ struct{} `type:"structure"`
  59369. // The updated status of encryption by default.
  59370. EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
  59371. }
  59372. // String returns the string representation
  59373. func (s DisableEbsEncryptionByDefaultOutput) String() string {
  59374. return awsutil.Prettify(s)
  59375. }
  59376. // GoString returns the string representation
  59377. func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
  59378. return s.String()
  59379. }
  59380. // SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
  59381. func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
  59382. s.EbsEncryptionByDefault = &v
  59383. return s
  59384. }
  59385. // Contains information about the errors that occurred when disabling fast snapshot
  59386. // restores.
  59387. type DisableFastSnapshotRestoreErrorItem struct {
  59388. _ struct{} `type:"structure"`
  59389. // The errors.
  59390. FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
  59391. // The ID of the snapshot.
  59392. SnapshotId *string `locationName:"snapshotId" type:"string"`
  59393. }
  59394. // String returns the string representation
  59395. func (s DisableFastSnapshotRestoreErrorItem) String() string {
  59396. return awsutil.Prettify(s)
  59397. }
  59398. // GoString returns the string representation
  59399. func (s DisableFastSnapshotRestoreErrorItem) GoString() string {
  59400. return s.String()
  59401. }
  59402. // SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
  59403. func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem {
  59404. s.FastSnapshotRestoreStateErrors = v
  59405. return s
  59406. }
  59407. // SetSnapshotId sets the SnapshotId field's value.
  59408. func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem {
  59409. s.SnapshotId = &v
  59410. return s
  59411. }
  59412. // Describes an error that occurred when disabling fast snapshot restores.
  59413. type DisableFastSnapshotRestoreStateError struct {
  59414. _ struct{} `type:"structure"`
  59415. // The error code.
  59416. Code *string `locationName:"code" type:"string"`
  59417. // The error message.
  59418. Message *string `locationName:"message" type:"string"`
  59419. }
  59420. // String returns the string representation
  59421. func (s DisableFastSnapshotRestoreStateError) String() string {
  59422. return awsutil.Prettify(s)
  59423. }
  59424. // GoString returns the string representation
  59425. func (s DisableFastSnapshotRestoreStateError) GoString() string {
  59426. return s.String()
  59427. }
  59428. // SetCode sets the Code field's value.
  59429. func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError {
  59430. s.Code = &v
  59431. return s
  59432. }
  59433. // SetMessage sets the Message field's value.
  59434. func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError {
  59435. s.Message = &v
  59436. return s
  59437. }
  59438. // Contains information about an error that occurred when disabling fast snapshot
  59439. // restores.
  59440. type DisableFastSnapshotRestoreStateErrorItem struct {
  59441. _ struct{} `type:"structure"`
  59442. // The Availability Zone.
  59443. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  59444. // The error.
  59445. Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
  59446. }
  59447. // String returns the string representation
  59448. func (s DisableFastSnapshotRestoreStateErrorItem) String() string {
  59449. return awsutil.Prettify(s)
  59450. }
  59451. // GoString returns the string representation
  59452. func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string {
  59453. return s.String()
  59454. }
  59455. // SetAvailabilityZone sets the AvailabilityZone field's value.
  59456. func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem {
  59457. s.AvailabilityZone = &v
  59458. return s
  59459. }
  59460. // SetError sets the Error field's value.
  59461. func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem {
  59462. s.Error = v
  59463. return s
  59464. }
  59465. // Describes fast snapshot restores that were successfully disabled.
  59466. type DisableFastSnapshotRestoreSuccessItem struct {
  59467. _ struct{} `type:"structure"`
  59468. // The Availability Zone.
  59469. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  59470. // The time at which fast snapshot restores entered the disabled state.
  59471. DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
  59472. // The time at which fast snapshot restores entered the disabling state.
  59473. DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
  59474. // The time at which fast snapshot restores entered the enabled state.
  59475. EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
  59476. // The time at which fast snapshot restores entered the enabling state.
  59477. EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
  59478. // The time at which fast snapshot restores entered the optimizing state.
  59479. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
  59480. // The alias of the snapshot owner.
  59481. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  59482. // The ID of the AWS account that owns the snapshot.
  59483. OwnerId *string `locationName:"ownerId" type:"string"`
  59484. // The ID of the snapshot.
  59485. SnapshotId *string `locationName:"snapshotId" type:"string"`
  59486. // The state of fast snapshot restores for the snapshot.
  59487. State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
  59488. // The reason for the state transition. The possible values are as follows:
  59489. //
  59490. // * Client.UserInitiated - The state successfully transitioned to enabling
  59491. // or disabling.
  59492. //
  59493. // * Client.UserInitiated - Lifecycle state transition - The state successfully
  59494. // transitioned to optimizing, enabled, or disabled.
  59495. StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
  59496. }
  59497. // String returns the string representation
  59498. func (s DisableFastSnapshotRestoreSuccessItem) String() string {
  59499. return awsutil.Prettify(s)
  59500. }
  59501. // GoString returns the string representation
  59502. func (s DisableFastSnapshotRestoreSuccessItem) GoString() string {
  59503. return s.String()
  59504. }
  59505. // SetAvailabilityZone sets the AvailabilityZone field's value.
  59506. func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem {
  59507. s.AvailabilityZone = &v
  59508. return s
  59509. }
  59510. // SetDisabledTime sets the DisabledTime field's value.
  59511. func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
  59512. s.DisabledTime = &v
  59513. return s
  59514. }
  59515. // SetDisablingTime sets the DisablingTime field's value.
  59516. func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
  59517. s.DisablingTime = &v
  59518. return s
  59519. }
  59520. // SetEnabledTime sets the EnabledTime field's value.
  59521. func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
  59522. s.EnabledTime = &v
  59523. return s
  59524. }
  59525. // SetEnablingTime sets the EnablingTime field's value.
  59526. func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
  59527. s.EnablingTime = &v
  59528. return s
  59529. }
  59530. // SetOptimizingTime sets the OptimizingTime field's value.
  59531. func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
  59532. s.OptimizingTime = &v
  59533. return s
  59534. }
  59535. // SetOwnerAlias sets the OwnerAlias field's value.
  59536. func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem {
  59537. s.OwnerAlias = &v
  59538. return s
  59539. }
  59540. // SetOwnerId sets the OwnerId field's value.
  59541. func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem {
  59542. s.OwnerId = &v
  59543. return s
  59544. }
  59545. // SetSnapshotId sets the SnapshotId field's value.
  59546. func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem {
  59547. s.SnapshotId = &v
  59548. return s
  59549. }
  59550. // SetState sets the State field's value.
  59551. func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem {
  59552. s.State = &v
  59553. return s
  59554. }
  59555. // SetStateTransitionReason sets the StateTransitionReason field's value.
  59556. func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem {
  59557. s.StateTransitionReason = &v
  59558. return s
  59559. }
  59560. type DisableFastSnapshotRestoresInput struct {
  59561. _ struct{} `type:"structure"`
  59562. // One or more Availability Zones. For example, us-east-2a.
  59563. //
  59564. // AvailabilityZones is a required field
  59565. AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
  59566. // Checks whether you have the required permissions for the action, without
  59567. // actually making the request, and provides an error response. If you have
  59568. // the required permissions, the error response is DryRunOperation. Otherwise,
  59569. // it is UnauthorizedOperation.
  59570. DryRun *bool `type:"boolean"`
  59571. // The IDs of one or more snapshots. For example, snap-1234567890abcdef0.
  59572. //
  59573. // SourceSnapshotIds is a required field
  59574. SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
  59575. }
  59576. // String returns the string representation
  59577. func (s DisableFastSnapshotRestoresInput) String() string {
  59578. return awsutil.Prettify(s)
  59579. }
  59580. // GoString returns the string representation
  59581. func (s DisableFastSnapshotRestoresInput) GoString() string {
  59582. return s.String()
  59583. }
  59584. // Validate inspects the fields of the type to determine if they are valid.
  59585. func (s *DisableFastSnapshotRestoresInput) Validate() error {
  59586. invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"}
  59587. if s.AvailabilityZones == nil {
  59588. invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
  59589. }
  59590. if s.SourceSnapshotIds == nil {
  59591. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
  59592. }
  59593. if invalidParams.Len() > 0 {
  59594. return invalidParams
  59595. }
  59596. return nil
  59597. }
  59598. // SetAvailabilityZones sets the AvailabilityZones field's value.
  59599. func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput {
  59600. s.AvailabilityZones = v
  59601. return s
  59602. }
  59603. // SetDryRun sets the DryRun field's value.
  59604. func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput {
  59605. s.DryRun = &v
  59606. return s
  59607. }
  59608. // SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
  59609. func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput {
  59610. s.SourceSnapshotIds = v
  59611. return s
  59612. }
  59613. type DisableFastSnapshotRestoresOutput struct {
  59614. _ struct{} `type:"structure"`
  59615. // Information about the snapshots for which fast snapshot restores were successfully
  59616. // disabled.
  59617. Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
  59618. // Information about the snapshots for which fast snapshot restores could not
  59619. // be disabled.
  59620. Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  59621. }
  59622. // String returns the string representation
  59623. func (s DisableFastSnapshotRestoresOutput) String() string {
  59624. return awsutil.Prettify(s)
  59625. }
  59626. // GoString returns the string representation
  59627. func (s DisableFastSnapshotRestoresOutput) GoString() string {
  59628. return s.String()
  59629. }
  59630. // SetSuccessful sets the Successful field's value.
  59631. func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput {
  59632. s.Successful = v
  59633. return s
  59634. }
  59635. // SetUnsuccessful sets the Unsuccessful field's value.
  59636. func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput {
  59637. s.Unsuccessful = v
  59638. return s
  59639. }
  59640. type DisableTransitGatewayRouteTablePropagationInput struct {
  59641. _ struct{} `type:"structure"`
  59642. // Checks whether you have the required permissions for the action, without
  59643. // actually making the request, and provides an error response. If you have
  59644. // the required permissions, the error response is DryRunOperation. Otherwise,
  59645. // it is UnauthorizedOperation.
  59646. DryRun *bool `type:"boolean"`
  59647. // The ID of the attachment.
  59648. //
  59649. // TransitGatewayAttachmentId is a required field
  59650. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  59651. // The ID of the propagation route table.
  59652. //
  59653. // TransitGatewayRouteTableId is a required field
  59654. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  59655. }
  59656. // String returns the string representation
  59657. func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
  59658. return awsutil.Prettify(s)
  59659. }
  59660. // GoString returns the string representation
  59661. func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
  59662. return s.String()
  59663. }
  59664. // Validate inspects the fields of the type to determine if they are valid.
  59665. func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
  59666. invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
  59667. if s.TransitGatewayAttachmentId == nil {
  59668. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  59669. }
  59670. if s.TransitGatewayRouteTableId == nil {
  59671. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  59672. }
  59673. if invalidParams.Len() > 0 {
  59674. return invalidParams
  59675. }
  59676. return nil
  59677. }
  59678. // SetDryRun sets the DryRun field's value.
  59679. func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
  59680. s.DryRun = &v
  59681. return s
  59682. }
  59683. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  59684. func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
  59685. s.TransitGatewayAttachmentId = &v
  59686. return s
  59687. }
  59688. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  59689. func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
  59690. s.TransitGatewayRouteTableId = &v
  59691. return s
  59692. }
  59693. type DisableTransitGatewayRouteTablePropagationOutput struct {
  59694. _ struct{} `type:"structure"`
  59695. // Information about route propagation.
  59696. Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
  59697. }
  59698. // String returns the string representation
  59699. func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
  59700. return awsutil.Prettify(s)
  59701. }
  59702. // GoString returns the string representation
  59703. func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
  59704. return s.String()
  59705. }
  59706. // SetPropagation sets the Propagation field's value.
  59707. func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
  59708. s.Propagation = v
  59709. return s
  59710. }
  59711. // Contains the parameters for DisableVgwRoutePropagation.
  59712. type DisableVgwRoutePropagationInput struct {
  59713. _ struct{} `type:"structure"`
  59714. // The ID of the virtual private gateway.
  59715. //
  59716. // GatewayId is a required field
  59717. GatewayId *string `type:"string" required:"true"`
  59718. // The ID of the route table.
  59719. //
  59720. // RouteTableId is a required field
  59721. RouteTableId *string `type:"string" required:"true"`
  59722. }
  59723. // String returns the string representation
  59724. func (s DisableVgwRoutePropagationInput) String() string {
  59725. return awsutil.Prettify(s)
  59726. }
  59727. // GoString returns the string representation
  59728. func (s DisableVgwRoutePropagationInput) GoString() string {
  59729. return s.String()
  59730. }
  59731. // Validate inspects the fields of the type to determine if they are valid.
  59732. func (s *DisableVgwRoutePropagationInput) Validate() error {
  59733. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  59734. if s.GatewayId == nil {
  59735. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  59736. }
  59737. if s.RouteTableId == nil {
  59738. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  59739. }
  59740. if invalidParams.Len() > 0 {
  59741. return invalidParams
  59742. }
  59743. return nil
  59744. }
  59745. // SetGatewayId sets the GatewayId field's value.
  59746. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  59747. s.GatewayId = &v
  59748. return s
  59749. }
  59750. // SetRouteTableId sets the RouteTableId field's value.
  59751. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  59752. s.RouteTableId = &v
  59753. return s
  59754. }
  59755. type DisableVgwRoutePropagationOutput struct {
  59756. _ struct{} `type:"structure"`
  59757. }
  59758. // String returns the string representation
  59759. func (s DisableVgwRoutePropagationOutput) String() string {
  59760. return awsutil.Prettify(s)
  59761. }
  59762. // GoString returns the string representation
  59763. func (s DisableVgwRoutePropagationOutput) GoString() string {
  59764. return s.String()
  59765. }
  59766. type DisableVpcClassicLinkDnsSupportInput struct {
  59767. _ struct{} `type:"structure"`
  59768. // The ID of the VPC.
  59769. VpcId *string `type:"string"`
  59770. }
  59771. // String returns the string representation
  59772. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  59773. return awsutil.Prettify(s)
  59774. }
  59775. // GoString returns the string representation
  59776. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  59777. return s.String()
  59778. }
  59779. // SetVpcId sets the VpcId field's value.
  59780. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  59781. s.VpcId = &v
  59782. return s
  59783. }
  59784. type DisableVpcClassicLinkDnsSupportOutput struct {
  59785. _ struct{} `type:"structure"`
  59786. // Returns true if the request succeeds; otherwise, it returns an error.
  59787. Return *bool `locationName:"return" type:"boolean"`
  59788. }
  59789. // String returns the string representation
  59790. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  59791. return awsutil.Prettify(s)
  59792. }
  59793. // GoString returns the string representation
  59794. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  59795. return s.String()
  59796. }
  59797. // SetReturn sets the Return field's value.
  59798. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  59799. s.Return = &v
  59800. return s
  59801. }
  59802. type DisableVpcClassicLinkInput struct {
  59803. _ struct{} `type:"structure"`
  59804. // Checks whether you have the required permissions for the action, without
  59805. // actually making the request, and provides an error response. If you have
  59806. // the required permissions, the error response is DryRunOperation. Otherwise,
  59807. // it is UnauthorizedOperation.
  59808. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59809. // The ID of the VPC.
  59810. //
  59811. // VpcId is a required field
  59812. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  59813. }
  59814. // String returns the string representation
  59815. func (s DisableVpcClassicLinkInput) String() string {
  59816. return awsutil.Prettify(s)
  59817. }
  59818. // GoString returns the string representation
  59819. func (s DisableVpcClassicLinkInput) GoString() string {
  59820. return s.String()
  59821. }
  59822. // Validate inspects the fields of the type to determine if they are valid.
  59823. func (s *DisableVpcClassicLinkInput) Validate() error {
  59824. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  59825. if s.VpcId == nil {
  59826. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  59827. }
  59828. if invalidParams.Len() > 0 {
  59829. return invalidParams
  59830. }
  59831. return nil
  59832. }
  59833. // SetDryRun sets the DryRun field's value.
  59834. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  59835. s.DryRun = &v
  59836. return s
  59837. }
  59838. // SetVpcId sets the VpcId field's value.
  59839. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  59840. s.VpcId = &v
  59841. return s
  59842. }
  59843. type DisableVpcClassicLinkOutput struct {
  59844. _ struct{} `type:"structure"`
  59845. // Returns true if the request succeeds; otherwise, it returns an error.
  59846. Return *bool `locationName:"return" type:"boolean"`
  59847. }
  59848. // String returns the string representation
  59849. func (s DisableVpcClassicLinkOutput) String() string {
  59850. return awsutil.Prettify(s)
  59851. }
  59852. // GoString returns the string representation
  59853. func (s DisableVpcClassicLinkOutput) GoString() string {
  59854. return s.String()
  59855. }
  59856. // SetReturn sets the Return field's value.
  59857. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  59858. s.Return = &v
  59859. return s
  59860. }
  59861. type DisassociateAddressInput struct {
  59862. _ struct{} `type:"structure"`
  59863. // [EC2-VPC] The association ID. Required for EC2-VPC.
  59864. AssociationId *string `type:"string"`
  59865. // Checks whether you have the required permissions for the action, without
  59866. // actually making the request, and provides an error response. If you have
  59867. // the required permissions, the error response is DryRunOperation. Otherwise,
  59868. // it is UnauthorizedOperation.
  59869. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59870. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  59871. PublicIp *string `type:"string"`
  59872. }
  59873. // String returns the string representation
  59874. func (s DisassociateAddressInput) String() string {
  59875. return awsutil.Prettify(s)
  59876. }
  59877. // GoString returns the string representation
  59878. func (s DisassociateAddressInput) GoString() string {
  59879. return s.String()
  59880. }
  59881. // SetAssociationId sets the AssociationId field's value.
  59882. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  59883. s.AssociationId = &v
  59884. return s
  59885. }
  59886. // SetDryRun sets the DryRun field's value.
  59887. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  59888. s.DryRun = &v
  59889. return s
  59890. }
  59891. // SetPublicIp sets the PublicIp field's value.
  59892. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  59893. s.PublicIp = &v
  59894. return s
  59895. }
  59896. type DisassociateAddressOutput struct {
  59897. _ struct{} `type:"structure"`
  59898. }
  59899. // String returns the string representation
  59900. func (s DisassociateAddressOutput) String() string {
  59901. return awsutil.Prettify(s)
  59902. }
  59903. // GoString returns the string representation
  59904. func (s DisassociateAddressOutput) GoString() string {
  59905. return s.String()
  59906. }
  59907. type DisassociateClientVpnTargetNetworkInput struct {
  59908. _ struct{} `type:"structure"`
  59909. // The ID of the target network association.
  59910. //
  59911. // AssociationId is a required field
  59912. AssociationId *string `type:"string" required:"true"`
  59913. // The ID of the Client VPN endpoint from which to disassociate the target network.
  59914. //
  59915. // ClientVpnEndpointId is a required field
  59916. ClientVpnEndpointId *string `type:"string" required:"true"`
  59917. // Checks whether you have the required permissions for the action, without
  59918. // actually making the request, and provides an error response. If you have
  59919. // the required permissions, the error response is DryRunOperation. Otherwise,
  59920. // it is UnauthorizedOperation.
  59921. DryRun *bool `type:"boolean"`
  59922. }
  59923. // String returns the string representation
  59924. func (s DisassociateClientVpnTargetNetworkInput) String() string {
  59925. return awsutil.Prettify(s)
  59926. }
  59927. // GoString returns the string representation
  59928. func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
  59929. return s.String()
  59930. }
  59931. // Validate inspects the fields of the type to determine if they are valid.
  59932. func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
  59933. invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
  59934. if s.AssociationId == nil {
  59935. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  59936. }
  59937. if s.ClientVpnEndpointId == nil {
  59938. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  59939. }
  59940. if invalidParams.Len() > 0 {
  59941. return invalidParams
  59942. }
  59943. return nil
  59944. }
  59945. // SetAssociationId sets the AssociationId field's value.
  59946. func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
  59947. s.AssociationId = &v
  59948. return s
  59949. }
  59950. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  59951. func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
  59952. s.ClientVpnEndpointId = &v
  59953. return s
  59954. }
  59955. // SetDryRun sets the DryRun field's value.
  59956. func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
  59957. s.DryRun = &v
  59958. return s
  59959. }
  59960. type DisassociateClientVpnTargetNetworkOutput struct {
  59961. _ struct{} `type:"structure"`
  59962. // The ID of the target network association.
  59963. AssociationId *string `locationName:"associationId" type:"string"`
  59964. // The current state of the target network association.
  59965. Status *AssociationStatus `locationName:"status" type:"structure"`
  59966. }
  59967. // String returns the string representation
  59968. func (s DisassociateClientVpnTargetNetworkOutput) String() string {
  59969. return awsutil.Prettify(s)
  59970. }
  59971. // GoString returns the string representation
  59972. func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
  59973. return s.String()
  59974. }
  59975. // SetAssociationId sets the AssociationId field's value.
  59976. func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
  59977. s.AssociationId = &v
  59978. return s
  59979. }
  59980. // SetStatus sets the Status field's value.
  59981. func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
  59982. s.Status = v
  59983. return s
  59984. }
  59985. type DisassociateIamInstanceProfileInput struct {
  59986. _ struct{} `type:"structure"`
  59987. // The ID of the IAM instance profile association.
  59988. //
  59989. // AssociationId is a required field
  59990. AssociationId *string `type:"string" required:"true"`
  59991. }
  59992. // String returns the string representation
  59993. func (s DisassociateIamInstanceProfileInput) String() string {
  59994. return awsutil.Prettify(s)
  59995. }
  59996. // GoString returns the string representation
  59997. func (s DisassociateIamInstanceProfileInput) GoString() string {
  59998. return s.String()
  59999. }
  60000. // Validate inspects the fields of the type to determine if they are valid.
  60001. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  60002. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  60003. if s.AssociationId == nil {
  60004. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  60005. }
  60006. if invalidParams.Len() > 0 {
  60007. return invalidParams
  60008. }
  60009. return nil
  60010. }
  60011. // SetAssociationId sets the AssociationId field's value.
  60012. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  60013. s.AssociationId = &v
  60014. return s
  60015. }
  60016. type DisassociateIamInstanceProfileOutput struct {
  60017. _ struct{} `type:"structure"`
  60018. // Information about the IAM instance profile association.
  60019. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  60020. }
  60021. // String returns the string representation
  60022. func (s DisassociateIamInstanceProfileOutput) String() string {
  60023. return awsutil.Prettify(s)
  60024. }
  60025. // GoString returns the string representation
  60026. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  60027. return s.String()
  60028. }
  60029. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  60030. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  60031. s.IamInstanceProfileAssociation = v
  60032. return s
  60033. }
  60034. type DisassociateRouteTableInput struct {
  60035. _ struct{} `type:"structure"`
  60036. // The association ID representing the current association between the route
  60037. // table and subnet.
  60038. //
  60039. // AssociationId is a required field
  60040. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  60041. // Checks whether you have the required permissions for the action, without
  60042. // actually making the request, and provides an error response. If you have
  60043. // the required permissions, the error response is DryRunOperation. Otherwise,
  60044. // it is UnauthorizedOperation.
  60045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  60046. }
  60047. // String returns the string representation
  60048. func (s DisassociateRouteTableInput) String() string {
  60049. return awsutil.Prettify(s)
  60050. }
  60051. // GoString returns the string representation
  60052. func (s DisassociateRouteTableInput) GoString() string {
  60053. return s.String()
  60054. }
  60055. // Validate inspects the fields of the type to determine if they are valid.
  60056. func (s *DisassociateRouteTableInput) Validate() error {
  60057. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  60058. if s.AssociationId == nil {
  60059. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  60060. }
  60061. if invalidParams.Len() > 0 {
  60062. return invalidParams
  60063. }
  60064. return nil
  60065. }
  60066. // SetAssociationId sets the AssociationId field's value.
  60067. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  60068. s.AssociationId = &v
  60069. return s
  60070. }
  60071. // SetDryRun sets the DryRun field's value.
  60072. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  60073. s.DryRun = &v
  60074. return s
  60075. }
  60076. type DisassociateRouteTableOutput struct {
  60077. _ struct{} `type:"structure"`
  60078. }
  60079. // String returns the string representation
  60080. func (s DisassociateRouteTableOutput) String() string {
  60081. return awsutil.Prettify(s)
  60082. }
  60083. // GoString returns the string representation
  60084. func (s DisassociateRouteTableOutput) GoString() string {
  60085. return s.String()
  60086. }
  60087. type DisassociateSubnetCidrBlockInput struct {
  60088. _ struct{} `type:"structure"`
  60089. // The association ID for the CIDR block.
  60090. //
  60091. // AssociationId is a required field
  60092. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  60093. }
  60094. // String returns the string representation
  60095. func (s DisassociateSubnetCidrBlockInput) String() string {
  60096. return awsutil.Prettify(s)
  60097. }
  60098. // GoString returns the string representation
  60099. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  60100. return s.String()
  60101. }
  60102. // Validate inspects the fields of the type to determine if they are valid.
  60103. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  60104. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  60105. if s.AssociationId == nil {
  60106. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  60107. }
  60108. if invalidParams.Len() > 0 {
  60109. return invalidParams
  60110. }
  60111. return nil
  60112. }
  60113. // SetAssociationId sets the AssociationId field's value.
  60114. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  60115. s.AssociationId = &v
  60116. return s
  60117. }
  60118. type DisassociateSubnetCidrBlockOutput struct {
  60119. _ struct{} `type:"structure"`
  60120. // Information about the IPv6 CIDR block association.
  60121. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  60122. // The ID of the subnet.
  60123. SubnetId *string `locationName:"subnetId" type:"string"`
  60124. }
  60125. // String returns the string representation
  60126. func (s DisassociateSubnetCidrBlockOutput) String() string {
  60127. return awsutil.Prettify(s)
  60128. }
  60129. // GoString returns the string representation
  60130. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  60131. return s.String()
  60132. }
  60133. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  60134. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  60135. s.Ipv6CidrBlockAssociation = v
  60136. return s
  60137. }
  60138. // SetSubnetId sets the SubnetId field's value.
  60139. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  60140. s.SubnetId = &v
  60141. return s
  60142. }
  60143. type DisassociateTransitGatewayMulticastDomainInput struct {
  60144. _ struct{} `type:"structure"`
  60145. // Checks whether you have the required permissions for the action, without
  60146. // actually making the request, and provides an error response. If you have
  60147. // the required permissions, the error response is DryRunOperation. Otherwise,
  60148. // it is UnauthorizedOperation.
  60149. DryRun *bool `type:"boolean"`
  60150. // The IDs of the subnets;
  60151. SubnetIds []*string `locationNameList:"item" type:"list"`
  60152. // The ID of the attachment.
  60153. TransitGatewayAttachmentId *string `type:"string"`
  60154. // The ID of the transit gateway multicast domain.
  60155. TransitGatewayMulticastDomainId *string `type:"string"`
  60156. }
  60157. // String returns the string representation
  60158. func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
  60159. return awsutil.Prettify(s)
  60160. }
  60161. // GoString returns the string representation
  60162. func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
  60163. return s.String()
  60164. }
  60165. // SetDryRun sets the DryRun field's value.
  60166. func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
  60167. s.DryRun = &v
  60168. return s
  60169. }
  60170. // SetSubnetIds sets the SubnetIds field's value.
  60171. func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
  60172. s.SubnetIds = v
  60173. return s
  60174. }
  60175. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  60176. func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
  60177. s.TransitGatewayAttachmentId = &v
  60178. return s
  60179. }
  60180. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  60181. func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
  60182. s.TransitGatewayMulticastDomainId = &v
  60183. return s
  60184. }
  60185. type DisassociateTransitGatewayMulticastDomainOutput struct {
  60186. _ struct{} `type:"structure"`
  60187. // Information about the association.
  60188. Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
  60189. }
  60190. // String returns the string representation
  60191. func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
  60192. return awsutil.Prettify(s)
  60193. }
  60194. // GoString returns the string representation
  60195. func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
  60196. return s.String()
  60197. }
  60198. // SetAssociations sets the Associations field's value.
  60199. func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
  60200. s.Associations = v
  60201. return s
  60202. }
  60203. type DisassociateTransitGatewayRouteTableInput struct {
  60204. _ struct{} `type:"structure"`
  60205. // Checks whether you have the required permissions for the action, without
  60206. // actually making the request, and provides an error response. If you have
  60207. // the required permissions, the error response is DryRunOperation. Otherwise,
  60208. // it is UnauthorizedOperation.
  60209. DryRun *bool `type:"boolean"`
  60210. // The ID of the attachment.
  60211. //
  60212. // TransitGatewayAttachmentId is a required field
  60213. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  60214. // The ID of the transit gateway route table.
  60215. //
  60216. // TransitGatewayRouteTableId is a required field
  60217. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  60218. }
  60219. // String returns the string representation
  60220. func (s DisassociateTransitGatewayRouteTableInput) String() string {
  60221. return awsutil.Prettify(s)
  60222. }
  60223. // GoString returns the string representation
  60224. func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
  60225. return s.String()
  60226. }
  60227. // Validate inspects the fields of the type to determine if they are valid.
  60228. func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
  60229. invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
  60230. if s.TransitGatewayAttachmentId == nil {
  60231. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  60232. }
  60233. if s.TransitGatewayRouteTableId == nil {
  60234. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  60235. }
  60236. if invalidParams.Len() > 0 {
  60237. return invalidParams
  60238. }
  60239. return nil
  60240. }
  60241. // SetDryRun sets the DryRun field's value.
  60242. func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
  60243. s.DryRun = &v
  60244. return s
  60245. }
  60246. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  60247. func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
  60248. s.TransitGatewayAttachmentId = &v
  60249. return s
  60250. }
  60251. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  60252. func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
  60253. s.TransitGatewayRouteTableId = &v
  60254. return s
  60255. }
  60256. type DisassociateTransitGatewayRouteTableOutput struct {
  60257. _ struct{} `type:"structure"`
  60258. // Information about the association.
  60259. Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
  60260. }
  60261. // String returns the string representation
  60262. func (s DisassociateTransitGatewayRouteTableOutput) String() string {
  60263. return awsutil.Prettify(s)
  60264. }
  60265. // GoString returns the string representation
  60266. func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
  60267. return s.String()
  60268. }
  60269. // SetAssociation sets the Association field's value.
  60270. func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
  60271. s.Association = v
  60272. return s
  60273. }
  60274. type DisassociateVpcCidrBlockInput struct {
  60275. _ struct{} `type:"structure"`
  60276. // The association ID for the CIDR block.
  60277. //
  60278. // AssociationId is a required field
  60279. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  60280. }
  60281. // String returns the string representation
  60282. func (s DisassociateVpcCidrBlockInput) String() string {
  60283. return awsutil.Prettify(s)
  60284. }
  60285. // GoString returns the string representation
  60286. func (s DisassociateVpcCidrBlockInput) GoString() string {
  60287. return s.String()
  60288. }
  60289. // Validate inspects the fields of the type to determine if they are valid.
  60290. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  60291. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  60292. if s.AssociationId == nil {
  60293. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  60294. }
  60295. if invalidParams.Len() > 0 {
  60296. return invalidParams
  60297. }
  60298. return nil
  60299. }
  60300. // SetAssociationId sets the AssociationId field's value.
  60301. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  60302. s.AssociationId = &v
  60303. return s
  60304. }
  60305. type DisassociateVpcCidrBlockOutput struct {
  60306. _ struct{} `type:"structure"`
  60307. // Information about the IPv4 CIDR block association.
  60308. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  60309. // Information about the IPv6 CIDR block association.
  60310. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  60311. // The ID of the VPC.
  60312. VpcId *string `locationName:"vpcId" type:"string"`
  60313. }
  60314. // String returns the string representation
  60315. func (s DisassociateVpcCidrBlockOutput) String() string {
  60316. return awsutil.Prettify(s)
  60317. }
  60318. // GoString returns the string representation
  60319. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  60320. return s.String()
  60321. }
  60322. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  60323. func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  60324. s.CidrBlockAssociation = v
  60325. return s
  60326. }
  60327. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  60328. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  60329. s.Ipv6CidrBlockAssociation = v
  60330. return s
  60331. }
  60332. // SetVpcId sets the VpcId field's value.
  60333. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  60334. s.VpcId = &v
  60335. return s
  60336. }
  60337. // Describes a disk image.
  60338. type DiskImage struct {
  60339. _ struct{} `type:"structure"`
  60340. // A description of the disk image.
  60341. Description *string `type:"string"`
  60342. // Information about the disk image.
  60343. Image *DiskImageDetail `type:"structure"`
  60344. // Information about the volume.
  60345. Volume *VolumeDetail `type:"structure"`
  60346. }
  60347. // String returns the string representation
  60348. func (s DiskImage) String() string {
  60349. return awsutil.Prettify(s)
  60350. }
  60351. // GoString returns the string representation
  60352. func (s DiskImage) GoString() string {
  60353. return s.String()
  60354. }
  60355. // Validate inspects the fields of the type to determine if they are valid.
  60356. func (s *DiskImage) Validate() error {
  60357. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  60358. if s.Image != nil {
  60359. if err := s.Image.Validate(); err != nil {
  60360. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  60361. }
  60362. }
  60363. if s.Volume != nil {
  60364. if err := s.Volume.Validate(); err != nil {
  60365. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  60366. }
  60367. }
  60368. if invalidParams.Len() > 0 {
  60369. return invalidParams
  60370. }
  60371. return nil
  60372. }
  60373. // SetDescription sets the Description field's value.
  60374. func (s *DiskImage) SetDescription(v string) *DiskImage {
  60375. s.Description = &v
  60376. return s
  60377. }
  60378. // SetImage sets the Image field's value.
  60379. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  60380. s.Image = v
  60381. return s
  60382. }
  60383. // SetVolume sets the Volume field's value.
  60384. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  60385. s.Volume = v
  60386. return s
  60387. }
  60388. // Describes a disk image.
  60389. type DiskImageDescription struct {
  60390. _ struct{} `type:"structure"`
  60391. // The checksum computed for the disk image.
  60392. Checksum *string `locationName:"checksum" type:"string"`
  60393. // The disk image format.
  60394. Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
  60395. // A presigned URL for the import manifest stored in Amazon S3. For information
  60396. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  60397. // Request Authentication Alternative" section of the Authenticating REST Requests
  60398. // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  60399. // topic in the Amazon Simple Storage Service Developer Guide.
  60400. //
  60401. // For information about the import manifest referenced by this API action,
  60402. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  60403. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
  60404. // The size of the disk image, in GiB.
  60405. Size *int64 `locationName:"size" type:"long"`
  60406. }
  60407. // String returns the string representation
  60408. func (s DiskImageDescription) String() string {
  60409. return awsutil.Prettify(s)
  60410. }
  60411. // GoString returns the string representation
  60412. func (s DiskImageDescription) GoString() string {
  60413. return s.String()
  60414. }
  60415. // SetChecksum sets the Checksum field's value.
  60416. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  60417. s.Checksum = &v
  60418. return s
  60419. }
  60420. // SetFormat sets the Format field's value.
  60421. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  60422. s.Format = &v
  60423. return s
  60424. }
  60425. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  60426. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  60427. s.ImportManifestUrl = &v
  60428. return s
  60429. }
  60430. // SetSize sets the Size field's value.
  60431. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  60432. s.Size = &v
  60433. return s
  60434. }
  60435. // Describes a disk image.
  60436. type DiskImageDetail struct {
  60437. _ struct{} `type:"structure"`
  60438. // The size of the disk image, in GiB.
  60439. //
  60440. // Bytes is a required field
  60441. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  60442. // The disk image format.
  60443. //
  60444. // Format is a required field
  60445. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  60446. // A presigned URL for the import manifest stored in Amazon S3 and presented
  60447. // here as an Amazon S3 presigned URL. For information about creating a presigned
  60448. // URL for an Amazon S3 object, read the "Query String Request Authentication
  60449. // Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  60450. // topic in the Amazon Simple Storage Service Developer Guide.
  60451. //
  60452. // For information about the import manifest referenced by this API action,
  60453. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  60454. //
  60455. // ImportManifestUrl is a required field
  60456. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  60457. }
  60458. // String returns the string representation
  60459. func (s DiskImageDetail) String() string {
  60460. return awsutil.Prettify(s)
  60461. }
  60462. // GoString returns the string representation
  60463. func (s DiskImageDetail) GoString() string {
  60464. return s.String()
  60465. }
  60466. // Validate inspects the fields of the type to determine if they are valid.
  60467. func (s *DiskImageDetail) Validate() error {
  60468. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  60469. if s.Bytes == nil {
  60470. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  60471. }
  60472. if s.Format == nil {
  60473. invalidParams.Add(request.NewErrParamRequired("Format"))
  60474. }
  60475. if s.ImportManifestUrl == nil {
  60476. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  60477. }
  60478. if invalidParams.Len() > 0 {
  60479. return invalidParams
  60480. }
  60481. return nil
  60482. }
  60483. // SetBytes sets the Bytes field's value.
  60484. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  60485. s.Bytes = &v
  60486. return s
  60487. }
  60488. // SetFormat sets the Format field's value.
  60489. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  60490. s.Format = &v
  60491. return s
  60492. }
  60493. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  60494. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  60495. s.ImportManifestUrl = &v
  60496. return s
  60497. }
  60498. // Describes a disk image volume.
  60499. type DiskImageVolumeDescription struct {
  60500. _ struct{} `type:"structure"`
  60501. // The volume identifier.
  60502. Id *string `locationName:"id" type:"string"`
  60503. // The size of the volume, in GiB.
  60504. Size *int64 `locationName:"size" type:"long"`
  60505. }
  60506. // String returns the string representation
  60507. func (s DiskImageVolumeDescription) String() string {
  60508. return awsutil.Prettify(s)
  60509. }
  60510. // GoString returns the string representation
  60511. func (s DiskImageVolumeDescription) GoString() string {
  60512. return s.String()
  60513. }
  60514. // SetId sets the Id field's value.
  60515. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  60516. s.Id = &v
  60517. return s
  60518. }
  60519. // SetSize sets the Size field's value.
  60520. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  60521. s.Size = &v
  60522. return s
  60523. }
  60524. // Describes the disk.
  60525. type DiskInfo struct {
  60526. _ struct{} `type:"structure"`
  60527. // The number of disks with this configuration.
  60528. Count *int64 `locationName:"count" type:"integer"`
  60529. // The size of the disk in GB.
  60530. SizeInGB *int64 `locationName:"sizeInGB" type:"long"`
  60531. // The type of disk.
  60532. Type *string `locationName:"type" type:"string" enum:"DiskType"`
  60533. }
  60534. // String returns the string representation
  60535. func (s DiskInfo) String() string {
  60536. return awsutil.Prettify(s)
  60537. }
  60538. // GoString returns the string representation
  60539. func (s DiskInfo) GoString() string {
  60540. return s.String()
  60541. }
  60542. // SetCount sets the Count field's value.
  60543. func (s *DiskInfo) SetCount(v int64) *DiskInfo {
  60544. s.Count = &v
  60545. return s
  60546. }
  60547. // SetSizeInGB sets the SizeInGB field's value.
  60548. func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo {
  60549. s.SizeInGB = &v
  60550. return s
  60551. }
  60552. // SetType sets the Type field's value.
  60553. func (s *DiskInfo) SetType(v string) *DiskInfo {
  60554. s.Type = &v
  60555. return s
  60556. }
  60557. // Describes a DNS entry.
  60558. type DnsEntry struct {
  60559. _ struct{} `type:"structure"`
  60560. // The DNS name.
  60561. DnsName *string `locationName:"dnsName" type:"string"`
  60562. // The ID of the private hosted zone.
  60563. HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
  60564. }
  60565. // String returns the string representation
  60566. func (s DnsEntry) String() string {
  60567. return awsutil.Prettify(s)
  60568. }
  60569. // GoString returns the string representation
  60570. func (s DnsEntry) GoString() string {
  60571. return s.String()
  60572. }
  60573. // SetDnsName sets the DnsName field's value.
  60574. func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
  60575. s.DnsName = &v
  60576. return s
  60577. }
  60578. // SetHostedZoneId sets the HostedZoneId field's value.
  60579. func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
  60580. s.HostedZoneId = &v
  60581. return s
  60582. }
  60583. // Information about the DNS server to be used.
  60584. type DnsServersOptionsModifyStructure struct {
  60585. _ struct{} `type:"structure"`
  60586. // The IPv4 address range, in CIDR notation, of the DNS servers to be used.
  60587. // You can specify up to two DNS servers. Ensure that the DNS servers can be
  60588. // reached by the clients. The specified values overwrite the existing values.
  60589. CustomDnsServers []*string `locationNameList:"item" type:"list"`
  60590. // Indicates whether DNS servers should be used. Specify False to delete the
  60591. // existing DNS servers.
  60592. Enabled *bool `type:"boolean"`
  60593. }
  60594. // String returns the string representation
  60595. func (s DnsServersOptionsModifyStructure) String() string {
  60596. return awsutil.Prettify(s)
  60597. }
  60598. // GoString returns the string representation
  60599. func (s DnsServersOptionsModifyStructure) GoString() string {
  60600. return s.String()
  60601. }
  60602. // SetCustomDnsServers sets the CustomDnsServers field's value.
  60603. func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
  60604. s.CustomDnsServers = v
  60605. return s
  60606. }
  60607. // SetEnabled sets the Enabled field's value.
  60608. func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
  60609. s.Enabled = &v
  60610. return s
  60611. }
  60612. // Describes a block device for an EBS volume.
  60613. type EbsBlockDevice struct {
  60614. _ struct{} `type:"structure"`
  60615. // Indicates whether the EBS volume is deleted on instance termination. For
  60616. // more information, see Preserving Amazon EBS Volumes on Instance Termination
  60617. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
  60618. // in the Amazon Elastic Compute Cloud User Guide.
  60619. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  60620. // Indicates whether the encryption state of an EBS volume is changed while
  60621. // being restored from a backing snapshot. The effect of setting the encryption
  60622. // state to true depends on the volume origin (new or from a snapshot), starting
  60623. // encryption state, ownership, and whether encryption by default is enabled.
  60624. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
  60625. // in the Amazon Elastic Compute Cloud User Guide.
  60626. //
  60627. // In no case can you remove encryption from an encrypted volume.
  60628. //
  60629. // Encrypted volumes can only be attached to instances that support Amazon EBS
  60630. // encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
  60631. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  60632. // The number of I/O operations per second (IOPS) that the volume supports.
  60633. // For io1 volumes, this represents the number of IOPS that are provisioned
  60634. // for the volume. For gp2 volumes, this represents the baseline performance
  60635. // of the volume and the rate at which the volume accumulates I/O credits for
  60636. // bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  60637. // in the Amazon Elastic Compute Cloud User Guide.
  60638. //
  60639. // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
  60640. // for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed
  60641. // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  60642. // Other instance families guarantee performance up to 32,000 IOPS. For more
  60643. // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  60644. // in the Amazon Elastic Compute Cloud User Guide.
  60645. //
  60646. // Condition: This parameter is required for requests to create io1 volumes;
  60647. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  60648. Iops *int64 `locationName:"iops" type:"integer"`
  60649. // Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
  60650. // CMK under which the EBS volume is encrypted.
  60651. //
  60652. // This parameter is only supported on BlockDeviceMapping objects called by
  60653. // RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
  60654. // RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
  60655. // and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
  60656. KmsKeyId *string `type:"string"`
  60657. // The ID of the snapshot.
  60658. SnapshotId *string `locationName:"snapshotId" type:"string"`
  60659. // The size of the volume, in GiB.
  60660. //
  60661. // Default: If you're creating the volume from a snapshot and don't specify
  60662. // a volume size, the default is the snapshot size.
  60663. //
  60664. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  60665. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  60666. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  60667. // a snapshot, the volume size must be equal to or larger than the snapshot
  60668. // size.
  60669. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  60670. // The volume type. If you set the type to io1, you must also specify the Iops
  60671. // parameter. If you set the type to gp2, st1, sc1, or standard, you must omit
  60672. // the Iops parameter.
  60673. //
  60674. // Default: gp2
  60675. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  60676. }
  60677. // String returns the string representation
  60678. func (s EbsBlockDevice) String() string {
  60679. return awsutil.Prettify(s)
  60680. }
  60681. // GoString returns the string representation
  60682. func (s EbsBlockDevice) GoString() string {
  60683. return s.String()
  60684. }
  60685. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  60686. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  60687. s.DeleteOnTermination = &v
  60688. return s
  60689. }
  60690. // SetEncrypted sets the Encrypted field's value.
  60691. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  60692. s.Encrypted = &v
  60693. return s
  60694. }
  60695. // SetIops sets the Iops field's value.
  60696. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  60697. s.Iops = &v
  60698. return s
  60699. }
  60700. // SetKmsKeyId sets the KmsKeyId field's value.
  60701. func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
  60702. s.KmsKeyId = &v
  60703. return s
  60704. }
  60705. // SetSnapshotId sets the SnapshotId field's value.
  60706. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  60707. s.SnapshotId = &v
  60708. return s
  60709. }
  60710. // SetVolumeSize sets the VolumeSize field's value.
  60711. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  60712. s.VolumeSize = &v
  60713. return s
  60714. }
  60715. // SetVolumeType sets the VolumeType field's value.
  60716. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  60717. s.VolumeType = &v
  60718. return s
  60719. }
  60720. // Describes the Amazon EBS features supported by the instance type.
  60721. type EbsInfo struct {
  60722. _ struct{} `type:"structure"`
  60723. // Indicates that the instance type is Amazon EBS-optimized. For more information,
  60724. // see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
  60725. // in Amazon EC2 User Guide for Linux Instances.
  60726. EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
  60727. // Indicates whether Amazon EBS encryption is supported.
  60728. EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"`
  60729. }
  60730. // String returns the string representation
  60731. func (s EbsInfo) String() string {
  60732. return awsutil.Prettify(s)
  60733. }
  60734. // GoString returns the string representation
  60735. func (s EbsInfo) GoString() string {
  60736. return s.String()
  60737. }
  60738. // SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value.
  60739. func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo {
  60740. s.EbsOptimizedSupport = &v
  60741. return s
  60742. }
  60743. // SetEncryptionSupport sets the EncryptionSupport field's value.
  60744. func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo {
  60745. s.EncryptionSupport = &v
  60746. return s
  60747. }
  60748. // Describes a parameter used to set up an EBS volume in a block device mapping.
  60749. type EbsInstanceBlockDevice struct {
  60750. _ struct{} `type:"structure"`
  60751. // The time stamp when the attachment initiated.
  60752. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  60753. // Indicates whether the volume is deleted on instance termination.
  60754. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  60755. // The attachment state.
  60756. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  60757. // The ID of the EBS volume.
  60758. VolumeId *string `locationName:"volumeId" type:"string"`
  60759. }
  60760. // String returns the string representation
  60761. func (s EbsInstanceBlockDevice) String() string {
  60762. return awsutil.Prettify(s)
  60763. }
  60764. // GoString returns the string representation
  60765. func (s EbsInstanceBlockDevice) GoString() string {
  60766. return s.String()
  60767. }
  60768. // SetAttachTime sets the AttachTime field's value.
  60769. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  60770. s.AttachTime = &v
  60771. return s
  60772. }
  60773. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  60774. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  60775. s.DeleteOnTermination = &v
  60776. return s
  60777. }
  60778. // SetStatus sets the Status field's value.
  60779. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  60780. s.Status = &v
  60781. return s
  60782. }
  60783. // SetVolumeId sets the VolumeId field's value.
  60784. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  60785. s.VolumeId = &v
  60786. return s
  60787. }
  60788. // Describes information used to set up an EBS volume specified in a block device
  60789. // mapping.
  60790. type EbsInstanceBlockDeviceSpecification struct {
  60791. _ struct{} `type:"structure"`
  60792. // Indicates whether the volume is deleted on instance termination.
  60793. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  60794. // The ID of the EBS volume.
  60795. VolumeId *string `locationName:"volumeId" type:"string"`
  60796. }
  60797. // String returns the string representation
  60798. func (s EbsInstanceBlockDeviceSpecification) String() string {
  60799. return awsutil.Prettify(s)
  60800. }
  60801. // GoString returns the string representation
  60802. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  60803. return s.String()
  60804. }
  60805. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  60806. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  60807. s.DeleteOnTermination = &v
  60808. return s
  60809. }
  60810. // SetVolumeId sets the VolumeId field's value.
  60811. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  60812. s.VolumeId = &v
  60813. return s
  60814. }
  60815. // Describes an egress-only internet gateway.
  60816. type EgressOnlyInternetGateway struct {
  60817. _ struct{} `type:"structure"`
  60818. // Information about the attachment of the egress-only internet gateway.
  60819. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  60820. // The ID of the egress-only internet gateway.
  60821. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  60822. // The tags assigned to the egress-only internet gateway.
  60823. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  60824. }
  60825. // String returns the string representation
  60826. func (s EgressOnlyInternetGateway) String() string {
  60827. return awsutil.Prettify(s)
  60828. }
  60829. // GoString returns the string representation
  60830. func (s EgressOnlyInternetGateway) GoString() string {
  60831. return s.String()
  60832. }
  60833. // SetAttachments sets the Attachments field's value.
  60834. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  60835. s.Attachments = v
  60836. return s
  60837. }
  60838. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  60839. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  60840. s.EgressOnlyInternetGatewayId = &v
  60841. return s
  60842. }
  60843. // SetTags sets the Tags field's value.
  60844. func (s *EgressOnlyInternetGateway) SetTags(v []*Tag) *EgressOnlyInternetGateway {
  60845. s.Tags = v
  60846. return s
  60847. }
  60848. // Describes the association between an instance and an Elastic Graphics accelerator.
  60849. type ElasticGpuAssociation struct {
  60850. _ struct{} `type:"structure"`
  60851. // The ID of the association.
  60852. ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
  60853. // The state of the association between the instance and the Elastic Graphics
  60854. // accelerator.
  60855. ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
  60856. // The time the Elastic Graphics accelerator was associated with the instance.
  60857. ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
  60858. // The ID of the Elastic Graphics accelerator.
  60859. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  60860. }
  60861. // String returns the string representation
  60862. func (s ElasticGpuAssociation) String() string {
  60863. return awsutil.Prettify(s)
  60864. }
  60865. // GoString returns the string representation
  60866. func (s ElasticGpuAssociation) GoString() string {
  60867. return s.String()
  60868. }
  60869. // SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
  60870. func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
  60871. s.ElasticGpuAssociationId = &v
  60872. return s
  60873. }
  60874. // SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
  60875. func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
  60876. s.ElasticGpuAssociationState = &v
  60877. return s
  60878. }
  60879. // SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
  60880. func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
  60881. s.ElasticGpuAssociationTime = &v
  60882. return s
  60883. }
  60884. // SetElasticGpuId sets the ElasticGpuId field's value.
  60885. func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
  60886. s.ElasticGpuId = &v
  60887. return s
  60888. }
  60889. // Describes the status of an Elastic Graphics accelerator.
  60890. type ElasticGpuHealth struct {
  60891. _ struct{} `type:"structure"`
  60892. // The health status.
  60893. Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
  60894. }
  60895. // String returns the string representation
  60896. func (s ElasticGpuHealth) String() string {
  60897. return awsutil.Prettify(s)
  60898. }
  60899. // GoString returns the string representation
  60900. func (s ElasticGpuHealth) GoString() string {
  60901. return s.String()
  60902. }
  60903. // SetStatus sets the Status field's value.
  60904. func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
  60905. s.Status = &v
  60906. return s
  60907. }
  60908. // A specification for an Elastic Graphics accelerator.
  60909. type ElasticGpuSpecification struct {
  60910. _ struct{} `type:"structure"`
  60911. // The type of Elastic Graphics accelerator. For more information about the
  60912. // values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
  60913. // specifically the Elastic Graphics accelerator column, in the Amazon Elastic
  60914. // Compute Cloud User Guide for Windows Instances.
  60915. //
  60916. // Type is a required field
  60917. Type *string `type:"string" required:"true"`
  60918. }
  60919. // String returns the string representation
  60920. func (s ElasticGpuSpecification) String() string {
  60921. return awsutil.Prettify(s)
  60922. }
  60923. // GoString returns the string representation
  60924. func (s ElasticGpuSpecification) GoString() string {
  60925. return s.String()
  60926. }
  60927. // Validate inspects the fields of the type to determine if they are valid.
  60928. func (s *ElasticGpuSpecification) Validate() error {
  60929. invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
  60930. if s.Type == nil {
  60931. invalidParams.Add(request.NewErrParamRequired("Type"))
  60932. }
  60933. if invalidParams.Len() > 0 {
  60934. return invalidParams
  60935. }
  60936. return nil
  60937. }
  60938. // SetType sets the Type field's value.
  60939. func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
  60940. s.Type = &v
  60941. return s
  60942. }
  60943. // Describes an elastic GPU.
  60944. type ElasticGpuSpecificationResponse struct {
  60945. _ struct{} `type:"structure"`
  60946. // The elastic GPU type.
  60947. Type *string `locationName:"type" type:"string"`
  60948. }
  60949. // String returns the string representation
  60950. func (s ElasticGpuSpecificationResponse) String() string {
  60951. return awsutil.Prettify(s)
  60952. }
  60953. // GoString returns the string representation
  60954. func (s ElasticGpuSpecificationResponse) GoString() string {
  60955. return s.String()
  60956. }
  60957. // SetType sets the Type field's value.
  60958. func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
  60959. s.Type = &v
  60960. return s
  60961. }
  60962. // Describes an Elastic Graphics accelerator.
  60963. type ElasticGpus struct {
  60964. _ struct{} `type:"structure"`
  60965. // The Availability Zone in the which the Elastic Graphics accelerator resides.
  60966. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  60967. // The status of the Elastic Graphics accelerator.
  60968. ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
  60969. // The ID of the Elastic Graphics accelerator.
  60970. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  60971. // The state of the Elastic Graphics accelerator.
  60972. ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
  60973. // The type of Elastic Graphics accelerator.
  60974. ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
  60975. // The ID of the instance to which the Elastic Graphics accelerator is attached.
  60976. InstanceId *string `locationName:"instanceId" type:"string"`
  60977. // The tags assigned to the Elastic Graphics accelerator.
  60978. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  60979. }
  60980. // String returns the string representation
  60981. func (s ElasticGpus) String() string {
  60982. return awsutil.Prettify(s)
  60983. }
  60984. // GoString returns the string representation
  60985. func (s ElasticGpus) GoString() string {
  60986. return s.String()
  60987. }
  60988. // SetAvailabilityZone sets the AvailabilityZone field's value.
  60989. func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
  60990. s.AvailabilityZone = &v
  60991. return s
  60992. }
  60993. // SetElasticGpuHealth sets the ElasticGpuHealth field's value.
  60994. func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
  60995. s.ElasticGpuHealth = v
  60996. return s
  60997. }
  60998. // SetElasticGpuId sets the ElasticGpuId field's value.
  60999. func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
  61000. s.ElasticGpuId = &v
  61001. return s
  61002. }
  61003. // SetElasticGpuState sets the ElasticGpuState field's value.
  61004. func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
  61005. s.ElasticGpuState = &v
  61006. return s
  61007. }
  61008. // SetElasticGpuType sets the ElasticGpuType field's value.
  61009. func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
  61010. s.ElasticGpuType = &v
  61011. return s
  61012. }
  61013. // SetInstanceId sets the InstanceId field's value.
  61014. func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
  61015. s.InstanceId = &v
  61016. return s
  61017. }
  61018. // SetTags sets the Tags field's value.
  61019. func (s *ElasticGpus) SetTags(v []*Tag) *ElasticGpus {
  61020. s.Tags = v
  61021. return s
  61022. }
  61023. // Describes an elastic inference accelerator.
  61024. type ElasticInferenceAccelerator struct {
  61025. _ struct{} `type:"structure"`
  61026. // The number of elastic inference accelerators to attach to the instance.
  61027. //
  61028. // Default: 1
  61029. Count *int64 `min:"1" type:"integer"`
  61030. // The type of elastic inference accelerator. The possible values are eia1.medium,
  61031. // eia1.large, and eia1.xlarge.
  61032. //
  61033. // Type is a required field
  61034. Type *string `type:"string" required:"true"`
  61035. }
  61036. // String returns the string representation
  61037. func (s ElasticInferenceAccelerator) String() string {
  61038. return awsutil.Prettify(s)
  61039. }
  61040. // GoString returns the string representation
  61041. func (s ElasticInferenceAccelerator) GoString() string {
  61042. return s.String()
  61043. }
  61044. // Validate inspects the fields of the type to determine if they are valid.
  61045. func (s *ElasticInferenceAccelerator) Validate() error {
  61046. invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
  61047. if s.Count != nil && *s.Count < 1 {
  61048. invalidParams.Add(request.NewErrParamMinValue("Count", 1))
  61049. }
  61050. if s.Type == nil {
  61051. invalidParams.Add(request.NewErrParamRequired("Type"))
  61052. }
  61053. if invalidParams.Len() > 0 {
  61054. return invalidParams
  61055. }
  61056. return nil
  61057. }
  61058. // SetCount sets the Count field's value.
  61059. func (s *ElasticInferenceAccelerator) SetCount(v int64) *ElasticInferenceAccelerator {
  61060. s.Count = &v
  61061. return s
  61062. }
  61063. // SetType sets the Type field's value.
  61064. func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
  61065. s.Type = &v
  61066. return s
  61067. }
  61068. // Describes the association between an instance and an elastic inference accelerator.
  61069. type ElasticInferenceAcceleratorAssociation struct {
  61070. _ struct{} `type:"structure"`
  61071. // The Amazon Resource Name (ARN) of the elastic inference accelerator.
  61072. ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
  61073. // The ID of the association.
  61074. ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
  61075. // The state of the elastic inference accelerator.
  61076. ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
  61077. // The time at which the elastic inference accelerator is associated with an
  61078. // instance.
  61079. ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
  61080. }
  61081. // String returns the string representation
  61082. func (s ElasticInferenceAcceleratorAssociation) String() string {
  61083. return awsutil.Prettify(s)
  61084. }
  61085. // GoString returns the string representation
  61086. func (s ElasticInferenceAcceleratorAssociation) GoString() string {
  61087. return s.String()
  61088. }
  61089. // SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
  61090. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
  61091. s.ElasticInferenceAcceleratorArn = &v
  61092. return s
  61093. }
  61094. // SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
  61095. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
  61096. s.ElasticInferenceAcceleratorAssociationId = &v
  61097. return s
  61098. }
  61099. // SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
  61100. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
  61101. s.ElasticInferenceAcceleratorAssociationState = &v
  61102. return s
  61103. }
  61104. // SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
  61105. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
  61106. s.ElasticInferenceAcceleratorAssociationTime = &v
  61107. return s
  61108. }
  61109. type EnableEbsEncryptionByDefaultInput struct {
  61110. _ struct{} `type:"structure"`
  61111. // Checks whether you have the required permissions for the action, without
  61112. // actually making the request, and provides an error response. If you have
  61113. // the required permissions, the error response is DryRunOperation. Otherwise,
  61114. // it is UnauthorizedOperation.
  61115. DryRun *bool `type:"boolean"`
  61116. }
  61117. // String returns the string representation
  61118. func (s EnableEbsEncryptionByDefaultInput) String() string {
  61119. return awsutil.Prettify(s)
  61120. }
  61121. // GoString returns the string representation
  61122. func (s EnableEbsEncryptionByDefaultInput) GoString() string {
  61123. return s.String()
  61124. }
  61125. // SetDryRun sets the DryRun field's value.
  61126. func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
  61127. s.DryRun = &v
  61128. return s
  61129. }
  61130. type EnableEbsEncryptionByDefaultOutput struct {
  61131. _ struct{} `type:"structure"`
  61132. // The updated status of encryption by default.
  61133. EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
  61134. }
  61135. // String returns the string representation
  61136. func (s EnableEbsEncryptionByDefaultOutput) String() string {
  61137. return awsutil.Prettify(s)
  61138. }
  61139. // GoString returns the string representation
  61140. func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
  61141. return s.String()
  61142. }
  61143. // SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
  61144. func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
  61145. s.EbsEncryptionByDefault = &v
  61146. return s
  61147. }
  61148. // Contains information about the errors that occurred when enabling fast snapshot
  61149. // restores.
  61150. type EnableFastSnapshotRestoreErrorItem struct {
  61151. _ struct{} `type:"structure"`
  61152. // The errors.
  61153. FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
  61154. // The ID of the snapshot.
  61155. SnapshotId *string `locationName:"snapshotId" type:"string"`
  61156. }
  61157. // String returns the string representation
  61158. func (s EnableFastSnapshotRestoreErrorItem) String() string {
  61159. return awsutil.Prettify(s)
  61160. }
  61161. // GoString returns the string representation
  61162. func (s EnableFastSnapshotRestoreErrorItem) GoString() string {
  61163. return s.String()
  61164. }
  61165. // SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
  61166. func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem {
  61167. s.FastSnapshotRestoreStateErrors = v
  61168. return s
  61169. }
  61170. // SetSnapshotId sets the SnapshotId field's value.
  61171. func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem {
  61172. s.SnapshotId = &v
  61173. return s
  61174. }
  61175. // Describes an error that occurred when enabling fast snapshot restores.
  61176. type EnableFastSnapshotRestoreStateError struct {
  61177. _ struct{} `type:"structure"`
  61178. // The error code.
  61179. Code *string `locationName:"code" type:"string"`
  61180. // The error message.
  61181. Message *string `locationName:"message" type:"string"`
  61182. }
  61183. // String returns the string representation
  61184. func (s EnableFastSnapshotRestoreStateError) String() string {
  61185. return awsutil.Prettify(s)
  61186. }
  61187. // GoString returns the string representation
  61188. func (s EnableFastSnapshotRestoreStateError) GoString() string {
  61189. return s.String()
  61190. }
  61191. // SetCode sets the Code field's value.
  61192. func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError {
  61193. s.Code = &v
  61194. return s
  61195. }
  61196. // SetMessage sets the Message field's value.
  61197. func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError {
  61198. s.Message = &v
  61199. return s
  61200. }
  61201. // Contains information about an error that occurred when enabling fast snapshot
  61202. // restores.
  61203. type EnableFastSnapshotRestoreStateErrorItem struct {
  61204. _ struct{} `type:"structure"`
  61205. // The Availability Zone.
  61206. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  61207. // The error.
  61208. Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
  61209. }
  61210. // String returns the string representation
  61211. func (s EnableFastSnapshotRestoreStateErrorItem) String() string {
  61212. return awsutil.Prettify(s)
  61213. }
  61214. // GoString returns the string representation
  61215. func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string {
  61216. return s.String()
  61217. }
  61218. // SetAvailabilityZone sets the AvailabilityZone field's value.
  61219. func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem {
  61220. s.AvailabilityZone = &v
  61221. return s
  61222. }
  61223. // SetError sets the Error field's value.
  61224. func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem {
  61225. s.Error = v
  61226. return s
  61227. }
  61228. // Describes fast snapshot restores that were successfully enabled.
  61229. type EnableFastSnapshotRestoreSuccessItem struct {
  61230. _ struct{} `type:"structure"`
  61231. // The Availability Zone.
  61232. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  61233. // The time at which fast snapshot restores entered the disabled state.
  61234. DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
  61235. // The time at which fast snapshot restores entered the disabling state.
  61236. DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
  61237. // The time at which fast snapshot restores entered the enabled state.
  61238. EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
  61239. // The time at which fast snapshot restores entered the enabling state.
  61240. EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
  61241. // The time at which fast snapshot restores entered the optimizing state.
  61242. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
  61243. // The alias of the snapshot owner.
  61244. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  61245. // The ID of the AWS account that owns the snapshot.
  61246. OwnerId *string `locationName:"ownerId" type:"string"`
  61247. // The ID of the snapshot.
  61248. SnapshotId *string `locationName:"snapshotId" type:"string"`
  61249. // The state of fast snapshot restores.
  61250. State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
  61251. // The reason for the state transition. The possible values are as follows:
  61252. //
  61253. // * Client.UserInitiated - The state successfully transitioned to enabling
  61254. // or disabling.
  61255. //
  61256. // * Client.UserInitiated - Lifecycle state transition - The state successfully
  61257. // transitioned to optimizing, enabled, or disabled.
  61258. StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
  61259. }
  61260. // String returns the string representation
  61261. func (s EnableFastSnapshotRestoreSuccessItem) String() string {
  61262. return awsutil.Prettify(s)
  61263. }
  61264. // GoString returns the string representation
  61265. func (s EnableFastSnapshotRestoreSuccessItem) GoString() string {
  61266. return s.String()
  61267. }
  61268. // SetAvailabilityZone sets the AvailabilityZone field's value.
  61269. func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem {
  61270. s.AvailabilityZone = &v
  61271. return s
  61272. }
  61273. // SetDisabledTime sets the DisabledTime field's value.
  61274. func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
  61275. s.DisabledTime = &v
  61276. return s
  61277. }
  61278. // SetDisablingTime sets the DisablingTime field's value.
  61279. func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
  61280. s.DisablingTime = &v
  61281. return s
  61282. }
  61283. // SetEnabledTime sets the EnabledTime field's value.
  61284. func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
  61285. s.EnabledTime = &v
  61286. return s
  61287. }
  61288. // SetEnablingTime sets the EnablingTime field's value.
  61289. func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
  61290. s.EnablingTime = &v
  61291. return s
  61292. }
  61293. // SetOptimizingTime sets the OptimizingTime field's value.
  61294. func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
  61295. s.OptimizingTime = &v
  61296. return s
  61297. }
  61298. // SetOwnerAlias sets the OwnerAlias field's value.
  61299. func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem {
  61300. s.OwnerAlias = &v
  61301. return s
  61302. }
  61303. // SetOwnerId sets the OwnerId field's value.
  61304. func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem {
  61305. s.OwnerId = &v
  61306. return s
  61307. }
  61308. // SetSnapshotId sets the SnapshotId field's value.
  61309. func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem {
  61310. s.SnapshotId = &v
  61311. return s
  61312. }
  61313. // SetState sets the State field's value.
  61314. func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem {
  61315. s.State = &v
  61316. return s
  61317. }
  61318. // SetStateTransitionReason sets the StateTransitionReason field's value.
  61319. func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem {
  61320. s.StateTransitionReason = &v
  61321. return s
  61322. }
  61323. type EnableFastSnapshotRestoresInput struct {
  61324. _ struct{} `type:"structure"`
  61325. // One or more Availability Zones. For example, us-east-2a.
  61326. //
  61327. // AvailabilityZones is a required field
  61328. AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
  61329. // Checks whether you have the required permissions for the action, without
  61330. // actually making the request, and provides an error response. If you have
  61331. // the required permissions, the error response is DryRunOperation. Otherwise,
  61332. // it is UnauthorizedOperation.
  61333. DryRun *bool `type:"boolean"`
  61334. // The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You
  61335. // can specify a snapshot that was shared with you from another AWS account.
  61336. //
  61337. // SourceSnapshotIds is a required field
  61338. SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
  61339. }
  61340. // String returns the string representation
  61341. func (s EnableFastSnapshotRestoresInput) String() string {
  61342. return awsutil.Prettify(s)
  61343. }
  61344. // GoString returns the string representation
  61345. func (s EnableFastSnapshotRestoresInput) GoString() string {
  61346. return s.String()
  61347. }
  61348. // Validate inspects the fields of the type to determine if they are valid.
  61349. func (s *EnableFastSnapshotRestoresInput) Validate() error {
  61350. invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"}
  61351. if s.AvailabilityZones == nil {
  61352. invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
  61353. }
  61354. if s.SourceSnapshotIds == nil {
  61355. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
  61356. }
  61357. if invalidParams.Len() > 0 {
  61358. return invalidParams
  61359. }
  61360. return nil
  61361. }
  61362. // SetAvailabilityZones sets the AvailabilityZones field's value.
  61363. func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput {
  61364. s.AvailabilityZones = v
  61365. return s
  61366. }
  61367. // SetDryRun sets the DryRun field's value.
  61368. func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput {
  61369. s.DryRun = &v
  61370. return s
  61371. }
  61372. // SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
  61373. func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput {
  61374. s.SourceSnapshotIds = v
  61375. return s
  61376. }
  61377. type EnableFastSnapshotRestoresOutput struct {
  61378. _ struct{} `type:"structure"`
  61379. // Information about the snapshots for which fast snapshot restores were successfully
  61380. // enabled.
  61381. Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
  61382. // Information about the snapshots for which fast snapshot restores could not
  61383. // be enabled.
  61384. Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  61385. }
  61386. // String returns the string representation
  61387. func (s EnableFastSnapshotRestoresOutput) String() string {
  61388. return awsutil.Prettify(s)
  61389. }
  61390. // GoString returns the string representation
  61391. func (s EnableFastSnapshotRestoresOutput) GoString() string {
  61392. return s.String()
  61393. }
  61394. // SetSuccessful sets the Successful field's value.
  61395. func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput {
  61396. s.Successful = v
  61397. return s
  61398. }
  61399. // SetUnsuccessful sets the Unsuccessful field's value.
  61400. func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput {
  61401. s.Unsuccessful = v
  61402. return s
  61403. }
  61404. type EnableTransitGatewayRouteTablePropagationInput struct {
  61405. _ struct{} `type:"structure"`
  61406. // Checks whether you have the required permissions for the action, without
  61407. // actually making the request, and provides an error response. If you have
  61408. // the required permissions, the error response is DryRunOperation. Otherwise,
  61409. // it is UnauthorizedOperation.
  61410. DryRun *bool `type:"boolean"`
  61411. // The ID of the attachment.
  61412. //
  61413. // TransitGatewayAttachmentId is a required field
  61414. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  61415. // The ID of the propagation route table.
  61416. //
  61417. // TransitGatewayRouteTableId is a required field
  61418. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  61419. }
  61420. // String returns the string representation
  61421. func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
  61422. return awsutil.Prettify(s)
  61423. }
  61424. // GoString returns the string representation
  61425. func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
  61426. return s.String()
  61427. }
  61428. // Validate inspects the fields of the type to determine if they are valid.
  61429. func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
  61430. invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
  61431. if s.TransitGatewayAttachmentId == nil {
  61432. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  61433. }
  61434. if s.TransitGatewayRouteTableId == nil {
  61435. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  61436. }
  61437. if invalidParams.Len() > 0 {
  61438. return invalidParams
  61439. }
  61440. return nil
  61441. }
  61442. // SetDryRun sets the DryRun field's value.
  61443. func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
  61444. s.DryRun = &v
  61445. return s
  61446. }
  61447. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  61448. func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
  61449. s.TransitGatewayAttachmentId = &v
  61450. return s
  61451. }
  61452. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  61453. func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
  61454. s.TransitGatewayRouteTableId = &v
  61455. return s
  61456. }
  61457. type EnableTransitGatewayRouteTablePropagationOutput struct {
  61458. _ struct{} `type:"structure"`
  61459. // Information about route propagation.
  61460. Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
  61461. }
  61462. // String returns the string representation
  61463. func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
  61464. return awsutil.Prettify(s)
  61465. }
  61466. // GoString returns the string representation
  61467. func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
  61468. return s.String()
  61469. }
  61470. // SetPropagation sets the Propagation field's value.
  61471. func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
  61472. s.Propagation = v
  61473. return s
  61474. }
  61475. // Contains the parameters for EnableVgwRoutePropagation.
  61476. type EnableVgwRoutePropagationInput struct {
  61477. _ struct{} `type:"structure"`
  61478. // The ID of the virtual private gateway that is attached to a VPC. The virtual
  61479. // private gateway must be attached to the same VPC that the routing tables
  61480. // are associated with.
  61481. //
  61482. // GatewayId is a required field
  61483. GatewayId *string `type:"string" required:"true"`
  61484. // The ID of the route table. The routing table must be associated with the
  61485. // same VPC that the virtual private gateway is attached to.
  61486. //
  61487. // RouteTableId is a required field
  61488. RouteTableId *string `type:"string" required:"true"`
  61489. }
  61490. // String returns the string representation
  61491. func (s EnableVgwRoutePropagationInput) String() string {
  61492. return awsutil.Prettify(s)
  61493. }
  61494. // GoString returns the string representation
  61495. func (s EnableVgwRoutePropagationInput) GoString() string {
  61496. return s.String()
  61497. }
  61498. // Validate inspects the fields of the type to determine if they are valid.
  61499. func (s *EnableVgwRoutePropagationInput) Validate() error {
  61500. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  61501. if s.GatewayId == nil {
  61502. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  61503. }
  61504. if s.RouteTableId == nil {
  61505. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  61506. }
  61507. if invalidParams.Len() > 0 {
  61508. return invalidParams
  61509. }
  61510. return nil
  61511. }
  61512. // SetGatewayId sets the GatewayId field's value.
  61513. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  61514. s.GatewayId = &v
  61515. return s
  61516. }
  61517. // SetRouteTableId sets the RouteTableId field's value.
  61518. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  61519. s.RouteTableId = &v
  61520. return s
  61521. }
  61522. type EnableVgwRoutePropagationOutput struct {
  61523. _ struct{} `type:"structure"`
  61524. }
  61525. // String returns the string representation
  61526. func (s EnableVgwRoutePropagationOutput) String() string {
  61527. return awsutil.Prettify(s)
  61528. }
  61529. // GoString returns the string representation
  61530. func (s EnableVgwRoutePropagationOutput) GoString() string {
  61531. return s.String()
  61532. }
  61533. type EnableVolumeIOInput struct {
  61534. _ struct{} `type:"structure"`
  61535. // Checks whether you have the required permissions for the action, without
  61536. // actually making the request, and provides an error response. If you have
  61537. // the required permissions, the error response is DryRunOperation. Otherwise,
  61538. // it is UnauthorizedOperation.
  61539. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61540. // The ID of the volume.
  61541. //
  61542. // VolumeId is a required field
  61543. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  61544. }
  61545. // String returns the string representation
  61546. func (s EnableVolumeIOInput) String() string {
  61547. return awsutil.Prettify(s)
  61548. }
  61549. // GoString returns the string representation
  61550. func (s EnableVolumeIOInput) GoString() string {
  61551. return s.String()
  61552. }
  61553. // Validate inspects the fields of the type to determine if they are valid.
  61554. func (s *EnableVolumeIOInput) Validate() error {
  61555. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  61556. if s.VolumeId == nil {
  61557. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  61558. }
  61559. if invalidParams.Len() > 0 {
  61560. return invalidParams
  61561. }
  61562. return nil
  61563. }
  61564. // SetDryRun sets the DryRun field's value.
  61565. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  61566. s.DryRun = &v
  61567. return s
  61568. }
  61569. // SetVolumeId sets the VolumeId field's value.
  61570. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  61571. s.VolumeId = &v
  61572. return s
  61573. }
  61574. type EnableVolumeIOOutput struct {
  61575. _ struct{} `type:"structure"`
  61576. }
  61577. // String returns the string representation
  61578. func (s EnableVolumeIOOutput) String() string {
  61579. return awsutil.Prettify(s)
  61580. }
  61581. // GoString returns the string representation
  61582. func (s EnableVolumeIOOutput) GoString() string {
  61583. return s.String()
  61584. }
  61585. type EnableVpcClassicLinkDnsSupportInput struct {
  61586. _ struct{} `type:"structure"`
  61587. // The ID of the VPC.
  61588. VpcId *string `type:"string"`
  61589. }
  61590. // String returns the string representation
  61591. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  61592. return awsutil.Prettify(s)
  61593. }
  61594. // GoString returns the string representation
  61595. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  61596. return s.String()
  61597. }
  61598. // SetVpcId sets the VpcId field's value.
  61599. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  61600. s.VpcId = &v
  61601. return s
  61602. }
  61603. type EnableVpcClassicLinkDnsSupportOutput struct {
  61604. _ struct{} `type:"structure"`
  61605. // Returns true if the request succeeds; otherwise, it returns an error.
  61606. Return *bool `locationName:"return" type:"boolean"`
  61607. }
  61608. // String returns the string representation
  61609. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  61610. return awsutil.Prettify(s)
  61611. }
  61612. // GoString returns the string representation
  61613. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  61614. return s.String()
  61615. }
  61616. // SetReturn sets the Return field's value.
  61617. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  61618. s.Return = &v
  61619. return s
  61620. }
  61621. type EnableVpcClassicLinkInput struct {
  61622. _ struct{} `type:"structure"`
  61623. // Checks whether you have the required permissions for the action, without
  61624. // actually making the request, and provides an error response. If you have
  61625. // the required permissions, the error response is DryRunOperation. Otherwise,
  61626. // it is UnauthorizedOperation.
  61627. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61628. // The ID of the VPC.
  61629. //
  61630. // VpcId is a required field
  61631. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  61632. }
  61633. // String returns the string representation
  61634. func (s EnableVpcClassicLinkInput) String() string {
  61635. return awsutil.Prettify(s)
  61636. }
  61637. // GoString returns the string representation
  61638. func (s EnableVpcClassicLinkInput) GoString() string {
  61639. return s.String()
  61640. }
  61641. // Validate inspects the fields of the type to determine if they are valid.
  61642. func (s *EnableVpcClassicLinkInput) Validate() error {
  61643. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  61644. if s.VpcId == nil {
  61645. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  61646. }
  61647. if invalidParams.Len() > 0 {
  61648. return invalidParams
  61649. }
  61650. return nil
  61651. }
  61652. // SetDryRun sets the DryRun field's value.
  61653. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  61654. s.DryRun = &v
  61655. return s
  61656. }
  61657. // SetVpcId sets the VpcId field's value.
  61658. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  61659. s.VpcId = &v
  61660. return s
  61661. }
  61662. type EnableVpcClassicLinkOutput struct {
  61663. _ struct{} `type:"structure"`
  61664. // Returns true if the request succeeds; otherwise, it returns an error.
  61665. Return *bool `locationName:"return" type:"boolean"`
  61666. }
  61667. // String returns the string representation
  61668. func (s EnableVpcClassicLinkOutput) String() string {
  61669. return awsutil.Prettify(s)
  61670. }
  61671. // GoString returns the string representation
  61672. func (s EnableVpcClassicLinkOutput) GoString() string {
  61673. return s.String()
  61674. }
  61675. // SetReturn sets the Return field's value.
  61676. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  61677. s.Return = &v
  61678. return s
  61679. }
  61680. // Describes an EC2 Fleet or Spot Fleet event.
  61681. type EventInformation struct {
  61682. _ struct{} `type:"structure"`
  61683. // The description of the event.
  61684. EventDescription *string `locationName:"eventDescription" type:"string"`
  61685. // The event.
  61686. //
  61687. // The following are the error events:
  61688. //
  61689. // * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
  61690. // permissions either to launch or terminate an instance.
  61691. //
  61692. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  61693. // For more information, see the description of the event.
  61694. //
  61695. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  61696. // of Spot Instances that you can launch.
  61697. //
  61698. // The following are the fleetRequestChange events:
  61699. //
  61700. // * active - The EC2 Fleet or Spot Fleet request has been validated and
  61701. // Amazon EC2 is attempting to maintain the target number of running Spot
  61702. // Instances.
  61703. //
  61704. // * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
  61705. // no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
  61706. // two days after its instances were terminated.
  61707. //
  61708. // * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
  61709. // and does not launch additional Spot Instances. Existing Spot Instances
  61710. // continue to run until they are interrupted or terminated.
  61711. //
  61712. // * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
  61713. // and its Spot Instances are terminating.
  61714. //
  61715. // * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
  61716. // event indicates that the instances were terminated, if the request was
  61717. // created with TerminateInstancesWithExpiration set.
  61718. //
  61719. // * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
  61720. // request was accepted and is in progress.
  61721. //
  61722. // * modify_successful - The EC2 Fleet or Spot Fleet request was modified.
  61723. //
  61724. // * price_update - The price for a launch configuration was adjusted because
  61725. // it was too high. This change is permanent.
  61726. //
  61727. // * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
  61728. // Amazon EC2 is preparing to launch the target number of Spot Instances.
  61729. //
  61730. // The following are the instanceChange events:
  61731. //
  61732. // * launched - A request was fulfilled and a new instance was launched.
  61733. //
  61734. // * terminated - An instance was terminated by the user.
  61735. //
  61736. // The following are the Information events:
  61737. //
  61738. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  61739. // several attempts to launch instances have failed. For more information,
  61740. // see the description of the event.
  61741. //
  61742. // * launchSpecUnusable - The price in a launch specification is not valid
  61743. // because it is below the Spot price or the Spot price is above the On-Demand
  61744. // price.
  61745. //
  61746. // * fleetProgressHalted - The price in every launch specification is not
  61747. // valid. A launch specification might become valid if the Spot price changes.
  61748. EventSubType *string `locationName:"eventSubType" type:"string"`
  61749. // The ID of the instance. This information is available only for instanceChange
  61750. // events.
  61751. InstanceId *string `locationName:"instanceId" type:"string"`
  61752. }
  61753. // String returns the string representation
  61754. func (s EventInformation) String() string {
  61755. return awsutil.Prettify(s)
  61756. }
  61757. // GoString returns the string representation
  61758. func (s EventInformation) GoString() string {
  61759. return s.String()
  61760. }
  61761. // SetEventDescription sets the EventDescription field's value.
  61762. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  61763. s.EventDescription = &v
  61764. return s
  61765. }
  61766. // SetEventSubType sets the EventSubType field's value.
  61767. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  61768. s.EventSubType = &v
  61769. return s
  61770. }
  61771. // SetInstanceId sets the InstanceId field's value.
  61772. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  61773. s.InstanceId = &v
  61774. return s
  61775. }
  61776. type ExportClientVpnClientCertificateRevocationListInput struct {
  61777. _ struct{} `type:"structure"`
  61778. // The ID of the Client VPN endpoint.
  61779. //
  61780. // ClientVpnEndpointId is a required field
  61781. ClientVpnEndpointId *string `type:"string" required:"true"`
  61782. // Checks whether you have the required permissions for the action, without
  61783. // actually making the request, and provides an error response. If you have
  61784. // the required permissions, the error response is DryRunOperation. Otherwise,
  61785. // it is UnauthorizedOperation.
  61786. DryRun *bool `type:"boolean"`
  61787. }
  61788. // String returns the string representation
  61789. func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
  61790. return awsutil.Prettify(s)
  61791. }
  61792. // GoString returns the string representation
  61793. func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
  61794. return s.String()
  61795. }
  61796. // Validate inspects the fields of the type to determine if they are valid.
  61797. func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
  61798. invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
  61799. if s.ClientVpnEndpointId == nil {
  61800. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  61801. }
  61802. if invalidParams.Len() > 0 {
  61803. return invalidParams
  61804. }
  61805. return nil
  61806. }
  61807. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  61808. func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
  61809. s.ClientVpnEndpointId = &v
  61810. return s
  61811. }
  61812. // SetDryRun sets the DryRun field's value.
  61813. func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
  61814. s.DryRun = &v
  61815. return s
  61816. }
  61817. type ExportClientVpnClientCertificateRevocationListOutput struct {
  61818. _ struct{} `type:"structure"`
  61819. // Information about the client certificate revocation list.
  61820. CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
  61821. // The current state of the client certificate revocation list.
  61822. Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
  61823. }
  61824. // String returns the string representation
  61825. func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
  61826. return awsutil.Prettify(s)
  61827. }
  61828. // GoString returns the string representation
  61829. func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
  61830. return s.String()
  61831. }
  61832. // SetCertificateRevocationList sets the CertificateRevocationList field's value.
  61833. func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
  61834. s.CertificateRevocationList = &v
  61835. return s
  61836. }
  61837. // SetStatus sets the Status field's value.
  61838. func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
  61839. s.Status = v
  61840. return s
  61841. }
  61842. type ExportClientVpnClientConfigurationInput struct {
  61843. _ struct{} `type:"structure"`
  61844. // The ID of the Client VPN endpoint.
  61845. //
  61846. // ClientVpnEndpointId is a required field
  61847. ClientVpnEndpointId *string `type:"string" required:"true"`
  61848. // Checks whether you have the required permissions for the action, without
  61849. // actually making the request, and provides an error response. If you have
  61850. // the required permissions, the error response is DryRunOperation. Otherwise,
  61851. // it is UnauthorizedOperation.
  61852. DryRun *bool `type:"boolean"`
  61853. }
  61854. // String returns the string representation
  61855. func (s ExportClientVpnClientConfigurationInput) String() string {
  61856. return awsutil.Prettify(s)
  61857. }
  61858. // GoString returns the string representation
  61859. func (s ExportClientVpnClientConfigurationInput) GoString() string {
  61860. return s.String()
  61861. }
  61862. // Validate inspects the fields of the type to determine if they are valid.
  61863. func (s *ExportClientVpnClientConfigurationInput) Validate() error {
  61864. invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
  61865. if s.ClientVpnEndpointId == nil {
  61866. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  61867. }
  61868. if invalidParams.Len() > 0 {
  61869. return invalidParams
  61870. }
  61871. return nil
  61872. }
  61873. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  61874. func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
  61875. s.ClientVpnEndpointId = &v
  61876. return s
  61877. }
  61878. // SetDryRun sets the DryRun field's value.
  61879. func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
  61880. s.DryRun = &v
  61881. return s
  61882. }
  61883. type ExportClientVpnClientConfigurationOutput struct {
  61884. _ struct{} `type:"structure"`
  61885. // The contents of the Client VPN endpoint configuration file.
  61886. ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
  61887. }
  61888. // String returns the string representation
  61889. func (s ExportClientVpnClientConfigurationOutput) String() string {
  61890. return awsutil.Prettify(s)
  61891. }
  61892. // GoString returns the string representation
  61893. func (s ExportClientVpnClientConfigurationOutput) GoString() string {
  61894. return s.String()
  61895. }
  61896. // SetClientConfiguration sets the ClientConfiguration field's value.
  61897. func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
  61898. s.ClientConfiguration = &v
  61899. return s
  61900. }
  61901. type ExportImageInput struct {
  61902. _ struct{} `type:"structure"`
  61903. // Token to enable idempotency for export image requests.
  61904. ClientToken *string `type:"string" idempotencyToken:"true"`
  61905. // A description of the image being exported. The maximum length is 255 bytes.
  61906. Description *string `type:"string"`
  61907. // The disk image format.
  61908. //
  61909. // DiskImageFormat is a required field
  61910. DiskImageFormat *string `type:"string" required:"true" enum:"DiskImageFormat"`
  61911. // Checks whether you have the required permissions for the action, without
  61912. // actually making the request, and provides an error response. If you have
  61913. // the required permissions, the error response is DryRunOperation. Otherwise,
  61914. // it is UnauthorizedOperation.
  61915. DryRun *bool `type:"boolean"`
  61916. // The ID of the image.
  61917. //
  61918. // ImageId is a required field
  61919. ImageId *string `type:"string" required:"true"`
  61920. // The name of the role that grants VM Import/Export permission to export images
  61921. // to your S3 bucket. If this parameter is not specified, the default role is
  61922. // named 'vmimport'.
  61923. RoleName *string `type:"string"`
  61924. // Information about the destination S3 bucket. The bucket must exist and grant
  61925. // WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  61926. //
  61927. // S3ExportLocation is a required field
  61928. S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
  61929. }
  61930. // String returns the string representation
  61931. func (s ExportImageInput) String() string {
  61932. return awsutil.Prettify(s)
  61933. }
  61934. // GoString returns the string representation
  61935. func (s ExportImageInput) GoString() string {
  61936. return s.String()
  61937. }
  61938. // Validate inspects the fields of the type to determine if they are valid.
  61939. func (s *ExportImageInput) Validate() error {
  61940. invalidParams := request.ErrInvalidParams{Context: "ExportImageInput"}
  61941. if s.DiskImageFormat == nil {
  61942. invalidParams.Add(request.NewErrParamRequired("DiskImageFormat"))
  61943. }
  61944. if s.ImageId == nil {
  61945. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  61946. }
  61947. if s.S3ExportLocation == nil {
  61948. invalidParams.Add(request.NewErrParamRequired("S3ExportLocation"))
  61949. }
  61950. if s.S3ExportLocation != nil {
  61951. if err := s.S3ExportLocation.Validate(); err != nil {
  61952. invalidParams.AddNested("S3ExportLocation", err.(request.ErrInvalidParams))
  61953. }
  61954. }
  61955. if invalidParams.Len() > 0 {
  61956. return invalidParams
  61957. }
  61958. return nil
  61959. }
  61960. // SetClientToken sets the ClientToken field's value.
  61961. func (s *ExportImageInput) SetClientToken(v string) *ExportImageInput {
  61962. s.ClientToken = &v
  61963. return s
  61964. }
  61965. // SetDescription sets the Description field's value.
  61966. func (s *ExportImageInput) SetDescription(v string) *ExportImageInput {
  61967. s.Description = &v
  61968. return s
  61969. }
  61970. // SetDiskImageFormat sets the DiskImageFormat field's value.
  61971. func (s *ExportImageInput) SetDiskImageFormat(v string) *ExportImageInput {
  61972. s.DiskImageFormat = &v
  61973. return s
  61974. }
  61975. // SetDryRun sets the DryRun field's value.
  61976. func (s *ExportImageInput) SetDryRun(v bool) *ExportImageInput {
  61977. s.DryRun = &v
  61978. return s
  61979. }
  61980. // SetImageId sets the ImageId field's value.
  61981. func (s *ExportImageInput) SetImageId(v string) *ExportImageInput {
  61982. s.ImageId = &v
  61983. return s
  61984. }
  61985. // SetRoleName sets the RoleName field's value.
  61986. func (s *ExportImageInput) SetRoleName(v string) *ExportImageInput {
  61987. s.RoleName = &v
  61988. return s
  61989. }
  61990. // SetS3ExportLocation sets the S3ExportLocation field's value.
  61991. func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) *ExportImageInput {
  61992. s.S3ExportLocation = v
  61993. return s
  61994. }
  61995. type ExportImageOutput struct {
  61996. _ struct{} `type:"structure"`
  61997. // A description of the image being exported.
  61998. Description *string `locationName:"description" type:"string"`
  61999. // The disk image format for the exported image.
  62000. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  62001. // The ID of the export image task.
  62002. ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
  62003. // The ID of the image.
  62004. ImageId *string `locationName:"imageId" type:"string"`
  62005. // The percent complete of the export image task.
  62006. Progress *string `locationName:"progress" type:"string"`
  62007. // The name of the role that grants VM Import/Export permission to export images
  62008. // to your S3 bucket.
  62009. RoleName *string `locationName:"roleName" type:"string"`
  62010. // Information about the destination S3 bucket.
  62011. S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
  62012. // The status of the export image task. The possible values are active, completed,
  62013. // deleting, and deleted.
  62014. Status *string `locationName:"status" type:"string"`
  62015. // The status message for the export image task.
  62016. StatusMessage *string `locationName:"statusMessage" type:"string"`
  62017. }
  62018. // String returns the string representation
  62019. func (s ExportImageOutput) String() string {
  62020. return awsutil.Prettify(s)
  62021. }
  62022. // GoString returns the string representation
  62023. func (s ExportImageOutput) GoString() string {
  62024. return s.String()
  62025. }
  62026. // SetDescription sets the Description field's value.
  62027. func (s *ExportImageOutput) SetDescription(v string) *ExportImageOutput {
  62028. s.Description = &v
  62029. return s
  62030. }
  62031. // SetDiskImageFormat sets the DiskImageFormat field's value.
  62032. func (s *ExportImageOutput) SetDiskImageFormat(v string) *ExportImageOutput {
  62033. s.DiskImageFormat = &v
  62034. return s
  62035. }
  62036. // SetExportImageTaskId sets the ExportImageTaskId field's value.
  62037. func (s *ExportImageOutput) SetExportImageTaskId(v string) *ExportImageOutput {
  62038. s.ExportImageTaskId = &v
  62039. return s
  62040. }
  62041. // SetImageId sets the ImageId field's value.
  62042. func (s *ExportImageOutput) SetImageId(v string) *ExportImageOutput {
  62043. s.ImageId = &v
  62044. return s
  62045. }
  62046. // SetProgress sets the Progress field's value.
  62047. func (s *ExportImageOutput) SetProgress(v string) *ExportImageOutput {
  62048. s.Progress = &v
  62049. return s
  62050. }
  62051. // SetRoleName sets the RoleName field's value.
  62052. func (s *ExportImageOutput) SetRoleName(v string) *ExportImageOutput {
  62053. s.RoleName = &v
  62054. return s
  62055. }
  62056. // SetS3ExportLocation sets the S3ExportLocation field's value.
  62057. func (s *ExportImageOutput) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageOutput {
  62058. s.S3ExportLocation = v
  62059. return s
  62060. }
  62061. // SetStatus sets the Status field's value.
  62062. func (s *ExportImageOutput) SetStatus(v string) *ExportImageOutput {
  62063. s.Status = &v
  62064. return s
  62065. }
  62066. // SetStatusMessage sets the StatusMessage field's value.
  62067. func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput {
  62068. s.StatusMessage = &v
  62069. return s
  62070. }
  62071. // Describes an export image task.
  62072. type ExportImageTask struct {
  62073. _ struct{} `type:"structure"`
  62074. // A description of the image being exported.
  62075. Description *string `locationName:"description" type:"string"`
  62076. // The ID of the export image task.
  62077. ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
  62078. // The ID of the image.
  62079. ImageId *string `locationName:"imageId" type:"string"`
  62080. // The percent complete of the export image task.
  62081. Progress *string `locationName:"progress" type:"string"`
  62082. // Information about the destination S3 bucket.
  62083. S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
  62084. // The status of the export image task. The possible values are active, completed,
  62085. // deleting, and deleted.
  62086. Status *string `locationName:"status" type:"string"`
  62087. // The status message for the export image task.
  62088. StatusMessage *string `locationName:"statusMessage" type:"string"`
  62089. }
  62090. // String returns the string representation
  62091. func (s ExportImageTask) String() string {
  62092. return awsutil.Prettify(s)
  62093. }
  62094. // GoString returns the string representation
  62095. func (s ExportImageTask) GoString() string {
  62096. return s.String()
  62097. }
  62098. // SetDescription sets the Description field's value.
  62099. func (s *ExportImageTask) SetDescription(v string) *ExportImageTask {
  62100. s.Description = &v
  62101. return s
  62102. }
  62103. // SetExportImageTaskId sets the ExportImageTaskId field's value.
  62104. func (s *ExportImageTask) SetExportImageTaskId(v string) *ExportImageTask {
  62105. s.ExportImageTaskId = &v
  62106. return s
  62107. }
  62108. // SetImageId sets the ImageId field's value.
  62109. func (s *ExportImageTask) SetImageId(v string) *ExportImageTask {
  62110. s.ImageId = &v
  62111. return s
  62112. }
  62113. // SetProgress sets the Progress field's value.
  62114. func (s *ExportImageTask) SetProgress(v string) *ExportImageTask {
  62115. s.Progress = &v
  62116. return s
  62117. }
  62118. // SetS3ExportLocation sets the S3ExportLocation field's value.
  62119. func (s *ExportImageTask) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageTask {
  62120. s.S3ExportLocation = v
  62121. return s
  62122. }
  62123. // SetStatus sets the Status field's value.
  62124. func (s *ExportImageTask) SetStatus(v string) *ExportImageTask {
  62125. s.Status = &v
  62126. return s
  62127. }
  62128. // SetStatusMessage sets the StatusMessage field's value.
  62129. func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask {
  62130. s.StatusMessage = &v
  62131. return s
  62132. }
  62133. // Describes an instance export task.
  62134. type ExportTask struct {
  62135. _ struct{} `type:"structure"`
  62136. // A description of the resource being exported.
  62137. Description *string `locationName:"description" type:"string"`
  62138. // The ID of the export task.
  62139. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  62140. // Information about the export task.
  62141. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  62142. // Information about the instance to export.
  62143. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  62144. // The state of the export task.
  62145. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  62146. // The status message related to the export task.
  62147. StatusMessage *string `locationName:"statusMessage" type:"string"`
  62148. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  62149. }
  62150. // String returns the string representation
  62151. func (s ExportTask) String() string {
  62152. return awsutil.Prettify(s)
  62153. }
  62154. // GoString returns the string representation
  62155. func (s ExportTask) GoString() string {
  62156. return s.String()
  62157. }
  62158. // SetDescription sets the Description field's value.
  62159. func (s *ExportTask) SetDescription(v string) *ExportTask {
  62160. s.Description = &v
  62161. return s
  62162. }
  62163. // SetExportTaskId sets the ExportTaskId field's value.
  62164. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  62165. s.ExportTaskId = &v
  62166. return s
  62167. }
  62168. // SetExportToS3Task sets the ExportToS3Task field's value.
  62169. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  62170. s.ExportToS3Task = v
  62171. return s
  62172. }
  62173. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  62174. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  62175. s.InstanceExportDetails = v
  62176. return s
  62177. }
  62178. // SetState sets the State field's value.
  62179. func (s *ExportTask) SetState(v string) *ExportTask {
  62180. s.State = &v
  62181. return s
  62182. }
  62183. // SetStatusMessage sets the StatusMessage field's value.
  62184. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  62185. s.StatusMessage = &v
  62186. return s
  62187. }
  62188. // SetTags sets the Tags field's value.
  62189. func (s *ExportTask) SetTags(v []*Tag) *ExportTask {
  62190. s.Tags = v
  62191. return s
  62192. }
  62193. // Describes the destination for an export image task.
  62194. type ExportTaskS3Location struct {
  62195. _ struct{} `type:"structure"`
  62196. // The destination S3 bucket.
  62197. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  62198. // The prefix (logical hierarchy) in the bucket.
  62199. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  62200. }
  62201. // String returns the string representation
  62202. func (s ExportTaskS3Location) String() string {
  62203. return awsutil.Prettify(s)
  62204. }
  62205. // GoString returns the string representation
  62206. func (s ExportTaskS3Location) GoString() string {
  62207. return s.String()
  62208. }
  62209. // SetS3Bucket sets the S3Bucket field's value.
  62210. func (s *ExportTaskS3Location) SetS3Bucket(v string) *ExportTaskS3Location {
  62211. s.S3Bucket = &v
  62212. return s
  62213. }
  62214. // SetS3Prefix sets the S3Prefix field's value.
  62215. func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location {
  62216. s.S3Prefix = &v
  62217. return s
  62218. }
  62219. // Describes the destination for an export image task.
  62220. type ExportTaskS3LocationRequest struct {
  62221. _ struct{} `type:"structure"`
  62222. // The destination S3 bucket.
  62223. //
  62224. // S3Bucket is a required field
  62225. S3Bucket *string `type:"string" required:"true"`
  62226. // The prefix (logical hierarchy) in the bucket.
  62227. S3Prefix *string `type:"string"`
  62228. }
  62229. // String returns the string representation
  62230. func (s ExportTaskS3LocationRequest) String() string {
  62231. return awsutil.Prettify(s)
  62232. }
  62233. // GoString returns the string representation
  62234. func (s ExportTaskS3LocationRequest) GoString() string {
  62235. return s.String()
  62236. }
  62237. // Validate inspects the fields of the type to determine if they are valid.
  62238. func (s *ExportTaskS3LocationRequest) Validate() error {
  62239. invalidParams := request.ErrInvalidParams{Context: "ExportTaskS3LocationRequest"}
  62240. if s.S3Bucket == nil {
  62241. invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
  62242. }
  62243. if invalidParams.Len() > 0 {
  62244. return invalidParams
  62245. }
  62246. return nil
  62247. }
  62248. // SetS3Bucket sets the S3Bucket field's value.
  62249. func (s *ExportTaskS3LocationRequest) SetS3Bucket(v string) *ExportTaskS3LocationRequest {
  62250. s.S3Bucket = &v
  62251. return s
  62252. }
  62253. // SetS3Prefix sets the S3Prefix field's value.
  62254. func (s *ExportTaskS3LocationRequest) SetS3Prefix(v string) *ExportTaskS3LocationRequest {
  62255. s.S3Prefix = &v
  62256. return s
  62257. }
  62258. // Describes the format and location for an instance export task.
  62259. type ExportToS3Task struct {
  62260. _ struct{} `type:"structure"`
  62261. // The container format used to combine disk images with metadata (such as OVF).
  62262. // If absent, only the disk image is exported.
  62263. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  62264. // The format for the exported image.
  62265. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  62266. // The S3 bucket for the destination image. The destination bucket must exist
  62267. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  62268. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  62269. // The encryption key for your S3 bucket.
  62270. S3Key *string `locationName:"s3Key" type:"string"`
  62271. }
  62272. // String returns the string representation
  62273. func (s ExportToS3Task) String() string {
  62274. return awsutil.Prettify(s)
  62275. }
  62276. // GoString returns the string representation
  62277. func (s ExportToS3Task) GoString() string {
  62278. return s.String()
  62279. }
  62280. // SetContainerFormat sets the ContainerFormat field's value.
  62281. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  62282. s.ContainerFormat = &v
  62283. return s
  62284. }
  62285. // SetDiskImageFormat sets the DiskImageFormat field's value.
  62286. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  62287. s.DiskImageFormat = &v
  62288. return s
  62289. }
  62290. // SetS3Bucket sets the S3Bucket field's value.
  62291. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  62292. s.S3Bucket = &v
  62293. return s
  62294. }
  62295. // SetS3Key sets the S3Key field's value.
  62296. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  62297. s.S3Key = &v
  62298. return s
  62299. }
  62300. // Describes an instance export task.
  62301. type ExportToS3TaskSpecification struct {
  62302. _ struct{} `type:"structure"`
  62303. // The container format used to combine disk images with metadata (such as OVF).
  62304. // If absent, only the disk image is exported.
  62305. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  62306. // The format for the exported image.
  62307. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  62308. // The S3 bucket for the destination image. The destination bucket must exist
  62309. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  62310. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  62311. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  62312. // + exportTaskId + '.' + diskImageFormat.
  62313. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  62314. }
  62315. // String returns the string representation
  62316. func (s ExportToS3TaskSpecification) String() string {
  62317. return awsutil.Prettify(s)
  62318. }
  62319. // GoString returns the string representation
  62320. func (s ExportToS3TaskSpecification) GoString() string {
  62321. return s.String()
  62322. }
  62323. // SetContainerFormat sets the ContainerFormat field's value.
  62324. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  62325. s.ContainerFormat = &v
  62326. return s
  62327. }
  62328. // SetDiskImageFormat sets the DiskImageFormat field's value.
  62329. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  62330. s.DiskImageFormat = &v
  62331. return s
  62332. }
  62333. // SetS3Bucket sets the S3Bucket field's value.
  62334. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  62335. s.S3Bucket = &v
  62336. return s
  62337. }
  62338. // SetS3Prefix sets the S3Prefix field's value.
  62339. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  62340. s.S3Prefix = &v
  62341. return s
  62342. }
  62343. type ExportTransitGatewayRoutesInput struct {
  62344. _ struct{} `type:"structure"`
  62345. // Checks whether you have the required permissions for the action, without
  62346. // actually making the request, and provides an error response. If you have
  62347. // the required permissions, the error response is DryRunOperation. Otherwise,
  62348. // it is UnauthorizedOperation.
  62349. DryRun *bool `type:"boolean"`
  62350. // One or more filters. The possible values are:
  62351. //
  62352. // * attachment.transit-gateway-attachment-id - The id of the transit gateway
  62353. // attachment.
  62354. //
  62355. // * attachment.resource-id - The resource id of the transit gateway attachment.
  62356. //
  62357. // * route-search.exact-match - The exact match of the specified filter.
  62358. //
  62359. // * route-search.longest-prefix-match - The longest prefix that matches
  62360. // the route.
  62361. //
  62362. // * route-search.subnet-of-match - The routes with a subnet that match the
  62363. // specified CIDR filter.
  62364. //
  62365. // * route-search.supernet-of-match - The routes with a CIDR that encompass
  62366. // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
  62367. // routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
  62368. // then the result returns 10.0.1.0/29.
  62369. //
  62370. // * state - The state of the attachment (available | deleted | deleting
  62371. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  62372. // | rejecting).
  62373. //
  62374. // * transit-gateway-route-destination-cidr-block - The CIDR range.
  62375. //
  62376. // * type - The type of route (active | blackhole).
  62377. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  62378. // The name of the S3 bucket.
  62379. //
  62380. // S3Bucket is a required field
  62381. S3Bucket *string `type:"string" required:"true"`
  62382. // The ID of the route table.
  62383. //
  62384. // TransitGatewayRouteTableId is a required field
  62385. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  62386. }
  62387. // String returns the string representation
  62388. func (s ExportTransitGatewayRoutesInput) String() string {
  62389. return awsutil.Prettify(s)
  62390. }
  62391. // GoString returns the string representation
  62392. func (s ExportTransitGatewayRoutesInput) GoString() string {
  62393. return s.String()
  62394. }
  62395. // Validate inspects the fields of the type to determine if they are valid.
  62396. func (s *ExportTransitGatewayRoutesInput) Validate() error {
  62397. invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
  62398. if s.S3Bucket == nil {
  62399. invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
  62400. }
  62401. if s.TransitGatewayRouteTableId == nil {
  62402. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  62403. }
  62404. if invalidParams.Len() > 0 {
  62405. return invalidParams
  62406. }
  62407. return nil
  62408. }
  62409. // SetDryRun sets the DryRun field's value.
  62410. func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
  62411. s.DryRun = &v
  62412. return s
  62413. }
  62414. // SetFilters sets the Filters field's value.
  62415. func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
  62416. s.Filters = v
  62417. return s
  62418. }
  62419. // SetS3Bucket sets the S3Bucket field's value.
  62420. func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
  62421. s.S3Bucket = &v
  62422. return s
  62423. }
  62424. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  62425. func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
  62426. s.TransitGatewayRouteTableId = &v
  62427. return s
  62428. }
  62429. type ExportTransitGatewayRoutesOutput struct {
  62430. _ struct{} `type:"structure"`
  62431. // The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
  62432. S3Location *string `locationName:"s3Location" type:"string"`
  62433. }
  62434. // String returns the string representation
  62435. func (s ExportTransitGatewayRoutesOutput) String() string {
  62436. return awsutil.Prettify(s)
  62437. }
  62438. // GoString returns the string representation
  62439. func (s ExportTransitGatewayRoutesOutput) GoString() string {
  62440. return s.String()
  62441. }
  62442. // SetS3Location sets the S3Location field's value.
  62443. func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
  62444. s.S3Location = &v
  62445. return s
  62446. }
  62447. // Describes a Reserved Instance whose queued purchase was not deleted.
  62448. type FailedQueuedPurchaseDeletion struct {
  62449. _ struct{} `type:"structure"`
  62450. // The error.
  62451. Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"`
  62452. // The ID of the Reserved Instance.
  62453. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  62454. }
  62455. // String returns the string representation
  62456. func (s FailedQueuedPurchaseDeletion) String() string {
  62457. return awsutil.Prettify(s)
  62458. }
  62459. // GoString returns the string representation
  62460. func (s FailedQueuedPurchaseDeletion) GoString() string {
  62461. return s.String()
  62462. }
  62463. // SetError sets the Error field's value.
  62464. func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion {
  62465. s.Error = v
  62466. return s
  62467. }
  62468. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  62469. func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion {
  62470. s.ReservedInstancesId = &v
  62471. return s
  62472. }
  62473. // A filter name and value pair that is used to return a more specific list
  62474. // of results from a describe operation. Filters can be used to match a set
  62475. // of resources by specific criteria, such as tags, attributes, or IDs. The
  62476. // filters supported by a describe operation are documented with the describe
  62477. // operation. For example:
  62478. //
  62479. // * DescribeAvailabilityZones
  62480. //
  62481. // * DescribeImages
  62482. //
  62483. // * DescribeInstances
  62484. //
  62485. // * DescribeKeyPairs
  62486. //
  62487. // * DescribeSecurityGroups
  62488. //
  62489. // * DescribeSnapshots
  62490. //
  62491. // * DescribeSubnets
  62492. //
  62493. // * DescribeTags
  62494. //
  62495. // * DescribeVolumes
  62496. //
  62497. // * DescribeVpcs
  62498. type Filter struct {
  62499. _ struct{} `type:"structure"`
  62500. // The name of the filter. Filter names are case-sensitive.
  62501. Name *string `type:"string"`
  62502. // The filter values. Filter values are case-sensitive.
  62503. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  62504. }
  62505. // String returns the string representation
  62506. func (s Filter) String() string {
  62507. return awsutil.Prettify(s)
  62508. }
  62509. // GoString returns the string representation
  62510. func (s Filter) GoString() string {
  62511. return s.String()
  62512. }
  62513. // SetName sets the Name field's value.
  62514. func (s *Filter) SetName(v string) *Filter {
  62515. s.Name = &v
  62516. return s
  62517. }
  62518. // SetValues sets the Values field's value.
  62519. func (s *Filter) SetValues(v []*string) *Filter {
  62520. s.Values = v
  62521. return s
  62522. }
  62523. // Describes an EC2 Fleet.
  62524. type FleetData struct {
  62525. _ struct{} `type:"structure"`
  62526. // The progress of the EC2 Fleet. If there is an error, the status is error.
  62527. // After all requests are placed, the status is pending_fulfillment. If the
  62528. // size of the EC2 Fleet is equal to or greater than its target capacity, the
  62529. // status is fulfilled. If the size of the EC2 Fleet is decreased, the status
  62530. // is pending_termination while instances are terminating.
  62531. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
  62532. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  62533. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  62534. //
  62535. // Constraints: Maximum 64 ASCII characters
  62536. ClientToken *string `locationName:"clientToken" type:"string"`
  62537. // The creation date and time of the EC2 Fleet.
  62538. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  62539. // Information about the instances that could not be launched by the fleet.
  62540. // Valid only when Type is set to instant.
  62541. Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
  62542. // Indicates whether running instances should be terminated if the target capacity
  62543. // of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
  62544. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  62545. // The ID of the EC2 Fleet.
  62546. FleetId *string `locationName:"fleetId" type:"string"`
  62547. // The state of the EC2 Fleet.
  62548. FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
  62549. // The number of units fulfilled by this request compared to the set target
  62550. // capacity.
  62551. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  62552. // The number of units fulfilled by this request compared to the set target
  62553. // On-Demand capacity.
  62554. FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
  62555. // Information about the instances that were launched by the fleet. Valid only
  62556. // when Type is set to instant.
  62557. Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
  62558. // The launch template and overrides.
  62559. LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  62560. // The allocation strategy of On-Demand Instances in an EC2 Fleet.
  62561. OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
  62562. // Indicates whether EC2 Fleet should replace unhealthy instances.
  62563. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  62564. // The configuration of Spot Instances in an EC2 Fleet.
  62565. SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
  62566. // The tags for an EC2 Fleet resource.
  62567. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  62568. // The number of units to request. You can choose to set the target capacity
  62569. // in terms of instances or a performance characteristic that is important to
  62570. // your application workload, such as vCPUs, memory, or I/O. If the request
  62571. // type is maintain, you can specify a target capacity of 0 and add capacity
  62572. // later.
  62573. TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
  62574. // Indicates whether running instances should be terminated when the EC2 Fleet
  62575. // expires.
  62576. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  62577. // The type of request. Indicates whether the EC2 Fleet only requests the target
  62578. // capacity, or also attempts to maintain it. If you request a certain target
  62579. // capacity, EC2 Fleet only places the required requests; it does not attempt
  62580. // to replenish instances if capacity is diminished, and it does not submit
  62581. // requests in alternative capacity pools if capacity is unavailable. To maintain
  62582. // a certain target capacity, EC2 Fleet places the required requests to meet
  62583. // this target capacity. It also automatically replenishes any interrupted Spot
  62584. // Instances. Default: maintain.
  62585. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  62586. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  62587. // The default is to start fulfilling the request immediately.
  62588. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  62589. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  62590. // At this point, no new instance requests are placed or able to fulfill the
  62591. // request. The default end date is 7 days from the current date.
  62592. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  62593. }
  62594. // String returns the string representation
  62595. func (s FleetData) String() string {
  62596. return awsutil.Prettify(s)
  62597. }
  62598. // GoString returns the string representation
  62599. func (s FleetData) GoString() string {
  62600. return s.String()
  62601. }
  62602. // SetActivityStatus sets the ActivityStatus field's value.
  62603. func (s *FleetData) SetActivityStatus(v string) *FleetData {
  62604. s.ActivityStatus = &v
  62605. return s
  62606. }
  62607. // SetClientToken sets the ClientToken field's value.
  62608. func (s *FleetData) SetClientToken(v string) *FleetData {
  62609. s.ClientToken = &v
  62610. return s
  62611. }
  62612. // SetCreateTime sets the CreateTime field's value.
  62613. func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
  62614. s.CreateTime = &v
  62615. return s
  62616. }
  62617. // SetErrors sets the Errors field's value.
  62618. func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
  62619. s.Errors = v
  62620. return s
  62621. }
  62622. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  62623. func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
  62624. s.ExcessCapacityTerminationPolicy = &v
  62625. return s
  62626. }
  62627. // SetFleetId sets the FleetId field's value.
  62628. func (s *FleetData) SetFleetId(v string) *FleetData {
  62629. s.FleetId = &v
  62630. return s
  62631. }
  62632. // SetFleetState sets the FleetState field's value.
  62633. func (s *FleetData) SetFleetState(v string) *FleetData {
  62634. s.FleetState = &v
  62635. return s
  62636. }
  62637. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  62638. func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
  62639. s.FulfilledCapacity = &v
  62640. return s
  62641. }
  62642. // SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
  62643. func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
  62644. s.FulfilledOnDemandCapacity = &v
  62645. return s
  62646. }
  62647. // SetInstances sets the Instances field's value.
  62648. func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
  62649. s.Instances = v
  62650. return s
  62651. }
  62652. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  62653. func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
  62654. s.LaunchTemplateConfigs = v
  62655. return s
  62656. }
  62657. // SetOnDemandOptions sets the OnDemandOptions field's value.
  62658. func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
  62659. s.OnDemandOptions = v
  62660. return s
  62661. }
  62662. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  62663. func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
  62664. s.ReplaceUnhealthyInstances = &v
  62665. return s
  62666. }
  62667. // SetSpotOptions sets the SpotOptions field's value.
  62668. func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
  62669. s.SpotOptions = v
  62670. return s
  62671. }
  62672. // SetTags sets the Tags field's value.
  62673. func (s *FleetData) SetTags(v []*Tag) *FleetData {
  62674. s.Tags = v
  62675. return s
  62676. }
  62677. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  62678. func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
  62679. s.TargetCapacitySpecification = v
  62680. return s
  62681. }
  62682. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  62683. func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
  62684. s.TerminateInstancesWithExpiration = &v
  62685. return s
  62686. }
  62687. // SetType sets the Type field's value.
  62688. func (s *FleetData) SetType(v string) *FleetData {
  62689. s.Type = &v
  62690. return s
  62691. }
  62692. // SetValidFrom sets the ValidFrom field's value.
  62693. func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
  62694. s.ValidFrom = &v
  62695. return s
  62696. }
  62697. // SetValidUntil sets the ValidUntil field's value.
  62698. func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
  62699. s.ValidUntil = &v
  62700. return s
  62701. }
  62702. // Describes a launch template and overrides.
  62703. type FleetLaunchTemplateConfig struct {
  62704. _ struct{} `type:"structure"`
  62705. // The launch template.
  62706. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  62707. // Any parameters that you specify override the same parameters in the launch
  62708. // template.
  62709. Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  62710. }
  62711. // String returns the string representation
  62712. func (s FleetLaunchTemplateConfig) String() string {
  62713. return awsutil.Prettify(s)
  62714. }
  62715. // GoString returns the string representation
  62716. func (s FleetLaunchTemplateConfig) GoString() string {
  62717. return s.String()
  62718. }
  62719. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  62720. func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
  62721. s.LaunchTemplateSpecification = v
  62722. return s
  62723. }
  62724. // SetOverrides sets the Overrides field's value.
  62725. func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
  62726. s.Overrides = v
  62727. return s
  62728. }
  62729. // Describes a launch template and overrides.
  62730. type FleetLaunchTemplateConfigRequest struct {
  62731. _ struct{} `type:"structure"`
  62732. // The launch template to use. You must specify either the launch template ID
  62733. // or launch template name in the request.
  62734. LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
  62735. // Any parameters that you specify override the same parameters in the launch
  62736. // template.
  62737. Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
  62738. }
  62739. // String returns the string representation
  62740. func (s FleetLaunchTemplateConfigRequest) String() string {
  62741. return awsutil.Prettify(s)
  62742. }
  62743. // GoString returns the string representation
  62744. func (s FleetLaunchTemplateConfigRequest) GoString() string {
  62745. return s.String()
  62746. }
  62747. // Validate inspects the fields of the type to determine if they are valid.
  62748. func (s *FleetLaunchTemplateConfigRequest) Validate() error {
  62749. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
  62750. if s.LaunchTemplateSpecification != nil {
  62751. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  62752. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  62753. }
  62754. }
  62755. if invalidParams.Len() > 0 {
  62756. return invalidParams
  62757. }
  62758. return nil
  62759. }
  62760. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  62761. func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
  62762. s.LaunchTemplateSpecification = v
  62763. return s
  62764. }
  62765. // SetOverrides sets the Overrides field's value.
  62766. func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
  62767. s.Overrides = v
  62768. return s
  62769. }
  62770. // Describes overrides for a launch template.
  62771. type FleetLaunchTemplateOverrides struct {
  62772. _ struct{} `type:"structure"`
  62773. // The Availability Zone in which to launch the instances.
  62774. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  62775. // The instance type.
  62776. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  62777. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  62778. MaxPrice *string `locationName:"maxPrice" type:"string"`
  62779. // The location where the instance launched, if applicable.
  62780. Placement *PlacementResponse `locationName:"placement" type:"structure"`
  62781. // The priority for the launch template override. If AllocationStrategy is set
  62782. // to prioritized, EC2 Fleet uses priority to determine which launch template
  62783. // override to use first in fulfilling On-Demand capacity. The highest priority
  62784. // is launched first. Valid values are whole numbers starting at 0. The lower
  62785. // the number, the higher the priority. If no number is set, the override has
  62786. // the lowest priority.
  62787. Priority *float64 `locationName:"priority" type:"double"`
  62788. // The ID of the subnet in which to launch the instances.
  62789. SubnetId *string `locationName:"subnetId" type:"string"`
  62790. // The number of units provided by the specified instance type.
  62791. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  62792. }
  62793. // String returns the string representation
  62794. func (s FleetLaunchTemplateOverrides) String() string {
  62795. return awsutil.Prettify(s)
  62796. }
  62797. // GoString returns the string representation
  62798. func (s FleetLaunchTemplateOverrides) GoString() string {
  62799. return s.String()
  62800. }
  62801. // SetAvailabilityZone sets the AvailabilityZone field's value.
  62802. func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
  62803. s.AvailabilityZone = &v
  62804. return s
  62805. }
  62806. // SetInstanceType sets the InstanceType field's value.
  62807. func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
  62808. s.InstanceType = &v
  62809. return s
  62810. }
  62811. // SetMaxPrice sets the MaxPrice field's value.
  62812. func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
  62813. s.MaxPrice = &v
  62814. return s
  62815. }
  62816. // SetPlacement sets the Placement field's value.
  62817. func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
  62818. s.Placement = v
  62819. return s
  62820. }
  62821. // SetPriority sets the Priority field's value.
  62822. func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
  62823. s.Priority = &v
  62824. return s
  62825. }
  62826. // SetSubnetId sets the SubnetId field's value.
  62827. func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
  62828. s.SubnetId = &v
  62829. return s
  62830. }
  62831. // SetWeightedCapacity sets the WeightedCapacity field's value.
  62832. func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
  62833. s.WeightedCapacity = &v
  62834. return s
  62835. }
  62836. // Describes overrides for a launch template.
  62837. type FleetLaunchTemplateOverridesRequest struct {
  62838. _ struct{} `type:"structure"`
  62839. // The Availability Zone in which to launch the instances.
  62840. AvailabilityZone *string `type:"string"`
  62841. // The instance type.
  62842. InstanceType *string `type:"string" enum:"InstanceType"`
  62843. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  62844. MaxPrice *string `type:"string"`
  62845. // The location where the instance launched, if applicable.
  62846. Placement *Placement `type:"structure"`
  62847. // The priority for the launch template override. If AllocationStrategy is set
  62848. // to prioritized, EC2 Fleet uses priority to determine which launch template
  62849. // override to use first in fulfilling On-Demand capacity. The highest priority
  62850. // is launched first. Valid values are whole numbers starting at 0. The lower
  62851. // the number, the higher the priority. If no number is set, the launch template
  62852. // override has the lowest priority.
  62853. Priority *float64 `type:"double"`
  62854. // The ID of the subnet in which to launch the instances.
  62855. SubnetId *string `type:"string"`
  62856. // The number of units provided by the specified instance type.
  62857. WeightedCapacity *float64 `type:"double"`
  62858. }
  62859. // String returns the string representation
  62860. func (s FleetLaunchTemplateOverridesRequest) String() string {
  62861. return awsutil.Prettify(s)
  62862. }
  62863. // GoString returns the string representation
  62864. func (s FleetLaunchTemplateOverridesRequest) GoString() string {
  62865. return s.String()
  62866. }
  62867. // SetAvailabilityZone sets the AvailabilityZone field's value.
  62868. func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
  62869. s.AvailabilityZone = &v
  62870. return s
  62871. }
  62872. // SetInstanceType sets the InstanceType field's value.
  62873. func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
  62874. s.InstanceType = &v
  62875. return s
  62876. }
  62877. // SetMaxPrice sets the MaxPrice field's value.
  62878. func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
  62879. s.MaxPrice = &v
  62880. return s
  62881. }
  62882. // SetPlacement sets the Placement field's value.
  62883. func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
  62884. s.Placement = v
  62885. return s
  62886. }
  62887. // SetPriority sets the Priority field's value.
  62888. func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
  62889. s.Priority = &v
  62890. return s
  62891. }
  62892. // SetSubnetId sets the SubnetId field's value.
  62893. func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
  62894. s.SubnetId = &v
  62895. return s
  62896. }
  62897. // SetWeightedCapacity sets the WeightedCapacity field's value.
  62898. func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
  62899. s.WeightedCapacity = &v
  62900. return s
  62901. }
  62902. // Describes a launch template.
  62903. type FleetLaunchTemplateSpecification struct {
  62904. _ struct{} `type:"structure"`
  62905. // The ID of the launch template. You must specify either a template ID or a
  62906. // template name.
  62907. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  62908. // The name of the launch template. You must specify either a template name
  62909. // or a template ID.
  62910. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  62911. // The version number of the launch template. You must specify a version number.
  62912. Version *string `locationName:"version" type:"string"`
  62913. }
  62914. // String returns the string representation
  62915. func (s FleetLaunchTemplateSpecification) String() string {
  62916. return awsutil.Prettify(s)
  62917. }
  62918. // GoString returns the string representation
  62919. func (s FleetLaunchTemplateSpecification) GoString() string {
  62920. return s.String()
  62921. }
  62922. // Validate inspects the fields of the type to determine if they are valid.
  62923. func (s *FleetLaunchTemplateSpecification) Validate() error {
  62924. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
  62925. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  62926. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  62927. }
  62928. if invalidParams.Len() > 0 {
  62929. return invalidParams
  62930. }
  62931. return nil
  62932. }
  62933. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  62934. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
  62935. s.LaunchTemplateId = &v
  62936. return s
  62937. }
  62938. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  62939. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
  62940. s.LaunchTemplateName = &v
  62941. return s
  62942. }
  62943. // SetVersion sets the Version field's value.
  62944. func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
  62945. s.Version = &v
  62946. return s
  62947. }
  62948. // The launch template to use. You must specify either the launch template ID
  62949. // or launch template name in the request.
  62950. type FleetLaunchTemplateSpecificationRequest struct {
  62951. _ struct{} `type:"structure"`
  62952. // The ID of the launch template.
  62953. LaunchTemplateId *string `type:"string"`
  62954. // The name of the launch template.
  62955. LaunchTemplateName *string `min:"3" type:"string"`
  62956. // The version number of the launch template. Note: This is a required parameter
  62957. // and will be updated soon.
  62958. Version *string `type:"string"`
  62959. }
  62960. // String returns the string representation
  62961. func (s FleetLaunchTemplateSpecificationRequest) String() string {
  62962. return awsutil.Prettify(s)
  62963. }
  62964. // GoString returns the string representation
  62965. func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
  62966. return s.String()
  62967. }
  62968. // Validate inspects the fields of the type to determine if they are valid.
  62969. func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
  62970. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
  62971. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  62972. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  62973. }
  62974. if invalidParams.Len() > 0 {
  62975. return invalidParams
  62976. }
  62977. return nil
  62978. }
  62979. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  62980. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
  62981. s.LaunchTemplateId = &v
  62982. return s
  62983. }
  62984. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  62985. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
  62986. s.LaunchTemplateName = &v
  62987. return s
  62988. }
  62989. // SetVersion sets the Version field's value.
  62990. func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
  62991. s.Version = &v
  62992. return s
  62993. }
  62994. // Describes a flow log.
  62995. type FlowLog struct {
  62996. _ struct{} `type:"structure"`
  62997. // The date and time the flow log was created.
  62998. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  62999. // Information about the error that occurred. Rate limited indicates that CloudWatch
  63000. // Logs throttling has been applied for one or more network interfaces, or that
  63001. // you've reached the limit on the number of log groups that you can create.
  63002. // Access error indicates that the IAM role associated with the flow log does
  63003. // not have sufficient permissions to publish to CloudWatch Logs. Unknown error
  63004. // indicates an internal error.
  63005. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  63006. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  63007. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  63008. // The status of the logs delivery (SUCCESS | FAILED).
  63009. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  63010. // The flow log ID.
  63011. FlowLogId *string `locationName:"flowLogId" type:"string"`
  63012. // The status of the flow log (ACTIVE).
  63013. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  63014. // Specifies the destination to which the flow log data is published. Flow log
  63015. // data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
  63016. // If the flow log publishes to CloudWatch Logs, this element indicates the
  63017. // Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
  63018. // data is published. If the flow log publishes to Amazon S3, this element indicates
  63019. // the ARN of the Amazon S3 bucket to which the data is published.
  63020. LogDestination *string `locationName:"logDestination" type:"string"`
  63021. // Specifies the type of destination to which the flow log data is published.
  63022. // Flow log data can be published to CloudWatch Logs or Amazon S3.
  63023. LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
  63024. // The format of the flow log record.
  63025. LogFormat *string `locationName:"logFormat" type:"string"`
  63026. // The name of the flow log group.
  63027. LogGroupName *string `locationName:"logGroupName" type:"string"`
  63028. // The ID of the resource on which the flow log was created.
  63029. ResourceId *string `locationName:"resourceId" type:"string"`
  63030. // The type of traffic captured for the flow log.
  63031. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  63032. }
  63033. // String returns the string representation
  63034. func (s FlowLog) String() string {
  63035. return awsutil.Prettify(s)
  63036. }
  63037. // GoString returns the string representation
  63038. func (s FlowLog) GoString() string {
  63039. return s.String()
  63040. }
  63041. // SetCreationTime sets the CreationTime field's value.
  63042. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  63043. s.CreationTime = &v
  63044. return s
  63045. }
  63046. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  63047. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  63048. s.DeliverLogsErrorMessage = &v
  63049. return s
  63050. }
  63051. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  63052. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  63053. s.DeliverLogsPermissionArn = &v
  63054. return s
  63055. }
  63056. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  63057. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  63058. s.DeliverLogsStatus = &v
  63059. return s
  63060. }
  63061. // SetFlowLogId sets the FlowLogId field's value.
  63062. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  63063. s.FlowLogId = &v
  63064. return s
  63065. }
  63066. // SetFlowLogStatus sets the FlowLogStatus field's value.
  63067. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  63068. s.FlowLogStatus = &v
  63069. return s
  63070. }
  63071. // SetLogDestination sets the LogDestination field's value.
  63072. func (s *FlowLog) SetLogDestination(v string) *FlowLog {
  63073. s.LogDestination = &v
  63074. return s
  63075. }
  63076. // SetLogDestinationType sets the LogDestinationType field's value.
  63077. func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
  63078. s.LogDestinationType = &v
  63079. return s
  63080. }
  63081. // SetLogFormat sets the LogFormat field's value.
  63082. func (s *FlowLog) SetLogFormat(v string) *FlowLog {
  63083. s.LogFormat = &v
  63084. return s
  63085. }
  63086. // SetLogGroupName sets the LogGroupName field's value.
  63087. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  63088. s.LogGroupName = &v
  63089. return s
  63090. }
  63091. // SetResourceId sets the ResourceId field's value.
  63092. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  63093. s.ResourceId = &v
  63094. return s
  63095. }
  63096. // SetTrafficType sets the TrafficType field's value.
  63097. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  63098. s.TrafficType = &v
  63099. return s
  63100. }
  63101. // Describes the FPGA accelerator for the instance type.
  63102. type FpgaDeviceInfo struct {
  63103. _ struct{} `type:"structure"`
  63104. // The count of FPGA accelerators for the instance type.
  63105. Count *int64 `locationName:"count" type:"integer"`
  63106. // The manufacturer of the FPGA accelerator.
  63107. Manufacturer *string `locationName:"manufacturer" type:"string"`
  63108. // Describes the memory for the FPGA accelerator for the instance type.
  63109. MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
  63110. // The name of the FPGA accelerator.
  63111. Name *string `locationName:"name" type:"string"`
  63112. }
  63113. // String returns the string representation
  63114. func (s FpgaDeviceInfo) String() string {
  63115. return awsutil.Prettify(s)
  63116. }
  63117. // GoString returns the string representation
  63118. func (s FpgaDeviceInfo) GoString() string {
  63119. return s.String()
  63120. }
  63121. // SetCount sets the Count field's value.
  63122. func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo {
  63123. s.Count = &v
  63124. return s
  63125. }
  63126. // SetManufacturer sets the Manufacturer field's value.
  63127. func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo {
  63128. s.Manufacturer = &v
  63129. return s
  63130. }
  63131. // SetMemoryInfo sets the MemoryInfo field's value.
  63132. func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo {
  63133. s.MemoryInfo = v
  63134. return s
  63135. }
  63136. // SetName sets the Name field's value.
  63137. func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
  63138. s.Name = &v
  63139. return s
  63140. }
  63141. // Describes the memory for the FPGA accelerator for the instance type.
  63142. type FpgaDeviceMemoryInfo struct {
  63143. _ struct{} `type:"structure"`
  63144. // The size (in MiB) for the memory available to the FPGA accelerator.
  63145. SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
  63146. }
  63147. // String returns the string representation
  63148. func (s FpgaDeviceMemoryInfo) String() string {
  63149. return awsutil.Prettify(s)
  63150. }
  63151. // GoString returns the string representation
  63152. func (s FpgaDeviceMemoryInfo) GoString() string {
  63153. return s.String()
  63154. }
  63155. // SetSizeInMiB sets the SizeInMiB field's value.
  63156. func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo {
  63157. s.SizeInMiB = &v
  63158. return s
  63159. }
  63160. // Describes an Amazon FPGA image (AFI).
  63161. type FpgaImage struct {
  63162. _ struct{} `type:"structure"`
  63163. // The date and time the AFI was created.
  63164. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  63165. // Indicates whether data retention support is enabled for the AFI.
  63166. DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
  63167. // The description of the AFI.
  63168. Description *string `locationName:"description" type:"string"`
  63169. // The global FPGA image identifier (AGFI ID).
  63170. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  63171. // The FPGA image identifier (AFI ID).
  63172. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  63173. // The name of the AFI.
  63174. Name *string `locationName:"name" type:"string"`
  63175. // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
  63176. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  63177. // The AWS account ID of the AFI owner.
  63178. OwnerId *string `locationName:"ownerId" type:"string"`
  63179. // Information about the PCI bus.
  63180. PciId *PciId `locationName:"pciId" type:"structure"`
  63181. // The product codes for the AFI.
  63182. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  63183. // Indicates whether the AFI is public.
  63184. Public *bool `locationName:"public" type:"boolean"`
  63185. // The version of the AWS Shell that was used to create the bitstream.
  63186. ShellVersion *string `locationName:"shellVersion" type:"string"`
  63187. // Information about the state of the AFI.
  63188. State *FpgaImageState `locationName:"state" type:"structure"`
  63189. // Any tags assigned to the AFI.
  63190. Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
  63191. // The time of the most recent update to the AFI.
  63192. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  63193. }
  63194. // String returns the string representation
  63195. func (s FpgaImage) String() string {
  63196. return awsutil.Prettify(s)
  63197. }
  63198. // GoString returns the string representation
  63199. func (s FpgaImage) GoString() string {
  63200. return s.String()
  63201. }
  63202. // SetCreateTime sets the CreateTime field's value.
  63203. func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
  63204. s.CreateTime = &v
  63205. return s
  63206. }
  63207. // SetDataRetentionSupport sets the DataRetentionSupport field's value.
  63208. func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
  63209. s.DataRetentionSupport = &v
  63210. return s
  63211. }
  63212. // SetDescription sets the Description field's value.
  63213. func (s *FpgaImage) SetDescription(v string) *FpgaImage {
  63214. s.Description = &v
  63215. return s
  63216. }
  63217. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  63218. func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
  63219. s.FpgaImageGlobalId = &v
  63220. return s
  63221. }
  63222. // SetFpgaImageId sets the FpgaImageId field's value.
  63223. func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
  63224. s.FpgaImageId = &v
  63225. return s
  63226. }
  63227. // SetName sets the Name field's value.
  63228. func (s *FpgaImage) SetName(v string) *FpgaImage {
  63229. s.Name = &v
  63230. return s
  63231. }
  63232. // SetOwnerAlias sets the OwnerAlias field's value.
  63233. func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
  63234. s.OwnerAlias = &v
  63235. return s
  63236. }
  63237. // SetOwnerId sets the OwnerId field's value.
  63238. func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
  63239. s.OwnerId = &v
  63240. return s
  63241. }
  63242. // SetPciId sets the PciId field's value.
  63243. func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
  63244. s.PciId = v
  63245. return s
  63246. }
  63247. // SetProductCodes sets the ProductCodes field's value.
  63248. func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
  63249. s.ProductCodes = v
  63250. return s
  63251. }
  63252. // SetPublic sets the Public field's value.
  63253. func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
  63254. s.Public = &v
  63255. return s
  63256. }
  63257. // SetShellVersion sets the ShellVersion field's value.
  63258. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
  63259. s.ShellVersion = &v
  63260. return s
  63261. }
  63262. // SetState sets the State field's value.
  63263. func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
  63264. s.State = v
  63265. return s
  63266. }
  63267. // SetTags sets the Tags field's value.
  63268. func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
  63269. s.Tags = v
  63270. return s
  63271. }
  63272. // SetUpdateTime sets the UpdateTime field's value.
  63273. func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
  63274. s.UpdateTime = &v
  63275. return s
  63276. }
  63277. // Describes an Amazon FPGA image (AFI) attribute.
  63278. type FpgaImageAttribute struct {
  63279. _ struct{} `type:"structure"`
  63280. // The description of the AFI.
  63281. Description *string `locationName:"description" type:"string"`
  63282. // The ID of the AFI.
  63283. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  63284. // The load permissions.
  63285. LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
  63286. // The name of the AFI.
  63287. Name *string `locationName:"name" type:"string"`
  63288. // The product codes.
  63289. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  63290. }
  63291. // String returns the string representation
  63292. func (s FpgaImageAttribute) String() string {
  63293. return awsutil.Prettify(s)
  63294. }
  63295. // GoString returns the string representation
  63296. func (s FpgaImageAttribute) GoString() string {
  63297. return s.String()
  63298. }
  63299. // SetDescription sets the Description field's value.
  63300. func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
  63301. s.Description = &v
  63302. return s
  63303. }
  63304. // SetFpgaImageId sets the FpgaImageId field's value.
  63305. func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
  63306. s.FpgaImageId = &v
  63307. return s
  63308. }
  63309. // SetLoadPermissions sets the LoadPermissions field's value.
  63310. func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
  63311. s.LoadPermissions = v
  63312. return s
  63313. }
  63314. // SetName sets the Name field's value.
  63315. func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
  63316. s.Name = &v
  63317. return s
  63318. }
  63319. // SetProductCodes sets the ProductCodes field's value.
  63320. func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
  63321. s.ProductCodes = v
  63322. return s
  63323. }
  63324. // Describes the state of the bitstream generation process for an Amazon FPGA
  63325. // image (AFI).
  63326. type FpgaImageState struct {
  63327. _ struct{} `type:"structure"`
  63328. // The state. The following are the possible values:
  63329. //
  63330. // * pending - AFI bitstream generation is in progress.
  63331. //
  63332. // * available - The AFI is available for use.
  63333. //
  63334. // * failed - AFI bitstream generation failed.
  63335. //
  63336. // * unavailable - The AFI is no longer available for use.
  63337. Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
  63338. // If the state is failed, this is the error message.
  63339. Message *string `locationName:"message" type:"string"`
  63340. }
  63341. // String returns the string representation
  63342. func (s FpgaImageState) String() string {
  63343. return awsutil.Prettify(s)
  63344. }
  63345. // GoString returns the string representation
  63346. func (s FpgaImageState) GoString() string {
  63347. return s.String()
  63348. }
  63349. // SetCode sets the Code field's value.
  63350. func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
  63351. s.Code = &v
  63352. return s
  63353. }
  63354. // SetMessage sets the Message field's value.
  63355. func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
  63356. s.Message = &v
  63357. return s
  63358. }
  63359. // Describes the FPGAs for the instance type.
  63360. type FpgaInfo struct {
  63361. _ struct{} `type:"structure"`
  63362. // Describes the FPGAs for the instance type.
  63363. Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"`
  63364. // The total memory of all FPGA accelerators for the instance type.
  63365. TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"`
  63366. }
  63367. // String returns the string representation
  63368. func (s FpgaInfo) String() string {
  63369. return awsutil.Prettify(s)
  63370. }
  63371. // GoString returns the string representation
  63372. func (s FpgaInfo) GoString() string {
  63373. return s.String()
  63374. }
  63375. // SetFpgas sets the Fpgas field's value.
  63376. func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo {
  63377. s.Fpgas = v
  63378. return s
  63379. }
  63380. // SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value.
  63381. func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
  63382. s.TotalFpgaMemoryInMiB = &v
  63383. return s
  63384. }
  63385. type GetCapacityReservationUsageInput struct {
  63386. _ struct{} `type:"structure"`
  63387. // The ID of the Capacity Reservation.
  63388. //
  63389. // CapacityReservationId is a required field
  63390. CapacityReservationId *string `type:"string" required:"true"`
  63391. // Checks whether you have the required permissions for the action, without
  63392. // actually making the request, and provides an error response. If you have
  63393. // the required permissions, the error response is DryRunOperation. Otherwise,
  63394. // it is UnauthorizedOperation.
  63395. DryRun *bool `type:"boolean"`
  63396. // The maximum number of results to return for the request in a single page.
  63397. // The remaining results can be seen by sending another request with the returned
  63398. // nextToken value.
  63399. //
  63400. // Valid range: Minimum value of 1. Maximum value of 1000.
  63401. MaxResults *int64 `min:"1" type:"integer"`
  63402. // The token to retrieve the next page of results.
  63403. NextToken *string `type:"string"`
  63404. }
  63405. // String returns the string representation
  63406. func (s GetCapacityReservationUsageInput) String() string {
  63407. return awsutil.Prettify(s)
  63408. }
  63409. // GoString returns the string representation
  63410. func (s GetCapacityReservationUsageInput) GoString() string {
  63411. return s.String()
  63412. }
  63413. // Validate inspects the fields of the type to determine if they are valid.
  63414. func (s *GetCapacityReservationUsageInput) Validate() error {
  63415. invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"}
  63416. if s.CapacityReservationId == nil {
  63417. invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
  63418. }
  63419. if s.MaxResults != nil && *s.MaxResults < 1 {
  63420. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  63421. }
  63422. if invalidParams.Len() > 0 {
  63423. return invalidParams
  63424. }
  63425. return nil
  63426. }
  63427. // SetCapacityReservationId sets the CapacityReservationId field's value.
  63428. func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput {
  63429. s.CapacityReservationId = &v
  63430. return s
  63431. }
  63432. // SetDryRun sets the DryRun field's value.
  63433. func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput {
  63434. s.DryRun = &v
  63435. return s
  63436. }
  63437. // SetMaxResults sets the MaxResults field's value.
  63438. func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput {
  63439. s.MaxResults = &v
  63440. return s
  63441. }
  63442. // SetNextToken sets the NextToken field's value.
  63443. func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput {
  63444. s.NextToken = &v
  63445. return s
  63446. }
  63447. type GetCapacityReservationUsageOutput struct {
  63448. _ struct{} `type:"structure"`
  63449. // The remaining capacity. Indicates the number of instances that can be launched
  63450. // in the Capacity Reservation.
  63451. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  63452. // The ID of the Capacity Reservation.
  63453. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  63454. // The type of instance for which the Capacity Reservation reserves capacity.
  63455. InstanceType *string `locationName:"instanceType" type:"string"`
  63456. // Information about the Capacity Reservation usage.
  63457. InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"`
  63458. // The token to use to retrieve the next page of results. This value is null
  63459. // when there are no more results to return.
  63460. NextToken *string `locationName:"nextToken" type:"string"`
  63461. // The current state of the Capacity Reservation. A Capacity Reservation can
  63462. // be in one of the following states:
  63463. //
  63464. // * active - The Capacity Reservation is active and the capacity is available
  63465. // for your use.
  63466. //
  63467. // * expired - The Capacity Reservation expired automatically at the date
  63468. // and time specified in your request. The reserved capacity is no longer
  63469. // available for your use.
  63470. //
  63471. // * cancelled - The Capacity Reservation was manually cancelled. The reserved
  63472. // capacity is no longer available for your use.
  63473. //
  63474. // * pending - The Capacity Reservation request was successful but the capacity
  63475. // provisioning is still pending.
  63476. //
  63477. // * failed - The Capacity Reservation request has failed. A request might
  63478. // fail due to invalid request parameters, capacity constraints, or instance
  63479. // limit constraints. Failed requests are retained for 60 minutes.
  63480. State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
  63481. // The number of instances for which the Capacity Reservation reserves capacity.
  63482. TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
  63483. }
  63484. // String returns the string representation
  63485. func (s GetCapacityReservationUsageOutput) String() string {
  63486. return awsutil.Prettify(s)
  63487. }
  63488. // GoString returns the string representation
  63489. func (s GetCapacityReservationUsageOutput) GoString() string {
  63490. return s.String()
  63491. }
  63492. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  63493. func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput {
  63494. s.AvailableInstanceCount = &v
  63495. return s
  63496. }
  63497. // SetCapacityReservationId sets the CapacityReservationId field's value.
  63498. func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput {
  63499. s.CapacityReservationId = &v
  63500. return s
  63501. }
  63502. // SetInstanceType sets the InstanceType field's value.
  63503. func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput {
  63504. s.InstanceType = &v
  63505. return s
  63506. }
  63507. // SetInstanceUsages sets the InstanceUsages field's value.
  63508. func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput {
  63509. s.InstanceUsages = v
  63510. return s
  63511. }
  63512. // SetNextToken sets the NextToken field's value.
  63513. func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput {
  63514. s.NextToken = &v
  63515. return s
  63516. }
  63517. // SetState sets the State field's value.
  63518. func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput {
  63519. s.State = &v
  63520. return s
  63521. }
  63522. // SetTotalInstanceCount sets the TotalInstanceCount field's value.
  63523. func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput {
  63524. s.TotalInstanceCount = &v
  63525. return s
  63526. }
  63527. type GetCoipPoolUsageInput struct {
  63528. _ struct{} `type:"structure"`
  63529. // Checks whether you have the required permissions for the action, without
  63530. // actually making the request, and provides an error response. If you have
  63531. // the required permissions, the error response is DryRunOperation. Otherwise,
  63532. // it is UnauthorizedOperation.
  63533. DryRun *bool `type:"boolean"`
  63534. // The filters. The following are the possible values:
  63535. //
  63536. // * coip-address-usage.allocation-id
  63537. //
  63538. // * coip-address-usage.aws-account-id
  63539. //
  63540. // * coip-address-usage.aws-service
  63541. //
  63542. // * coip-address-usage.co-ip
  63543. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  63544. // The maximum number of results to return with a single call. To retrieve the
  63545. // remaining results, make another call with the returned nextToken value.
  63546. MaxResults *int64 `min:"5" type:"integer"`
  63547. // The token for the next page of results.
  63548. NextToken *string `type:"string"`
  63549. // The ID of the address pool.
  63550. //
  63551. // PoolId is a required field
  63552. PoolId *string `type:"string" required:"true"`
  63553. }
  63554. // String returns the string representation
  63555. func (s GetCoipPoolUsageInput) String() string {
  63556. return awsutil.Prettify(s)
  63557. }
  63558. // GoString returns the string representation
  63559. func (s GetCoipPoolUsageInput) GoString() string {
  63560. return s.String()
  63561. }
  63562. // Validate inspects the fields of the type to determine if they are valid.
  63563. func (s *GetCoipPoolUsageInput) Validate() error {
  63564. invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
  63565. if s.MaxResults != nil && *s.MaxResults < 5 {
  63566. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  63567. }
  63568. if s.PoolId == nil {
  63569. invalidParams.Add(request.NewErrParamRequired("PoolId"))
  63570. }
  63571. if invalidParams.Len() > 0 {
  63572. return invalidParams
  63573. }
  63574. return nil
  63575. }
  63576. // SetDryRun sets the DryRun field's value.
  63577. func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
  63578. s.DryRun = &v
  63579. return s
  63580. }
  63581. // SetFilters sets the Filters field's value.
  63582. func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
  63583. s.Filters = v
  63584. return s
  63585. }
  63586. // SetMaxResults sets the MaxResults field's value.
  63587. func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
  63588. s.MaxResults = &v
  63589. return s
  63590. }
  63591. // SetNextToken sets the NextToken field's value.
  63592. func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
  63593. s.NextToken = &v
  63594. return s
  63595. }
  63596. // SetPoolId sets the PoolId field's value.
  63597. func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
  63598. s.PoolId = &v
  63599. return s
  63600. }
  63601. type GetCoipPoolUsageOutput struct {
  63602. _ struct{} `type:"structure"`
  63603. // Information about the address usage.
  63604. CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
  63605. // The ID of the customer-owned address pool.
  63606. CoipPoolId *string `locationName:"coipPoolId" type:"string"`
  63607. // The ID of the local gateway route table.
  63608. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  63609. }
  63610. // String returns the string representation
  63611. func (s GetCoipPoolUsageOutput) String() string {
  63612. return awsutil.Prettify(s)
  63613. }
  63614. // GoString returns the string representation
  63615. func (s GetCoipPoolUsageOutput) GoString() string {
  63616. return s.String()
  63617. }
  63618. // SetCoipAddressUsages sets the CoipAddressUsages field's value.
  63619. func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
  63620. s.CoipAddressUsages = v
  63621. return s
  63622. }
  63623. // SetCoipPoolId sets the CoipPoolId field's value.
  63624. func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
  63625. s.CoipPoolId = &v
  63626. return s
  63627. }
  63628. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  63629. func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
  63630. s.LocalGatewayRouteTableId = &v
  63631. return s
  63632. }
  63633. type GetConsoleOutputInput struct {
  63634. _ struct{} `type:"structure"`
  63635. // Checks whether you have the required permissions for the action, without
  63636. // actually making the request, and provides an error response. If you have
  63637. // the required permissions, the error response is DryRunOperation. Otherwise,
  63638. // it is UnauthorizedOperation.
  63639. DryRun *bool `locationName:"dryRun" type:"boolean"`
  63640. // The ID of the instance.
  63641. //
  63642. // InstanceId is a required field
  63643. InstanceId *string `type:"string" required:"true"`
  63644. // When enabled, retrieves the latest console output for the instance.
  63645. //
  63646. // Default: disabled (false)
  63647. Latest *bool `type:"boolean"`
  63648. }
  63649. // String returns the string representation
  63650. func (s GetConsoleOutputInput) String() string {
  63651. return awsutil.Prettify(s)
  63652. }
  63653. // GoString returns the string representation
  63654. func (s GetConsoleOutputInput) GoString() string {
  63655. return s.String()
  63656. }
  63657. // Validate inspects the fields of the type to determine if they are valid.
  63658. func (s *GetConsoleOutputInput) Validate() error {
  63659. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  63660. if s.InstanceId == nil {
  63661. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  63662. }
  63663. if invalidParams.Len() > 0 {
  63664. return invalidParams
  63665. }
  63666. return nil
  63667. }
  63668. // SetDryRun sets the DryRun field's value.
  63669. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  63670. s.DryRun = &v
  63671. return s
  63672. }
  63673. // SetInstanceId sets the InstanceId field's value.
  63674. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  63675. s.InstanceId = &v
  63676. return s
  63677. }
  63678. // SetLatest sets the Latest field's value.
  63679. func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
  63680. s.Latest = &v
  63681. return s
  63682. }
  63683. type GetConsoleOutputOutput struct {
  63684. _ struct{} `type:"structure"`
  63685. // The ID of the instance.
  63686. InstanceId *string `locationName:"instanceId" type:"string"`
  63687. // The console output, base64-encoded. If you are using a command line tool,
  63688. // the tool decodes the output for you.
  63689. Output *string `locationName:"output" type:"string"`
  63690. // The time at which the output was last updated.
  63691. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  63692. }
  63693. // String returns the string representation
  63694. func (s GetConsoleOutputOutput) String() string {
  63695. return awsutil.Prettify(s)
  63696. }
  63697. // GoString returns the string representation
  63698. func (s GetConsoleOutputOutput) GoString() string {
  63699. return s.String()
  63700. }
  63701. // SetInstanceId sets the InstanceId field's value.
  63702. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  63703. s.InstanceId = &v
  63704. return s
  63705. }
  63706. // SetOutput sets the Output field's value.
  63707. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  63708. s.Output = &v
  63709. return s
  63710. }
  63711. // SetTimestamp sets the Timestamp field's value.
  63712. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  63713. s.Timestamp = &v
  63714. return s
  63715. }
  63716. type GetConsoleScreenshotInput struct {
  63717. _ struct{} `type:"structure"`
  63718. // Checks whether you have the required permissions for the action, without
  63719. // actually making the request, and provides an error response. If you have
  63720. // the required permissions, the error response is DryRunOperation. Otherwise,
  63721. // it is UnauthorizedOperation.
  63722. DryRun *bool `type:"boolean"`
  63723. // The ID of the instance.
  63724. //
  63725. // InstanceId is a required field
  63726. InstanceId *string `type:"string" required:"true"`
  63727. // When set to true, acts as keystroke input and wakes up an instance that's
  63728. // in standby or "sleep" mode.
  63729. WakeUp *bool `type:"boolean"`
  63730. }
  63731. // String returns the string representation
  63732. func (s GetConsoleScreenshotInput) String() string {
  63733. return awsutil.Prettify(s)
  63734. }
  63735. // GoString returns the string representation
  63736. func (s GetConsoleScreenshotInput) GoString() string {
  63737. return s.String()
  63738. }
  63739. // Validate inspects the fields of the type to determine if they are valid.
  63740. func (s *GetConsoleScreenshotInput) Validate() error {
  63741. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  63742. if s.InstanceId == nil {
  63743. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  63744. }
  63745. if invalidParams.Len() > 0 {
  63746. return invalidParams
  63747. }
  63748. return nil
  63749. }
  63750. // SetDryRun sets the DryRun field's value.
  63751. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  63752. s.DryRun = &v
  63753. return s
  63754. }
  63755. // SetInstanceId sets the InstanceId field's value.
  63756. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  63757. s.InstanceId = &v
  63758. return s
  63759. }
  63760. // SetWakeUp sets the WakeUp field's value.
  63761. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  63762. s.WakeUp = &v
  63763. return s
  63764. }
  63765. type GetConsoleScreenshotOutput struct {
  63766. _ struct{} `type:"structure"`
  63767. // The data that comprises the image.
  63768. ImageData *string `locationName:"imageData" type:"string"`
  63769. // The ID of the instance.
  63770. InstanceId *string `locationName:"instanceId" type:"string"`
  63771. }
  63772. // String returns the string representation
  63773. func (s GetConsoleScreenshotOutput) String() string {
  63774. return awsutil.Prettify(s)
  63775. }
  63776. // GoString returns the string representation
  63777. func (s GetConsoleScreenshotOutput) GoString() string {
  63778. return s.String()
  63779. }
  63780. // SetImageData sets the ImageData field's value.
  63781. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  63782. s.ImageData = &v
  63783. return s
  63784. }
  63785. // SetInstanceId sets the InstanceId field's value.
  63786. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  63787. s.InstanceId = &v
  63788. return s
  63789. }
  63790. type GetDefaultCreditSpecificationInput struct {
  63791. _ struct{} `type:"structure"`
  63792. // Checks whether you have the required permissions for the action, without
  63793. // actually making the request, and provides an error response. If you have
  63794. // the required permissions, the error response is DryRunOperation. Otherwise,
  63795. // it is UnauthorizedOperation.
  63796. DryRun *bool `type:"boolean"`
  63797. // The instance family.
  63798. //
  63799. // InstanceFamily is a required field
  63800. InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
  63801. }
  63802. // String returns the string representation
  63803. func (s GetDefaultCreditSpecificationInput) String() string {
  63804. return awsutil.Prettify(s)
  63805. }
  63806. // GoString returns the string representation
  63807. func (s GetDefaultCreditSpecificationInput) GoString() string {
  63808. return s.String()
  63809. }
  63810. // Validate inspects the fields of the type to determine if they are valid.
  63811. func (s *GetDefaultCreditSpecificationInput) Validate() error {
  63812. invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
  63813. if s.InstanceFamily == nil {
  63814. invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
  63815. }
  63816. if invalidParams.Len() > 0 {
  63817. return invalidParams
  63818. }
  63819. return nil
  63820. }
  63821. // SetDryRun sets the DryRun field's value.
  63822. func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
  63823. s.DryRun = &v
  63824. return s
  63825. }
  63826. // SetInstanceFamily sets the InstanceFamily field's value.
  63827. func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
  63828. s.InstanceFamily = &v
  63829. return s
  63830. }
  63831. type GetDefaultCreditSpecificationOutput struct {
  63832. _ struct{} `type:"structure"`
  63833. // The default credit option for CPU usage of the instance family.
  63834. InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
  63835. }
  63836. // String returns the string representation
  63837. func (s GetDefaultCreditSpecificationOutput) String() string {
  63838. return awsutil.Prettify(s)
  63839. }
  63840. // GoString returns the string representation
  63841. func (s GetDefaultCreditSpecificationOutput) GoString() string {
  63842. return s.String()
  63843. }
  63844. // SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
  63845. func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
  63846. s.InstanceFamilyCreditSpecification = v
  63847. return s
  63848. }
  63849. type GetEbsDefaultKmsKeyIdInput struct {
  63850. _ struct{} `type:"structure"`
  63851. // Checks whether you have the required permissions for the action, without
  63852. // actually making the request, and provides an error response. If you have
  63853. // the required permissions, the error response is DryRunOperation. Otherwise,
  63854. // it is UnauthorizedOperation.
  63855. DryRun *bool `type:"boolean"`
  63856. }
  63857. // String returns the string representation
  63858. func (s GetEbsDefaultKmsKeyIdInput) String() string {
  63859. return awsutil.Prettify(s)
  63860. }
  63861. // GoString returns the string representation
  63862. func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
  63863. return s.String()
  63864. }
  63865. // SetDryRun sets the DryRun field's value.
  63866. func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
  63867. s.DryRun = &v
  63868. return s
  63869. }
  63870. type GetEbsDefaultKmsKeyIdOutput struct {
  63871. _ struct{} `type:"structure"`
  63872. // The Amazon Resource Name (ARN) of the default CMK for encryption by default.
  63873. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  63874. }
  63875. // String returns the string representation
  63876. func (s GetEbsDefaultKmsKeyIdOutput) String() string {
  63877. return awsutil.Prettify(s)
  63878. }
  63879. // GoString returns the string representation
  63880. func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
  63881. return s.String()
  63882. }
  63883. // SetKmsKeyId sets the KmsKeyId field's value.
  63884. func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
  63885. s.KmsKeyId = &v
  63886. return s
  63887. }
  63888. type GetEbsEncryptionByDefaultInput struct {
  63889. _ struct{} `type:"structure"`
  63890. // Checks whether you have the required permissions for the action, without
  63891. // actually making the request, and provides an error response. If you have
  63892. // the required permissions, the error response is DryRunOperation. Otherwise,
  63893. // it is UnauthorizedOperation.
  63894. DryRun *bool `type:"boolean"`
  63895. }
  63896. // String returns the string representation
  63897. func (s GetEbsEncryptionByDefaultInput) String() string {
  63898. return awsutil.Prettify(s)
  63899. }
  63900. // GoString returns the string representation
  63901. func (s GetEbsEncryptionByDefaultInput) GoString() string {
  63902. return s.String()
  63903. }
  63904. // SetDryRun sets the DryRun field's value.
  63905. func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
  63906. s.DryRun = &v
  63907. return s
  63908. }
  63909. type GetEbsEncryptionByDefaultOutput struct {
  63910. _ struct{} `type:"structure"`
  63911. // Indicates whether encryption by default is enabled.
  63912. EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
  63913. }
  63914. // String returns the string representation
  63915. func (s GetEbsEncryptionByDefaultOutput) String() string {
  63916. return awsutil.Prettify(s)
  63917. }
  63918. // GoString returns the string representation
  63919. func (s GetEbsEncryptionByDefaultOutput) GoString() string {
  63920. return s.String()
  63921. }
  63922. // SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
  63923. func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
  63924. s.EbsEncryptionByDefault = &v
  63925. return s
  63926. }
  63927. type GetHostReservationPurchasePreviewInput struct {
  63928. _ struct{} `type:"structure"`
  63929. // The IDs of the Dedicated Hosts with which the reservation is associated.
  63930. //
  63931. // HostIdSet is a required field
  63932. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  63933. // The offering ID of the reservation.
  63934. //
  63935. // OfferingId is a required field
  63936. OfferingId *string `type:"string" required:"true"`
  63937. }
  63938. // String returns the string representation
  63939. func (s GetHostReservationPurchasePreviewInput) String() string {
  63940. return awsutil.Prettify(s)
  63941. }
  63942. // GoString returns the string representation
  63943. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  63944. return s.String()
  63945. }
  63946. // Validate inspects the fields of the type to determine if they are valid.
  63947. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  63948. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  63949. if s.HostIdSet == nil {
  63950. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  63951. }
  63952. if s.OfferingId == nil {
  63953. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  63954. }
  63955. if invalidParams.Len() > 0 {
  63956. return invalidParams
  63957. }
  63958. return nil
  63959. }
  63960. // SetHostIdSet sets the HostIdSet field's value.
  63961. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  63962. s.HostIdSet = v
  63963. return s
  63964. }
  63965. // SetOfferingId sets the OfferingId field's value.
  63966. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  63967. s.OfferingId = &v
  63968. return s
  63969. }
  63970. type GetHostReservationPurchasePreviewOutput struct {
  63971. _ struct{} `type:"structure"`
  63972. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  63973. // are specified. At this time, the only supported currency is USD.
  63974. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  63975. // The purchase information of the Dedicated Host reservation and the Dedicated
  63976. // Hosts associated with it.
  63977. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  63978. // The potential total hourly price of the reservation per hour.
  63979. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  63980. // The potential total upfront price. This is billed immediately.
  63981. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  63982. }
  63983. // String returns the string representation
  63984. func (s GetHostReservationPurchasePreviewOutput) String() string {
  63985. return awsutil.Prettify(s)
  63986. }
  63987. // GoString returns the string representation
  63988. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  63989. return s.String()
  63990. }
  63991. // SetCurrencyCode sets the CurrencyCode field's value.
  63992. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  63993. s.CurrencyCode = &v
  63994. return s
  63995. }
  63996. // SetPurchase sets the Purchase field's value.
  63997. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  63998. s.Purchase = v
  63999. return s
  64000. }
  64001. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  64002. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  64003. s.TotalHourlyPrice = &v
  64004. return s
  64005. }
  64006. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  64007. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  64008. s.TotalUpfrontPrice = &v
  64009. return s
  64010. }
  64011. type GetLaunchTemplateDataInput struct {
  64012. _ struct{} `type:"structure"`
  64013. // Checks whether you have the required permissions for the action, without
  64014. // actually making the request, and provides an error response. If you have
  64015. // the required permissions, the error response is DryRunOperation. Otherwise,
  64016. // it is UnauthorizedOperation.
  64017. DryRun *bool `type:"boolean"`
  64018. // The ID of the instance.
  64019. //
  64020. // InstanceId is a required field
  64021. InstanceId *string `type:"string" required:"true"`
  64022. }
  64023. // String returns the string representation
  64024. func (s GetLaunchTemplateDataInput) String() string {
  64025. return awsutil.Prettify(s)
  64026. }
  64027. // GoString returns the string representation
  64028. func (s GetLaunchTemplateDataInput) GoString() string {
  64029. return s.String()
  64030. }
  64031. // Validate inspects the fields of the type to determine if they are valid.
  64032. func (s *GetLaunchTemplateDataInput) Validate() error {
  64033. invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
  64034. if s.InstanceId == nil {
  64035. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  64036. }
  64037. if invalidParams.Len() > 0 {
  64038. return invalidParams
  64039. }
  64040. return nil
  64041. }
  64042. // SetDryRun sets the DryRun field's value.
  64043. func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
  64044. s.DryRun = &v
  64045. return s
  64046. }
  64047. // SetInstanceId sets the InstanceId field's value.
  64048. func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
  64049. s.InstanceId = &v
  64050. return s
  64051. }
  64052. type GetLaunchTemplateDataOutput struct {
  64053. _ struct{} `type:"structure"`
  64054. // The instance data.
  64055. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  64056. }
  64057. // String returns the string representation
  64058. func (s GetLaunchTemplateDataOutput) String() string {
  64059. return awsutil.Prettify(s)
  64060. }
  64061. // GoString returns the string representation
  64062. func (s GetLaunchTemplateDataOutput) GoString() string {
  64063. return s.String()
  64064. }
  64065. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  64066. func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
  64067. s.LaunchTemplateData = v
  64068. return s
  64069. }
  64070. type GetPasswordDataInput struct {
  64071. _ struct{} `type:"structure"`
  64072. // Checks whether you have the required permissions for the action, without
  64073. // actually making the request, and provides an error response. If you have
  64074. // the required permissions, the error response is DryRunOperation. Otherwise,
  64075. // it is UnauthorizedOperation.
  64076. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64077. // The ID of the Windows instance.
  64078. //
  64079. // InstanceId is a required field
  64080. InstanceId *string `type:"string" required:"true"`
  64081. }
  64082. // String returns the string representation
  64083. func (s GetPasswordDataInput) String() string {
  64084. return awsutil.Prettify(s)
  64085. }
  64086. // GoString returns the string representation
  64087. func (s GetPasswordDataInput) GoString() string {
  64088. return s.String()
  64089. }
  64090. // Validate inspects the fields of the type to determine if they are valid.
  64091. func (s *GetPasswordDataInput) Validate() error {
  64092. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  64093. if s.InstanceId == nil {
  64094. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  64095. }
  64096. if invalidParams.Len() > 0 {
  64097. return invalidParams
  64098. }
  64099. return nil
  64100. }
  64101. // SetDryRun sets the DryRun field's value.
  64102. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  64103. s.DryRun = &v
  64104. return s
  64105. }
  64106. // SetInstanceId sets the InstanceId field's value.
  64107. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  64108. s.InstanceId = &v
  64109. return s
  64110. }
  64111. type GetPasswordDataOutput struct {
  64112. _ struct{} `type:"structure"`
  64113. // The ID of the Windows instance.
  64114. InstanceId *string `locationName:"instanceId" type:"string"`
  64115. // The password of the instance. Returns an empty string if the password is
  64116. // not available.
  64117. PasswordData *string `locationName:"passwordData" type:"string"`
  64118. // The time the data was last updated.
  64119. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  64120. }
  64121. // String returns the string representation
  64122. func (s GetPasswordDataOutput) String() string {
  64123. return awsutil.Prettify(s)
  64124. }
  64125. // GoString returns the string representation
  64126. func (s GetPasswordDataOutput) GoString() string {
  64127. return s.String()
  64128. }
  64129. // SetInstanceId sets the InstanceId field's value.
  64130. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  64131. s.InstanceId = &v
  64132. return s
  64133. }
  64134. // SetPasswordData sets the PasswordData field's value.
  64135. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  64136. s.PasswordData = &v
  64137. return s
  64138. }
  64139. // SetTimestamp sets the Timestamp field's value.
  64140. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  64141. s.Timestamp = &v
  64142. return s
  64143. }
  64144. // Contains the parameters for GetReservedInstanceExchangeQuote.
  64145. type GetReservedInstancesExchangeQuoteInput struct {
  64146. _ struct{} `type:"structure"`
  64147. // Checks whether you have the required permissions for the action, without
  64148. // actually making the request, and provides an error response. If you have
  64149. // the required permissions, the error response is DryRunOperation. Otherwise,
  64150. // it is UnauthorizedOperation.
  64151. DryRun *bool `type:"boolean"`
  64152. // The IDs of the Convertible Reserved Instances to exchange.
  64153. //
  64154. // ReservedInstanceIds is a required field
  64155. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  64156. // The configuration of the target Convertible Reserved Instance to exchange
  64157. // for your current Convertible Reserved Instances.
  64158. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  64159. }
  64160. // String returns the string representation
  64161. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  64162. return awsutil.Prettify(s)
  64163. }
  64164. // GoString returns the string representation
  64165. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  64166. return s.String()
  64167. }
  64168. // Validate inspects the fields of the type to determine if they are valid.
  64169. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  64170. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  64171. if s.ReservedInstanceIds == nil {
  64172. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  64173. }
  64174. if s.TargetConfigurations != nil {
  64175. for i, v := range s.TargetConfigurations {
  64176. if v == nil {
  64177. continue
  64178. }
  64179. if err := v.Validate(); err != nil {
  64180. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  64181. }
  64182. }
  64183. }
  64184. if invalidParams.Len() > 0 {
  64185. return invalidParams
  64186. }
  64187. return nil
  64188. }
  64189. // SetDryRun sets the DryRun field's value.
  64190. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  64191. s.DryRun = &v
  64192. return s
  64193. }
  64194. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  64195. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  64196. s.ReservedInstanceIds = v
  64197. return s
  64198. }
  64199. // SetTargetConfigurations sets the TargetConfigurations field's value.
  64200. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  64201. s.TargetConfigurations = v
  64202. return s
  64203. }
  64204. // Contains the output of GetReservedInstancesExchangeQuote.
  64205. type GetReservedInstancesExchangeQuoteOutput struct {
  64206. _ struct{} `type:"structure"`
  64207. // The currency of the transaction.
  64208. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  64209. // If true, the exchange is valid. If false, the exchange cannot be completed.
  64210. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  64211. // The new end date of the reservation term.
  64212. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
  64213. // The total true upfront charge for the exchange.
  64214. PaymentDue *string `locationName:"paymentDue" type:"string"`
  64215. // The cost associated with the Reserved Instance.
  64216. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  64217. // The configuration of your Convertible Reserved Instances.
  64218. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  64219. // The cost associated with the Reserved Instance.
  64220. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  64221. // The values of the target Convertible Reserved Instances.
  64222. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  64223. // Describes the reason why the exchange cannot be completed.
  64224. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  64225. }
  64226. // String returns the string representation
  64227. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  64228. return awsutil.Prettify(s)
  64229. }
  64230. // GoString returns the string representation
  64231. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  64232. return s.String()
  64233. }
  64234. // SetCurrencyCode sets the CurrencyCode field's value.
  64235. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  64236. s.CurrencyCode = &v
  64237. return s
  64238. }
  64239. // SetIsValidExchange sets the IsValidExchange field's value.
  64240. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  64241. s.IsValidExchange = &v
  64242. return s
  64243. }
  64244. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  64245. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  64246. s.OutputReservedInstancesWillExpireAt = &v
  64247. return s
  64248. }
  64249. // SetPaymentDue sets the PaymentDue field's value.
  64250. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  64251. s.PaymentDue = &v
  64252. return s
  64253. }
  64254. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  64255. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  64256. s.ReservedInstanceValueRollup = v
  64257. return s
  64258. }
  64259. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  64260. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  64261. s.ReservedInstanceValueSet = v
  64262. return s
  64263. }
  64264. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  64265. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  64266. s.TargetConfigurationValueRollup = v
  64267. return s
  64268. }
  64269. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  64270. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  64271. s.TargetConfigurationValueSet = v
  64272. return s
  64273. }
  64274. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  64275. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  64276. s.ValidationFailureReason = &v
  64277. return s
  64278. }
  64279. type GetTransitGatewayAttachmentPropagationsInput struct {
  64280. _ struct{} `type:"structure"`
  64281. // Checks whether you have the required permissions for the action, without
  64282. // actually making the request, and provides an error response. If you have
  64283. // the required permissions, the error response is DryRunOperation. Otherwise,
  64284. // it is UnauthorizedOperation.
  64285. DryRun *bool `type:"boolean"`
  64286. // One or more filters. The possible values are:
  64287. //
  64288. // * transit-gateway-route-table-id - The ID of the transit gateway route
  64289. // table.
  64290. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  64291. // The maximum number of results to return with a single call. To retrieve the
  64292. // remaining results, make another call with the returned nextToken value.
  64293. MaxResults *int64 `min:"5" type:"integer"`
  64294. // The token for the next page of results.
  64295. NextToken *string `type:"string"`
  64296. // The ID of the attachment.
  64297. //
  64298. // TransitGatewayAttachmentId is a required field
  64299. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  64300. }
  64301. // String returns the string representation
  64302. func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
  64303. return awsutil.Prettify(s)
  64304. }
  64305. // GoString returns the string representation
  64306. func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
  64307. return s.String()
  64308. }
  64309. // Validate inspects the fields of the type to determine if they are valid.
  64310. func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
  64311. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
  64312. if s.MaxResults != nil && *s.MaxResults < 5 {
  64313. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  64314. }
  64315. if s.TransitGatewayAttachmentId == nil {
  64316. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  64317. }
  64318. if invalidParams.Len() > 0 {
  64319. return invalidParams
  64320. }
  64321. return nil
  64322. }
  64323. // SetDryRun sets the DryRun field's value.
  64324. func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
  64325. s.DryRun = &v
  64326. return s
  64327. }
  64328. // SetFilters sets the Filters field's value.
  64329. func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
  64330. s.Filters = v
  64331. return s
  64332. }
  64333. // SetMaxResults sets the MaxResults field's value.
  64334. func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
  64335. s.MaxResults = &v
  64336. return s
  64337. }
  64338. // SetNextToken sets the NextToken field's value.
  64339. func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
  64340. s.NextToken = &v
  64341. return s
  64342. }
  64343. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  64344. func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
  64345. s.TransitGatewayAttachmentId = &v
  64346. return s
  64347. }
  64348. type GetTransitGatewayAttachmentPropagationsOutput struct {
  64349. _ struct{} `type:"structure"`
  64350. // The token to use to retrieve the next page of results. This value is null
  64351. // when there are no more results to return.
  64352. NextToken *string `locationName:"nextToken" type:"string"`
  64353. // Information about the propagation route tables.
  64354. TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
  64355. }
  64356. // String returns the string representation
  64357. func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
  64358. return awsutil.Prettify(s)
  64359. }
  64360. // GoString returns the string representation
  64361. func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
  64362. return s.String()
  64363. }
  64364. // SetNextToken sets the NextToken field's value.
  64365. func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
  64366. s.NextToken = &v
  64367. return s
  64368. }
  64369. // SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
  64370. func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
  64371. s.TransitGatewayAttachmentPropagations = v
  64372. return s
  64373. }
  64374. type GetTransitGatewayMulticastDomainAssociationsInput struct {
  64375. _ struct{} `type:"structure"`
  64376. // Checks whether you have the required permissions for the action, without
  64377. // actually making the request, and provides an error response. If you have
  64378. // the required permissions, the error response is DryRunOperation. Otherwise,
  64379. // it is UnauthorizedOperation.
  64380. DryRun *bool `type:"boolean"`
  64381. // One or more filters. The possible values are:
  64382. //
  64383. // * resource-id - The ID of the resource.
  64384. //
  64385. // * resource-type - The type of resource. The valid value is: vpc.
  64386. //
  64387. // * state - The state of the subnet association. Valid values are associated
  64388. // | associating | disassociated | disassociating.
  64389. //
  64390. // * subnet-id - The ID of the subnet.
  64391. //
  64392. // * transit-gateway-attachment-id - The id of the transit gateway attachment.
  64393. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  64394. // The maximum number of results to return with a single call. To retrieve the
  64395. // remaining results, make another call with the returned nextToken value.
  64396. MaxResults *int64 `min:"5" type:"integer"`
  64397. // The token for the next page of results.
  64398. NextToken *string `type:"string"`
  64399. // The ID of the transit gateway multicast domain.
  64400. TransitGatewayMulticastDomainId *string `type:"string"`
  64401. }
  64402. // String returns the string representation
  64403. func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
  64404. return awsutil.Prettify(s)
  64405. }
  64406. // GoString returns the string representation
  64407. func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
  64408. return s.String()
  64409. }
  64410. // Validate inspects the fields of the type to determine if they are valid.
  64411. func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
  64412. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
  64413. if s.MaxResults != nil && *s.MaxResults < 5 {
  64414. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  64415. }
  64416. if invalidParams.Len() > 0 {
  64417. return invalidParams
  64418. }
  64419. return nil
  64420. }
  64421. // SetDryRun sets the DryRun field's value.
  64422. func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
  64423. s.DryRun = &v
  64424. return s
  64425. }
  64426. // SetFilters sets the Filters field's value.
  64427. func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
  64428. s.Filters = v
  64429. return s
  64430. }
  64431. // SetMaxResults sets the MaxResults field's value.
  64432. func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
  64433. s.MaxResults = &v
  64434. return s
  64435. }
  64436. // SetNextToken sets the NextToken field's value.
  64437. func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
  64438. s.NextToken = &v
  64439. return s
  64440. }
  64441. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  64442. func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
  64443. s.TransitGatewayMulticastDomainId = &v
  64444. return s
  64445. }
  64446. type GetTransitGatewayMulticastDomainAssociationsOutput struct {
  64447. _ struct{} `type:"structure"`
  64448. // Information about the multicast domain associations.
  64449. MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
  64450. // The token to use to retrieve the next page of results. This value is null
  64451. // when there are no more results to return.
  64452. NextToken *string `locationName:"nextToken" type:"string"`
  64453. }
  64454. // String returns the string representation
  64455. func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
  64456. return awsutil.Prettify(s)
  64457. }
  64458. // GoString returns the string representation
  64459. func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
  64460. return s.String()
  64461. }
  64462. // SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
  64463. func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
  64464. s.MulticastDomainAssociations = v
  64465. return s
  64466. }
  64467. // SetNextToken sets the NextToken field's value.
  64468. func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
  64469. s.NextToken = &v
  64470. return s
  64471. }
  64472. type GetTransitGatewayRouteTableAssociationsInput struct {
  64473. _ struct{} `type:"structure"`
  64474. // Checks whether you have the required permissions for the action, without
  64475. // actually making the request, and provides an error response. If you have
  64476. // the required permissions, the error response is DryRunOperation. Otherwise,
  64477. // it is UnauthorizedOperation.
  64478. DryRun *bool `type:"boolean"`
  64479. // One or more filters. The possible values are:
  64480. //
  64481. // * resource-id - The ID of the resource.
  64482. //
  64483. // * resource-type - The resource type (vpc | vpn).
  64484. //
  64485. // * transit-gateway-attachment-id - The ID of the attachment.
  64486. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  64487. // The maximum number of results to return with a single call. To retrieve the
  64488. // remaining results, make another call with the returned nextToken value.
  64489. MaxResults *int64 `min:"5" type:"integer"`
  64490. // The token for the next page of results.
  64491. NextToken *string `type:"string"`
  64492. // The ID of the transit gateway route table.
  64493. //
  64494. // TransitGatewayRouteTableId is a required field
  64495. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  64496. }
  64497. // String returns the string representation
  64498. func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
  64499. return awsutil.Prettify(s)
  64500. }
  64501. // GoString returns the string representation
  64502. func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
  64503. return s.String()
  64504. }
  64505. // Validate inspects the fields of the type to determine if they are valid.
  64506. func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
  64507. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
  64508. if s.MaxResults != nil && *s.MaxResults < 5 {
  64509. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  64510. }
  64511. if s.TransitGatewayRouteTableId == nil {
  64512. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  64513. }
  64514. if invalidParams.Len() > 0 {
  64515. return invalidParams
  64516. }
  64517. return nil
  64518. }
  64519. // SetDryRun sets the DryRun field's value.
  64520. func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
  64521. s.DryRun = &v
  64522. return s
  64523. }
  64524. // SetFilters sets the Filters field's value.
  64525. func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
  64526. s.Filters = v
  64527. return s
  64528. }
  64529. // SetMaxResults sets the MaxResults field's value.
  64530. func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
  64531. s.MaxResults = &v
  64532. return s
  64533. }
  64534. // SetNextToken sets the NextToken field's value.
  64535. func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
  64536. s.NextToken = &v
  64537. return s
  64538. }
  64539. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  64540. func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
  64541. s.TransitGatewayRouteTableId = &v
  64542. return s
  64543. }
  64544. type GetTransitGatewayRouteTableAssociationsOutput struct {
  64545. _ struct{} `type:"structure"`
  64546. // Information about the associations.
  64547. Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
  64548. // The token to use to retrieve the next page of results. This value is null
  64549. // when there are no more results to return.
  64550. NextToken *string `locationName:"nextToken" type:"string"`
  64551. }
  64552. // String returns the string representation
  64553. func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
  64554. return awsutil.Prettify(s)
  64555. }
  64556. // GoString returns the string representation
  64557. func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
  64558. return s.String()
  64559. }
  64560. // SetAssociations sets the Associations field's value.
  64561. func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
  64562. s.Associations = v
  64563. return s
  64564. }
  64565. // SetNextToken sets the NextToken field's value.
  64566. func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
  64567. s.NextToken = &v
  64568. return s
  64569. }
  64570. type GetTransitGatewayRouteTablePropagationsInput struct {
  64571. _ struct{} `type:"structure"`
  64572. // Checks whether you have the required permissions for the action, without
  64573. // actually making the request, and provides an error response. If you have
  64574. // the required permissions, the error response is DryRunOperation. Otherwise,
  64575. // it is UnauthorizedOperation.
  64576. DryRun *bool `type:"boolean"`
  64577. // One or more filters. The possible values are:
  64578. //
  64579. // * resource-id - The ID of the resource.
  64580. //
  64581. // * resource-type - The resource type (vpc | vpn).
  64582. //
  64583. // * transit-gateway-attachment-id - The ID of the attachment.
  64584. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  64585. // The maximum number of results to return with a single call. To retrieve the
  64586. // remaining results, make another call with the returned nextToken value.
  64587. MaxResults *int64 `min:"5" type:"integer"`
  64588. // The token for the next page of results.
  64589. NextToken *string `type:"string"`
  64590. // The ID of the transit gateway route table.
  64591. //
  64592. // TransitGatewayRouteTableId is a required field
  64593. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  64594. }
  64595. // String returns the string representation
  64596. func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
  64597. return awsutil.Prettify(s)
  64598. }
  64599. // GoString returns the string representation
  64600. func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
  64601. return s.String()
  64602. }
  64603. // Validate inspects the fields of the type to determine if they are valid.
  64604. func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
  64605. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
  64606. if s.MaxResults != nil && *s.MaxResults < 5 {
  64607. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  64608. }
  64609. if s.TransitGatewayRouteTableId == nil {
  64610. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  64611. }
  64612. if invalidParams.Len() > 0 {
  64613. return invalidParams
  64614. }
  64615. return nil
  64616. }
  64617. // SetDryRun sets the DryRun field's value.
  64618. func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
  64619. s.DryRun = &v
  64620. return s
  64621. }
  64622. // SetFilters sets the Filters field's value.
  64623. func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
  64624. s.Filters = v
  64625. return s
  64626. }
  64627. // SetMaxResults sets the MaxResults field's value.
  64628. func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
  64629. s.MaxResults = &v
  64630. return s
  64631. }
  64632. // SetNextToken sets the NextToken field's value.
  64633. func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
  64634. s.NextToken = &v
  64635. return s
  64636. }
  64637. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  64638. func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
  64639. s.TransitGatewayRouteTableId = &v
  64640. return s
  64641. }
  64642. type GetTransitGatewayRouteTablePropagationsOutput struct {
  64643. _ struct{} `type:"structure"`
  64644. // The token to use to retrieve the next page of results. This value is null
  64645. // when there are no more results to return.
  64646. NextToken *string `locationName:"nextToken" type:"string"`
  64647. // Information about the route table propagations.
  64648. TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
  64649. }
  64650. // String returns the string representation
  64651. func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
  64652. return awsutil.Prettify(s)
  64653. }
  64654. // GoString returns the string representation
  64655. func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
  64656. return s.String()
  64657. }
  64658. // SetNextToken sets the NextToken field's value.
  64659. func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
  64660. s.NextToken = &v
  64661. return s
  64662. }
  64663. // SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
  64664. func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
  64665. s.TransitGatewayRouteTablePropagations = v
  64666. return s
  64667. }
  64668. // Describes the GPU accelerators for the instance type.
  64669. type GpuDeviceInfo struct {
  64670. _ struct{} `type:"structure"`
  64671. // The number of GPUs for the instance type.
  64672. Count *int64 `locationName:"count" type:"integer"`
  64673. // The manufacturer of the GPU accelerator.
  64674. Manufacturer *string `locationName:"manufacturer" type:"string"`
  64675. // Describes the memory available to the GPU accelerator.
  64676. MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
  64677. // The name of the GPU accelerator.
  64678. Name *string `locationName:"name" type:"string"`
  64679. }
  64680. // String returns the string representation
  64681. func (s GpuDeviceInfo) String() string {
  64682. return awsutil.Prettify(s)
  64683. }
  64684. // GoString returns the string representation
  64685. func (s GpuDeviceInfo) GoString() string {
  64686. return s.String()
  64687. }
  64688. // SetCount sets the Count field's value.
  64689. func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo {
  64690. s.Count = &v
  64691. return s
  64692. }
  64693. // SetManufacturer sets the Manufacturer field's value.
  64694. func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo {
  64695. s.Manufacturer = &v
  64696. return s
  64697. }
  64698. // SetMemoryInfo sets the MemoryInfo field's value.
  64699. func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo {
  64700. s.MemoryInfo = v
  64701. return s
  64702. }
  64703. // SetName sets the Name field's value.
  64704. func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
  64705. s.Name = &v
  64706. return s
  64707. }
  64708. // Describes the memory available to the GPU accelerator.
  64709. type GpuDeviceMemoryInfo struct {
  64710. _ struct{} `type:"structure"`
  64711. // The size (in MiB) for the memory available to the GPU accelerator.
  64712. SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
  64713. }
  64714. // String returns the string representation
  64715. func (s GpuDeviceMemoryInfo) String() string {
  64716. return awsutil.Prettify(s)
  64717. }
  64718. // GoString returns the string representation
  64719. func (s GpuDeviceMemoryInfo) GoString() string {
  64720. return s.String()
  64721. }
  64722. // SetSizeInMiB sets the SizeInMiB field's value.
  64723. func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo {
  64724. s.SizeInMiB = &v
  64725. return s
  64726. }
  64727. // Describes the GPU accelerators for the instance type.
  64728. type GpuInfo struct {
  64729. _ struct{} `type:"structure"`
  64730. // Describes the GPU accelerators for the instance type.
  64731. Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
  64732. // The total size of the memory for the GPU accelerators for the instance type.
  64733. TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
  64734. }
  64735. // String returns the string representation
  64736. func (s GpuInfo) String() string {
  64737. return awsutil.Prettify(s)
  64738. }
  64739. // GoString returns the string representation
  64740. func (s GpuInfo) GoString() string {
  64741. return s.String()
  64742. }
  64743. // SetGpus sets the Gpus field's value.
  64744. func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo {
  64745. s.Gpus = v
  64746. return s
  64747. }
  64748. // SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value.
  64749. func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo {
  64750. s.TotalGpuMemoryInMiB = &v
  64751. return s
  64752. }
  64753. // Describes a security group.
  64754. type GroupIdentifier struct {
  64755. _ struct{} `type:"structure"`
  64756. // The ID of the security group.
  64757. GroupId *string `locationName:"groupId" type:"string"`
  64758. // The name of the security group.
  64759. GroupName *string `locationName:"groupName" type:"string"`
  64760. }
  64761. // String returns the string representation
  64762. func (s GroupIdentifier) String() string {
  64763. return awsutil.Prettify(s)
  64764. }
  64765. // GoString returns the string representation
  64766. func (s GroupIdentifier) GoString() string {
  64767. return s.String()
  64768. }
  64769. // SetGroupId sets the GroupId field's value.
  64770. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  64771. s.GroupId = &v
  64772. return s
  64773. }
  64774. // SetGroupName sets the GroupName field's value.
  64775. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  64776. s.GroupName = &v
  64777. return s
  64778. }
  64779. // Indicates whether your instance is configured for hibernation. This parameter
  64780. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  64781. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  64782. // in the Amazon Elastic Compute Cloud User Guide.
  64783. type HibernationOptions struct {
  64784. _ struct{} `type:"structure"`
  64785. // If this parameter is set to true, your instance is enabled for hibernation;
  64786. // otherwise, it is not enabled for hibernation.
  64787. Configured *bool `locationName:"configured" type:"boolean"`
  64788. }
  64789. // String returns the string representation
  64790. func (s HibernationOptions) String() string {
  64791. return awsutil.Prettify(s)
  64792. }
  64793. // GoString returns the string representation
  64794. func (s HibernationOptions) GoString() string {
  64795. return s.String()
  64796. }
  64797. // SetConfigured sets the Configured field's value.
  64798. func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
  64799. s.Configured = &v
  64800. return s
  64801. }
  64802. // Indicates whether your instance is configured for hibernation. This parameter
  64803. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  64804. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  64805. // in the Amazon Elastic Compute Cloud User Guide.
  64806. type HibernationOptionsRequest struct {
  64807. _ struct{} `type:"structure"`
  64808. // If you set this parameter to true, your instance is enabled for hibernation.
  64809. //
  64810. // Default: false
  64811. Configured *bool `type:"boolean"`
  64812. }
  64813. // String returns the string representation
  64814. func (s HibernationOptionsRequest) String() string {
  64815. return awsutil.Prettify(s)
  64816. }
  64817. // GoString returns the string representation
  64818. func (s HibernationOptionsRequest) GoString() string {
  64819. return s.String()
  64820. }
  64821. // SetConfigured sets the Configured field's value.
  64822. func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
  64823. s.Configured = &v
  64824. return s
  64825. }
  64826. // Describes an event in the history of the Spot Fleet request.
  64827. type HistoryRecord struct {
  64828. _ struct{} `type:"structure"`
  64829. // Information about the event.
  64830. EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
  64831. // The event type.
  64832. //
  64833. // * error - An error with the Spot Fleet request.
  64834. //
  64835. // * fleetRequestChange - A change in the status or configuration of the
  64836. // Spot Fleet request.
  64837. //
  64838. // * instanceChange - An instance was launched or terminated.
  64839. //
  64840. // * Information - An informational event.
  64841. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  64842. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  64843. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  64844. }
  64845. // String returns the string representation
  64846. func (s HistoryRecord) String() string {
  64847. return awsutil.Prettify(s)
  64848. }
  64849. // GoString returns the string representation
  64850. func (s HistoryRecord) GoString() string {
  64851. return s.String()
  64852. }
  64853. // SetEventInformation sets the EventInformation field's value.
  64854. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  64855. s.EventInformation = v
  64856. return s
  64857. }
  64858. // SetEventType sets the EventType field's value.
  64859. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  64860. s.EventType = &v
  64861. return s
  64862. }
  64863. // SetTimestamp sets the Timestamp field's value.
  64864. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  64865. s.Timestamp = &v
  64866. return s
  64867. }
  64868. // Describes an event in the history of an EC2 Fleet.
  64869. type HistoryRecordEntry struct {
  64870. _ struct{} `type:"structure"`
  64871. // Information about the event.
  64872. EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
  64873. // The event type.
  64874. EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
  64875. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  64876. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  64877. }
  64878. // String returns the string representation
  64879. func (s HistoryRecordEntry) String() string {
  64880. return awsutil.Prettify(s)
  64881. }
  64882. // GoString returns the string representation
  64883. func (s HistoryRecordEntry) GoString() string {
  64884. return s.String()
  64885. }
  64886. // SetEventInformation sets the EventInformation field's value.
  64887. func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
  64888. s.EventInformation = v
  64889. return s
  64890. }
  64891. // SetEventType sets the EventType field's value.
  64892. func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
  64893. s.EventType = &v
  64894. return s
  64895. }
  64896. // SetTimestamp sets the Timestamp field's value.
  64897. func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
  64898. s.Timestamp = &v
  64899. return s
  64900. }
  64901. // Describes the properties of the Dedicated Host.
  64902. type Host struct {
  64903. _ struct{} `type:"structure"`
  64904. // The time that the Dedicated Host was allocated.
  64905. AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
  64906. // Indicates whether the Dedicated Host supports multiple instance types of
  64907. // the same instance family, or a specific instance type only. one indicates
  64908. // that the Dedicated Host supports multiple instance types in the instance
  64909. // family. off indicates that the Dedicated Host supports a single instance
  64910. // type only.
  64911. AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"`
  64912. // Whether auto-placement is on or off.
  64913. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  64914. // The Availability Zone of the Dedicated Host.
  64915. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  64916. // The ID of the Availability Zone in which the Dedicated Host is allocated.
  64917. AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
  64918. // Information about the instances running on the Dedicated Host.
  64919. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  64920. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  64921. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  64922. ClientToken *string `locationName:"clientToken" type:"string"`
  64923. // The ID of the Dedicated Host.
  64924. HostId *string `locationName:"hostId" type:"string"`
  64925. // The hardware specifications of the Dedicated Host.
  64926. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  64927. // Indicates whether host recovery is enabled or disabled for the Dedicated
  64928. // Host.
  64929. HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"`
  64930. // The reservation ID of the Dedicated Host. This returns a null response if
  64931. // the Dedicated Host doesn't have an associated reservation.
  64932. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  64933. // The IDs and instance type that are currently running on the Dedicated Host.
  64934. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  64935. // Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
  64936. // is true, the host is in a host resource group; otherwise, it is not.
  64937. MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
  64938. // The ID of the AWS account that owns the Dedicated Host.
  64939. OwnerId *string `locationName:"ownerId" type:"string"`
  64940. // The time that the Dedicated Host was released.
  64941. ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
  64942. // The Dedicated Host's state.
  64943. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  64944. // Any tags assigned to the Dedicated Host.
  64945. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  64946. }
  64947. // String returns the string representation
  64948. func (s Host) String() string {
  64949. return awsutil.Prettify(s)
  64950. }
  64951. // GoString returns the string representation
  64952. func (s Host) GoString() string {
  64953. return s.String()
  64954. }
  64955. // SetAllocationTime sets the AllocationTime field's value.
  64956. func (s *Host) SetAllocationTime(v time.Time) *Host {
  64957. s.AllocationTime = &v
  64958. return s
  64959. }
  64960. // SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value.
  64961. func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host {
  64962. s.AllowsMultipleInstanceTypes = &v
  64963. return s
  64964. }
  64965. // SetAutoPlacement sets the AutoPlacement field's value.
  64966. func (s *Host) SetAutoPlacement(v string) *Host {
  64967. s.AutoPlacement = &v
  64968. return s
  64969. }
  64970. // SetAvailabilityZone sets the AvailabilityZone field's value.
  64971. func (s *Host) SetAvailabilityZone(v string) *Host {
  64972. s.AvailabilityZone = &v
  64973. return s
  64974. }
  64975. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  64976. func (s *Host) SetAvailabilityZoneId(v string) *Host {
  64977. s.AvailabilityZoneId = &v
  64978. return s
  64979. }
  64980. // SetAvailableCapacity sets the AvailableCapacity field's value.
  64981. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  64982. s.AvailableCapacity = v
  64983. return s
  64984. }
  64985. // SetClientToken sets the ClientToken field's value.
  64986. func (s *Host) SetClientToken(v string) *Host {
  64987. s.ClientToken = &v
  64988. return s
  64989. }
  64990. // SetHostId sets the HostId field's value.
  64991. func (s *Host) SetHostId(v string) *Host {
  64992. s.HostId = &v
  64993. return s
  64994. }
  64995. // SetHostProperties sets the HostProperties field's value.
  64996. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  64997. s.HostProperties = v
  64998. return s
  64999. }
  65000. // SetHostRecovery sets the HostRecovery field's value.
  65001. func (s *Host) SetHostRecovery(v string) *Host {
  65002. s.HostRecovery = &v
  65003. return s
  65004. }
  65005. // SetHostReservationId sets the HostReservationId field's value.
  65006. func (s *Host) SetHostReservationId(v string) *Host {
  65007. s.HostReservationId = &v
  65008. return s
  65009. }
  65010. // SetInstances sets the Instances field's value.
  65011. func (s *Host) SetInstances(v []*HostInstance) *Host {
  65012. s.Instances = v
  65013. return s
  65014. }
  65015. // SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
  65016. func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
  65017. s.MemberOfServiceLinkedResourceGroup = &v
  65018. return s
  65019. }
  65020. // SetOwnerId sets the OwnerId field's value.
  65021. func (s *Host) SetOwnerId(v string) *Host {
  65022. s.OwnerId = &v
  65023. return s
  65024. }
  65025. // SetReleaseTime sets the ReleaseTime field's value.
  65026. func (s *Host) SetReleaseTime(v time.Time) *Host {
  65027. s.ReleaseTime = &v
  65028. return s
  65029. }
  65030. // SetState sets the State field's value.
  65031. func (s *Host) SetState(v string) *Host {
  65032. s.State = &v
  65033. return s
  65034. }
  65035. // SetTags sets the Tags field's value.
  65036. func (s *Host) SetTags(v []*Tag) *Host {
  65037. s.Tags = v
  65038. return s
  65039. }
  65040. // Describes an instance running on a Dedicated Host.
  65041. type HostInstance struct {
  65042. _ struct{} `type:"structure"`
  65043. // The ID of instance that is running on the Dedicated Host.
  65044. InstanceId *string `locationName:"instanceId" type:"string"`
  65045. // The instance type (for example, m3.medium) of the running instance.
  65046. InstanceType *string `locationName:"instanceType" type:"string"`
  65047. // The ID of the AWS account that owns the instance.
  65048. OwnerId *string `locationName:"ownerId" type:"string"`
  65049. }
  65050. // String returns the string representation
  65051. func (s HostInstance) String() string {
  65052. return awsutil.Prettify(s)
  65053. }
  65054. // GoString returns the string representation
  65055. func (s HostInstance) GoString() string {
  65056. return s.String()
  65057. }
  65058. // SetInstanceId sets the InstanceId field's value.
  65059. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  65060. s.InstanceId = &v
  65061. return s
  65062. }
  65063. // SetInstanceType sets the InstanceType field's value.
  65064. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  65065. s.InstanceType = &v
  65066. return s
  65067. }
  65068. // SetOwnerId sets the OwnerId field's value.
  65069. func (s *HostInstance) SetOwnerId(v string) *HostInstance {
  65070. s.OwnerId = &v
  65071. return s
  65072. }
  65073. // Details about the Dedicated Host Reservation offering.
  65074. type HostOffering struct {
  65075. _ struct{} `type:"structure"`
  65076. // The currency of the offering.
  65077. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  65078. // The duration of the offering (in seconds).
  65079. Duration *int64 `locationName:"duration" type:"integer"`
  65080. // The hourly price of the offering.
  65081. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  65082. // The instance family of the offering.
  65083. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  65084. // The ID of the offering.
  65085. OfferingId *string `locationName:"offeringId" type:"string"`
  65086. // The available payment option.
  65087. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  65088. // The upfront price of the offering. Does not apply to No Upfront offerings.
  65089. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  65090. }
  65091. // String returns the string representation
  65092. func (s HostOffering) String() string {
  65093. return awsutil.Prettify(s)
  65094. }
  65095. // GoString returns the string representation
  65096. func (s HostOffering) GoString() string {
  65097. return s.String()
  65098. }
  65099. // SetCurrencyCode sets the CurrencyCode field's value.
  65100. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  65101. s.CurrencyCode = &v
  65102. return s
  65103. }
  65104. // SetDuration sets the Duration field's value.
  65105. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  65106. s.Duration = &v
  65107. return s
  65108. }
  65109. // SetHourlyPrice sets the HourlyPrice field's value.
  65110. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  65111. s.HourlyPrice = &v
  65112. return s
  65113. }
  65114. // SetInstanceFamily sets the InstanceFamily field's value.
  65115. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  65116. s.InstanceFamily = &v
  65117. return s
  65118. }
  65119. // SetOfferingId sets the OfferingId field's value.
  65120. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  65121. s.OfferingId = &v
  65122. return s
  65123. }
  65124. // SetPaymentOption sets the PaymentOption field's value.
  65125. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  65126. s.PaymentOption = &v
  65127. return s
  65128. }
  65129. // SetUpfrontPrice sets the UpfrontPrice field's value.
  65130. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  65131. s.UpfrontPrice = &v
  65132. return s
  65133. }
  65134. // Describes the properties of a Dedicated Host.
  65135. type HostProperties struct {
  65136. _ struct{} `type:"structure"`
  65137. // The number of cores on the Dedicated Host.
  65138. Cores *int64 `locationName:"cores" type:"integer"`
  65139. // The instance family supported by the Dedicated Host. For example, m5.
  65140. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  65141. // The instance type supported by the Dedicated Host. For example, m5.large.
  65142. // If the host supports multiple instance types, no instanceType is returned.
  65143. InstanceType *string `locationName:"instanceType" type:"string"`
  65144. // The number of sockets on the Dedicated Host.
  65145. Sockets *int64 `locationName:"sockets" type:"integer"`
  65146. // The total number of vCPUs on the Dedicated Host.
  65147. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  65148. }
  65149. // String returns the string representation
  65150. func (s HostProperties) String() string {
  65151. return awsutil.Prettify(s)
  65152. }
  65153. // GoString returns the string representation
  65154. func (s HostProperties) GoString() string {
  65155. return s.String()
  65156. }
  65157. // SetCores sets the Cores field's value.
  65158. func (s *HostProperties) SetCores(v int64) *HostProperties {
  65159. s.Cores = &v
  65160. return s
  65161. }
  65162. // SetInstanceFamily sets the InstanceFamily field's value.
  65163. func (s *HostProperties) SetInstanceFamily(v string) *HostProperties {
  65164. s.InstanceFamily = &v
  65165. return s
  65166. }
  65167. // SetInstanceType sets the InstanceType field's value.
  65168. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  65169. s.InstanceType = &v
  65170. return s
  65171. }
  65172. // SetSockets sets the Sockets field's value.
  65173. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  65174. s.Sockets = &v
  65175. return s
  65176. }
  65177. // SetTotalVCpus sets the TotalVCpus field's value.
  65178. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  65179. s.TotalVCpus = &v
  65180. return s
  65181. }
  65182. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  65183. type HostReservation struct {
  65184. _ struct{} `type:"structure"`
  65185. // The number of Dedicated Hosts the reservation is associated with.
  65186. Count *int64 `locationName:"count" type:"integer"`
  65187. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  65188. // At this time, the only supported currency is USD.
  65189. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  65190. // The length of the reservation's term, specified in seconds. Can be 31536000
  65191. // (1 year) | 94608000 (3 years).
  65192. Duration *int64 `locationName:"duration" type:"integer"`
  65193. // The date and time that the reservation ends.
  65194. End *time.Time `locationName:"end" type:"timestamp"`
  65195. // The IDs of the Dedicated Hosts associated with the reservation.
  65196. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  65197. // The ID of the reservation that specifies the associated Dedicated Hosts.
  65198. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  65199. // The hourly price of the reservation.
  65200. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  65201. // The instance family of the Dedicated Host Reservation. The instance family
  65202. // on the Dedicated Host must be the same in order for it to benefit from the
  65203. // reservation.
  65204. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  65205. // The ID of the reservation. This remains the same regardless of which Dedicated
  65206. // Hosts are associated with it.
  65207. OfferingId *string `locationName:"offeringId" type:"string"`
  65208. // The payment option selected for this reservation.
  65209. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  65210. // The date and time that the reservation started.
  65211. Start *time.Time `locationName:"start" type:"timestamp"`
  65212. // The state of the reservation.
  65213. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  65214. // Any tags assigned to the Dedicated Host Reservation.
  65215. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  65216. // The upfront price of the reservation.
  65217. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  65218. }
  65219. // String returns the string representation
  65220. func (s HostReservation) String() string {
  65221. return awsutil.Prettify(s)
  65222. }
  65223. // GoString returns the string representation
  65224. func (s HostReservation) GoString() string {
  65225. return s.String()
  65226. }
  65227. // SetCount sets the Count field's value.
  65228. func (s *HostReservation) SetCount(v int64) *HostReservation {
  65229. s.Count = &v
  65230. return s
  65231. }
  65232. // SetCurrencyCode sets the CurrencyCode field's value.
  65233. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  65234. s.CurrencyCode = &v
  65235. return s
  65236. }
  65237. // SetDuration sets the Duration field's value.
  65238. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  65239. s.Duration = &v
  65240. return s
  65241. }
  65242. // SetEnd sets the End field's value.
  65243. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  65244. s.End = &v
  65245. return s
  65246. }
  65247. // SetHostIdSet sets the HostIdSet field's value.
  65248. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  65249. s.HostIdSet = v
  65250. return s
  65251. }
  65252. // SetHostReservationId sets the HostReservationId field's value.
  65253. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  65254. s.HostReservationId = &v
  65255. return s
  65256. }
  65257. // SetHourlyPrice sets the HourlyPrice field's value.
  65258. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  65259. s.HourlyPrice = &v
  65260. return s
  65261. }
  65262. // SetInstanceFamily sets the InstanceFamily field's value.
  65263. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  65264. s.InstanceFamily = &v
  65265. return s
  65266. }
  65267. // SetOfferingId sets the OfferingId field's value.
  65268. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  65269. s.OfferingId = &v
  65270. return s
  65271. }
  65272. // SetPaymentOption sets the PaymentOption field's value.
  65273. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  65274. s.PaymentOption = &v
  65275. return s
  65276. }
  65277. // SetStart sets the Start field's value.
  65278. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  65279. s.Start = &v
  65280. return s
  65281. }
  65282. // SetState sets the State field's value.
  65283. func (s *HostReservation) SetState(v string) *HostReservation {
  65284. s.State = &v
  65285. return s
  65286. }
  65287. // SetTags sets the Tags field's value.
  65288. func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
  65289. s.Tags = v
  65290. return s
  65291. }
  65292. // SetUpfrontPrice sets the UpfrontPrice field's value.
  65293. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  65294. s.UpfrontPrice = &v
  65295. return s
  65296. }
  65297. // The internet key exchange (IKE) version permitted for the VPN tunnel.
  65298. type IKEVersionsListValue struct {
  65299. _ struct{} `type:"structure"`
  65300. // The IKE version.
  65301. Value *string `locationName:"value" type:"string"`
  65302. }
  65303. // String returns the string representation
  65304. func (s IKEVersionsListValue) String() string {
  65305. return awsutil.Prettify(s)
  65306. }
  65307. // GoString returns the string representation
  65308. func (s IKEVersionsListValue) GoString() string {
  65309. return s.String()
  65310. }
  65311. // SetValue sets the Value field's value.
  65312. func (s *IKEVersionsListValue) SetValue(v string) *IKEVersionsListValue {
  65313. s.Value = &v
  65314. return s
  65315. }
  65316. // The IKE version that is permitted for the VPN tunnel.
  65317. type IKEVersionsRequestListValue struct {
  65318. _ struct{} `type:"structure"`
  65319. // The IKE version.
  65320. Value *string `type:"string"`
  65321. }
  65322. // String returns the string representation
  65323. func (s IKEVersionsRequestListValue) String() string {
  65324. return awsutil.Prettify(s)
  65325. }
  65326. // GoString returns the string representation
  65327. func (s IKEVersionsRequestListValue) GoString() string {
  65328. return s.String()
  65329. }
  65330. // SetValue sets the Value field's value.
  65331. func (s *IKEVersionsRequestListValue) SetValue(v string) *IKEVersionsRequestListValue {
  65332. s.Value = &v
  65333. return s
  65334. }
  65335. // Describes an IAM instance profile.
  65336. type IamInstanceProfile struct {
  65337. _ struct{} `type:"structure"`
  65338. // The Amazon Resource Name (ARN) of the instance profile.
  65339. Arn *string `locationName:"arn" type:"string"`
  65340. // The ID of the instance profile.
  65341. Id *string `locationName:"id" type:"string"`
  65342. }
  65343. // String returns the string representation
  65344. func (s IamInstanceProfile) String() string {
  65345. return awsutil.Prettify(s)
  65346. }
  65347. // GoString returns the string representation
  65348. func (s IamInstanceProfile) GoString() string {
  65349. return s.String()
  65350. }
  65351. // SetArn sets the Arn field's value.
  65352. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  65353. s.Arn = &v
  65354. return s
  65355. }
  65356. // SetId sets the Id field's value.
  65357. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  65358. s.Id = &v
  65359. return s
  65360. }
  65361. // Describes an association between an IAM instance profile and an instance.
  65362. type IamInstanceProfileAssociation struct {
  65363. _ struct{} `type:"structure"`
  65364. // The ID of the association.
  65365. AssociationId *string `locationName:"associationId" type:"string"`
  65366. // The IAM instance profile.
  65367. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  65368. // The ID of the instance.
  65369. InstanceId *string `locationName:"instanceId" type:"string"`
  65370. // The state of the association.
  65371. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  65372. // The time the IAM instance profile was associated with the instance.
  65373. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  65374. }
  65375. // String returns the string representation
  65376. func (s IamInstanceProfileAssociation) String() string {
  65377. return awsutil.Prettify(s)
  65378. }
  65379. // GoString returns the string representation
  65380. func (s IamInstanceProfileAssociation) GoString() string {
  65381. return s.String()
  65382. }
  65383. // SetAssociationId sets the AssociationId field's value.
  65384. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  65385. s.AssociationId = &v
  65386. return s
  65387. }
  65388. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  65389. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  65390. s.IamInstanceProfile = v
  65391. return s
  65392. }
  65393. // SetInstanceId sets the InstanceId field's value.
  65394. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  65395. s.InstanceId = &v
  65396. return s
  65397. }
  65398. // SetState sets the State field's value.
  65399. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  65400. s.State = &v
  65401. return s
  65402. }
  65403. // SetTimestamp sets the Timestamp field's value.
  65404. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  65405. s.Timestamp = &v
  65406. return s
  65407. }
  65408. // Describes an IAM instance profile.
  65409. type IamInstanceProfileSpecification struct {
  65410. _ struct{} `type:"structure"`
  65411. // The Amazon Resource Name (ARN) of the instance profile.
  65412. Arn *string `locationName:"arn" type:"string"`
  65413. // The name of the instance profile.
  65414. Name *string `locationName:"name" type:"string"`
  65415. }
  65416. // String returns the string representation
  65417. func (s IamInstanceProfileSpecification) String() string {
  65418. return awsutil.Prettify(s)
  65419. }
  65420. // GoString returns the string representation
  65421. func (s IamInstanceProfileSpecification) GoString() string {
  65422. return s.String()
  65423. }
  65424. // SetArn sets the Arn field's value.
  65425. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  65426. s.Arn = &v
  65427. return s
  65428. }
  65429. // SetName sets the Name field's value.
  65430. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  65431. s.Name = &v
  65432. return s
  65433. }
  65434. // Describes the ICMP type and code.
  65435. type IcmpTypeCode struct {
  65436. _ struct{} `type:"structure"`
  65437. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  65438. Code *int64 `locationName:"code" type:"integer"`
  65439. // The ICMP type. A value of -1 means all types.
  65440. Type *int64 `locationName:"type" type:"integer"`
  65441. }
  65442. // String returns the string representation
  65443. func (s IcmpTypeCode) String() string {
  65444. return awsutil.Prettify(s)
  65445. }
  65446. // GoString returns the string representation
  65447. func (s IcmpTypeCode) GoString() string {
  65448. return s.String()
  65449. }
  65450. // SetCode sets the Code field's value.
  65451. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  65452. s.Code = &v
  65453. return s
  65454. }
  65455. // SetType sets the Type field's value.
  65456. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  65457. s.Type = &v
  65458. return s
  65459. }
  65460. // Describes the ID format for a resource.
  65461. type IdFormat struct {
  65462. _ struct{} `type:"structure"`
  65463. // The date in UTC at which you are permanently switched over to using longer
  65464. // IDs. If a deadline is not yet available for this resource type, this field
  65465. // is not returned.
  65466. Deadline *time.Time `locationName:"deadline" type:"timestamp"`
  65467. // The type of resource.
  65468. Resource *string `locationName:"resource" type:"string"`
  65469. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  65470. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  65471. }
  65472. // String returns the string representation
  65473. func (s IdFormat) String() string {
  65474. return awsutil.Prettify(s)
  65475. }
  65476. // GoString returns the string representation
  65477. func (s IdFormat) GoString() string {
  65478. return s.String()
  65479. }
  65480. // SetDeadline sets the Deadline field's value.
  65481. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  65482. s.Deadline = &v
  65483. return s
  65484. }
  65485. // SetResource sets the Resource field's value.
  65486. func (s *IdFormat) SetResource(v string) *IdFormat {
  65487. s.Resource = &v
  65488. return s
  65489. }
  65490. // SetUseLongIds sets the UseLongIds field's value.
  65491. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  65492. s.UseLongIds = &v
  65493. return s
  65494. }
  65495. // Describes an image.
  65496. type Image struct {
  65497. _ struct{} `type:"structure"`
  65498. // The architecture of the image.
  65499. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  65500. // Any block device mapping entries.
  65501. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  65502. // The date and time the image was created.
  65503. CreationDate *string `locationName:"creationDate" type:"string"`
  65504. // The description of the AMI that was provided during image creation.
  65505. Description *string `locationName:"description" type:"string"`
  65506. // Specifies whether enhanced networking with ENA is enabled.
  65507. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  65508. // The hypervisor type of the image.
  65509. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  65510. // The ID of the AMI.
  65511. ImageId *string `locationName:"imageId" type:"string"`
  65512. // The location of the AMI.
  65513. ImageLocation *string `locationName:"imageLocation" type:"string"`
  65514. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  65515. // the AMI owner.
  65516. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  65517. // The type of image.
  65518. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  65519. // The kernel associated with the image, if any. Only applicable for machine
  65520. // images.
  65521. KernelId *string `locationName:"kernelId" type:"string"`
  65522. // The name of the AMI that was provided during image creation.
  65523. Name *string `locationName:"name" type:"string"`
  65524. // The AWS account ID of the image owner.
  65525. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  65526. // This value is set to windows for Windows AMIs; otherwise, it is blank.
  65527. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  65528. // Any product codes associated with the AMI.
  65529. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  65530. // Indicates whether the image has public launch permissions. The value is true
  65531. // if this image has public launch permissions or false if it has only implicit
  65532. // and explicit launch permissions.
  65533. Public *bool `locationName:"isPublic" type:"boolean"`
  65534. // The RAM disk associated with the image, if any. Only applicable for machine
  65535. // images.
  65536. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  65537. // The device name of the root device volume (for example, /dev/sda1).
  65538. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  65539. // The type of root device used by the AMI. The AMI can use an EBS volume or
  65540. // an instance store volume.
  65541. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  65542. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  65543. // interface is enabled.
  65544. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  65545. // The current state of the AMI. If the state is available, the image is successfully
  65546. // registered and can be used to launch an instance.
  65547. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  65548. // The reason for the state change.
  65549. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  65550. // Any tags assigned to the image.
  65551. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  65552. // The type of virtualization of the AMI.
  65553. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  65554. }
  65555. // String returns the string representation
  65556. func (s Image) String() string {
  65557. return awsutil.Prettify(s)
  65558. }
  65559. // GoString returns the string representation
  65560. func (s Image) GoString() string {
  65561. return s.String()
  65562. }
  65563. // SetArchitecture sets the Architecture field's value.
  65564. func (s *Image) SetArchitecture(v string) *Image {
  65565. s.Architecture = &v
  65566. return s
  65567. }
  65568. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  65569. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  65570. s.BlockDeviceMappings = v
  65571. return s
  65572. }
  65573. // SetCreationDate sets the CreationDate field's value.
  65574. func (s *Image) SetCreationDate(v string) *Image {
  65575. s.CreationDate = &v
  65576. return s
  65577. }
  65578. // SetDescription sets the Description field's value.
  65579. func (s *Image) SetDescription(v string) *Image {
  65580. s.Description = &v
  65581. return s
  65582. }
  65583. // SetEnaSupport sets the EnaSupport field's value.
  65584. func (s *Image) SetEnaSupport(v bool) *Image {
  65585. s.EnaSupport = &v
  65586. return s
  65587. }
  65588. // SetHypervisor sets the Hypervisor field's value.
  65589. func (s *Image) SetHypervisor(v string) *Image {
  65590. s.Hypervisor = &v
  65591. return s
  65592. }
  65593. // SetImageId sets the ImageId field's value.
  65594. func (s *Image) SetImageId(v string) *Image {
  65595. s.ImageId = &v
  65596. return s
  65597. }
  65598. // SetImageLocation sets the ImageLocation field's value.
  65599. func (s *Image) SetImageLocation(v string) *Image {
  65600. s.ImageLocation = &v
  65601. return s
  65602. }
  65603. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  65604. func (s *Image) SetImageOwnerAlias(v string) *Image {
  65605. s.ImageOwnerAlias = &v
  65606. return s
  65607. }
  65608. // SetImageType sets the ImageType field's value.
  65609. func (s *Image) SetImageType(v string) *Image {
  65610. s.ImageType = &v
  65611. return s
  65612. }
  65613. // SetKernelId sets the KernelId field's value.
  65614. func (s *Image) SetKernelId(v string) *Image {
  65615. s.KernelId = &v
  65616. return s
  65617. }
  65618. // SetName sets the Name field's value.
  65619. func (s *Image) SetName(v string) *Image {
  65620. s.Name = &v
  65621. return s
  65622. }
  65623. // SetOwnerId sets the OwnerId field's value.
  65624. func (s *Image) SetOwnerId(v string) *Image {
  65625. s.OwnerId = &v
  65626. return s
  65627. }
  65628. // SetPlatform sets the Platform field's value.
  65629. func (s *Image) SetPlatform(v string) *Image {
  65630. s.Platform = &v
  65631. return s
  65632. }
  65633. // SetProductCodes sets the ProductCodes field's value.
  65634. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  65635. s.ProductCodes = v
  65636. return s
  65637. }
  65638. // SetPublic sets the Public field's value.
  65639. func (s *Image) SetPublic(v bool) *Image {
  65640. s.Public = &v
  65641. return s
  65642. }
  65643. // SetRamdiskId sets the RamdiskId field's value.
  65644. func (s *Image) SetRamdiskId(v string) *Image {
  65645. s.RamdiskId = &v
  65646. return s
  65647. }
  65648. // SetRootDeviceName sets the RootDeviceName field's value.
  65649. func (s *Image) SetRootDeviceName(v string) *Image {
  65650. s.RootDeviceName = &v
  65651. return s
  65652. }
  65653. // SetRootDeviceType sets the RootDeviceType field's value.
  65654. func (s *Image) SetRootDeviceType(v string) *Image {
  65655. s.RootDeviceType = &v
  65656. return s
  65657. }
  65658. // SetSriovNetSupport sets the SriovNetSupport field's value.
  65659. func (s *Image) SetSriovNetSupport(v string) *Image {
  65660. s.SriovNetSupport = &v
  65661. return s
  65662. }
  65663. // SetState sets the State field's value.
  65664. func (s *Image) SetState(v string) *Image {
  65665. s.State = &v
  65666. return s
  65667. }
  65668. // SetStateReason sets the StateReason field's value.
  65669. func (s *Image) SetStateReason(v *StateReason) *Image {
  65670. s.StateReason = v
  65671. return s
  65672. }
  65673. // SetTags sets the Tags field's value.
  65674. func (s *Image) SetTags(v []*Tag) *Image {
  65675. s.Tags = v
  65676. return s
  65677. }
  65678. // SetVirtualizationType sets the VirtualizationType field's value.
  65679. func (s *Image) SetVirtualizationType(v string) *Image {
  65680. s.VirtualizationType = &v
  65681. return s
  65682. }
  65683. // Describes the disk container object for an import image task.
  65684. type ImageDiskContainer struct {
  65685. _ struct{} `type:"structure"`
  65686. // The description of the disk image.
  65687. Description *string `type:"string"`
  65688. // The block device mapping for the disk.
  65689. DeviceName *string `type:"string"`
  65690. // The format of the disk image being imported.
  65691. //
  65692. // Valid values: VHD | VMDK | OVA
  65693. Format *string `type:"string"`
  65694. // The ID of the EBS snapshot to be used for importing the snapshot.
  65695. SnapshotId *string `type:"string"`
  65696. // The URL to the Amazon S3-based disk image being imported. The URL can either
  65697. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  65698. Url *string `type:"string"`
  65699. // The S3 bucket for the disk image.
  65700. UserBucket *UserBucket `type:"structure"`
  65701. }
  65702. // String returns the string representation
  65703. func (s ImageDiskContainer) String() string {
  65704. return awsutil.Prettify(s)
  65705. }
  65706. // GoString returns the string representation
  65707. func (s ImageDiskContainer) GoString() string {
  65708. return s.String()
  65709. }
  65710. // SetDescription sets the Description field's value.
  65711. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  65712. s.Description = &v
  65713. return s
  65714. }
  65715. // SetDeviceName sets the DeviceName field's value.
  65716. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  65717. s.DeviceName = &v
  65718. return s
  65719. }
  65720. // SetFormat sets the Format field's value.
  65721. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  65722. s.Format = &v
  65723. return s
  65724. }
  65725. // SetSnapshotId sets the SnapshotId field's value.
  65726. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  65727. s.SnapshotId = &v
  65728. return s
  65729. }
  65730. // SetUrl sets the Url field's value.
  65731. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  65732. s.Url = &v
  65733. return s
  65734. }
  65735. // SetUserBucket sets the UserBucket field's value.
  65736. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  65737. s.UserBucket = v
  65738. return s
  65739. }
  65740. type ImportClientVpnClientCertificateRevocationListInput struct {
  65741. _ struct{} `type:"structure"`
  65742. // The client certificate revocation list file. For more information, see Generate
  65743. // a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
  65744. // in the AWS Client VPN Administrator Guide.
  65745. //
  65746. // CertificateRevocationList is a required field
  65747. CertificateRevocationList *string `type:"string" required:"true"`
  65748. // The ID of the Client VPN endpoint to which the client certificate revocation
  65749. // list applies.
  65750. //
  65751. // ClientVpnEndpointId is a required field
  65752. ClientVpnEndpointId *string `type:"string" required:"true"`
  65753. // Checks whether you have the required permissions for the action, without
  65754. // actually making the request, and provides an error response. If you have
  65755. // the required permissions, the error response is DryRunOperation. Otherwise,
  65756. // it is UnauthorizedOperation.
  65757. DryRun *bool `type:"boolean"`
  65758. }
  65759. // String returns the string representation
  65760. func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
  65761. return awsutil.Prettify(s)
  65762. }
  65763. // GoString returns the string representation
  65764. func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
  65765. return s.String()
  65766. }
  65767. // Validate inspects the fields of the type to determine if they are valid.
  65768. func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
  65769. invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
  65770. if s.CertificateRevocationList == nil {
  65771. invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
  65772. }
  65773. if s.ClientVpnEndpointId == nil {
  65774. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  65775. }
  65776. if invalidParams.Len() > 0 {
  65777. return invalidParams
  65778. }
  65779. return nil
  65780. }
  65781. // SetCertificateRevocationList sets the CertificateRevocationList field's value.
  65782. func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
  65783. s.CertificateRevocationList = &v
  65784. return s
  65785. }
  65786. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  65787. func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
  65788. s.ClientVpnEndpointId = &v
  65789. return s
  65790. }
  65791. // SetDryRun sets the DryRun field's value.
  65792. func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
  65793. s.DryRun = &v
  65794. return s
  65795. }
  65796. type ImportClientVpnClientCertificateRevocationListOutput struct {
  65797. _ struct{} `type:"structure"`
  65798. // Returns true if the request succeeds; otherwise, it returns an error.
  65799. Return *bool `locationName:"return" type:"boolean"`
  65800. }
  65801. // String returns the string representation
  65802. func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
  65803. return awsutil.Prettify(s)
  65804. }
  65805. // GoString returns the string representation
  65806. func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
  65807. return s.String()
  65808. }
  65809. // SetReturn sets the Return field's value.
  65810. func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
  65811. s.Return = &v
  65812. return s
  65813. }
  65814. type ImportImageInput struct {
  65815. _ struct{} `type:"structure"`
  65816. // The architecture of the virtual machine.
  65817. //
  65818. // Valid values: i386 | x86_64 | arm64
  65819. Architecture *string `type:"string"`
  65820. // The client-specific data.
  65821. ClientData *ClientData `type:"structure"`
  65822. // The token to enable idempotency for VM import requests.
  65823. ClientToken *string `type:"string"`
  65824. // A description string for the import image task.
  65825. Description *string `type:"string"`
  65826. // Information about the disk containers.
  65827. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  65828. // Checks whether you have the required permissions for the action, without
  65829. // actually making the request, and provides an error response. If you have
  65830. // the required permissions, the error response is DryRunOperation. Otherwise,
  65831. // it is UnauthorizedOperation.
  65832. DryRun *bool `type:"boolean"`
  65833. // Specifies whether the destination AMI of the imported image should be encrypted.
  65834. // The default CMK for EBS is used unless you specify a non-default AWS Key
  65835. // Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
  65836. // Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  65837. // in the Amazon Elastic Compute Cloud User Guide.
  65838. Encrypted *bool `type:"boolean"`
  65839. // The target hypervisor platform.
  65840. //
  65841. // Valid values: xen
  65842. Hypervisor *string `type:"string"`
  65843. // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
  65844. // master key (CMK) to use when creating the encrypted AMI. This parameter is
  65845. // only required if you want to use a non-default CMK; if this parameter is
  65846. // not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
  65847. // the Encrypted flag must also be set.
  65848. //
  65849. // The CMK identifier may be provided in any of the following formats:
  65850. //
  65851. // * Key ID
  65852. //
  65853. // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
  65854. // by the Region of the CMK, the AWS account ID of the CMK owner, the alias
  65855. // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  65856. //
  65857. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  65858. // by the Region of the CMK, the AWS account ID of the CMK owner, the key
  65859. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  65860. //
  65861. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  65862. // followed by the Region of the CMK, the AWS account ID of the CMK owner,
  65863. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  65864. //
  65865. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  65866. // appear to complete even though you provided an invalid identifier. This action
  65867. // will eventually report failure.
  65868. //
  65869. // The specified CMK must exist in the Region that the AMI is being copied to.
  65870. //
  65871. // Amazon EBS does not support asymmetric CMKs.
  65872. KmsKeyId *string `type:"string"`
  65873. // The ARNs of the license configurations.
  65874. LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"`
  65875. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  65876. //
  65877. // By default, we detect the source-system operating system (OS) and apply the
  65878. // appropriate license. Specify AWS to replace the source-system license with
  65879. // an AWS license, if appropriate. Specify BYOL to retain the source-system
  65880. // license, if appropriate.
  65881. //
  65882. // To use BYOL, you must have existing licenses with rights to use these licenses
  65883. // in a third party cloud, such as AWS. For more information, see Prerequisites
  65884. // (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  65885. // in the VM Import/Export User Guide.
  65886. LicenseType *string `type:"string"`
  65887. // The operating system of the virtual machine.
  65888. //
  65889. // Valid values: Windows | Linux
  65890. Platform *string `type:"string"`
  65891. // The name of the role to use when not using the default role, 'vmimport'.
  65892. RoleName *string `type:"string"`
  65893. }
  65894. // String returns the string representation
  65895. func (s ImportImageInput) String() string {
  65896. return awsutil.Prettify(s)
  65897. }
  65898. // GoString returns the string representation
  65899. func (s ImportImageInput) GoString() string {
  65900. return s.String()
  65901. }
  65902. // SetArchitecture sets the Architecture field's value.
  65903. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  65904. s.Architecture = &v
  65905. return s
  65906. }
  65907. // SetClientData sets the ClientData field's value.
  65908. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  65909. s.ClientData = v
  65910. return s
  65911. }
  65912. // SetClientToken sets the ClientToken field's value.
  65913. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  65914. s.ClientToken = &v
  65915. return s
  65916. }
  65917. // SetDescription sets the Description field's value.
  65918. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  65919. s.Description = &v
  65920. return s
  65921. }
  65922. // SetDiskContainers sets the DiskContainers field's value.
  65923. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  65924. s.DiskContainers = v
  65925. return s
  65926. }
  65927. // SetDryRun sets the DryRun field's value.
  65928. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  65929. s.DryRun = &v
  65930. return s
  65931. }
  65932. // SetEncrypted sets the Encrypted field's value.
  65933. func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
  65934. s.Encrypted = &v
  65935. return s
  65936. }
  65937. // SetHypervisor sets the Hypervisor field's value.
  65938. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  65939. s.Hypervisor = &v
  65940. return s
  65941. }
  65942. // SetKmsKeyId sets the KmsKeyId field's value.
  65943. func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
  65944. s.KmsKeyId = &v
  65945. return s
  65946. }
  65947. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  65948. func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput {
  65949. s.LicenseSpecifications = v
  65950. return s
  65951. }
  65952. // SetLicenseType sets the LicenseType field's value.
  65953. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  65954. s.LicenseType = &v
  65955. return s
  65956. }
  65957. // SetPlatform sets the Platform field's value.
  65958. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  65959. s.Platform = &v
  65960. return s
  65961. }
  65962. // SetRoleName sets the RoleName field's value.
  65963. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  65964. s.RoleName = &v
  65965. return s
  65966. }
  65967. // The request information of license configurations.
  65968. type ImportImageLicenseConfigurationRequest struct {
  65969. _ struct{} `type:"structure"`
  65970. // The ARN of a license configuration.
  65971. LicenseConfigurationArn *string `type:"string"`
  65972. }
  65973. // String returns the string representation
  65974. func (s ImportImageLicenseConfigurationRequest) String() string {
  65975. return awsutil.Prettify(s)
  65976. }
  65977. // GoString returns the string representation
  65978. func (s ImportImageLicenseConfigurationRequest) GoString() string {
  65979. return s.String()
  65980. }
  65981. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  65982. func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest {
  65983. s.LicenseConfigurationArn = &v
  65984. return s
  65985. }
  65986. // The response information for license configurations.
  65987. type ImportImageLicenseConfigurationResponse struct {
  65988. _ struct{} `type:"structure"`
  65989. // The ARN of a license configuration.
  65990. LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
  65991. }
  65992. // String returns the string representation
  65993. func (s ImportImageLicenseConfigurationResponse) String() string {
  65994. return awsutil.Prettify(s)
  65995. }
  65996. // GoString returns the string representation
  65997. func (s ImportImageLicenseConfigurationResponse) GoString() string {
  65998. return s.String()
  65999. }
  66000. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  66001. func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse {
  66002. s.LicenseConfigurationArn = &v
  66003. return s
  66004. }
  66005. type ImportImageOutput struct {
  66006. _ struct{} `type:"structure"`
  66007. // The architecture of the virtual machine.
  66008. Architecture *string `locationName:"architecture" type:"string"`
  66009. // A description of the import task.
  66010. Description *string `locationName:"description" type:"string"`
  66011. // Indicates whether the AMI is encypted.
  66012. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  66013. // The target hypervisor of the import task.
  66014. Hypervisor *string `locationName:"hypervisor" type:"string"`
  66015. // The ID of the Amazon Machine Image (AMI) created by the import task.
  66016. ImageId *string `locationName:"imageId" type:"string"`
  66017. // The task ID of the import image task.
  66018. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  66019. // The identifier for the symmetric AWS Key Management Service (AWS KMS) customer
  66020. // master key (CMK) that was used to create the encrypted AMI.
  66021. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  66022. // The ARNs of the license configurations.
  66023. LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
  66024. // The license type of the virtual machine.
  66025. LicenseType *string `locationName:"licenseType" type:"string"`
  66026. // The operating system of the virtual machine.
  66027. Platform *string `locationName:"platform" type:"string"`
  66028. // The progress of the task.
  66029. Progress *string `locationName:"progress" type:"string"`
  66030. // Information about the snapshots.
  66031. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  66032. // A brief status of the task.
  66033. Status *string `locationName:"status" type:"string"`
  66034. // A detailed status message of the import task.
  66035. StatusMessage *string `locationName:"statusMessage" type:"string"`
  66036. }
  66037. // String returns the string representation
  66038. func (s ImportImageOutput) String() string {
  66039. return awsutil.Prettify(s)
  66040. }
  66041. // GoString returns the string representation
  66042. func (s ImportImageOutput) GoString() string {
  66043. return s.String()
  66044. }
  66045. // SetArchitecture sets the Architecture field's value.
  66046. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  66047. s.Architecture = &v
  66048. return s
  66049. }
  66050. // SetDescription sets the Description field's value.
  66051. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  66052. s.Description = &v
  66053. return s
  66054. }
  66055. // SetEncrypted sets the Encrypted field's value.
  66056. func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
  66057. s.Encrypted = &v
  66058. return s
  66059. }
  66060. // SetHypervisor sets the Hypervisor field's value.
  66061. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  66062. s.Hypervisor = &v
  66063. return s
  66064. }
  66065. // SetImageId sets the ImageId field's value.
  66066. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  66067. s.ImageId = &v
  66068. return s
  66069. }
  66070. // SetImportTaskId sets the ImportTaskId field's value.
  66071. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  66072. s.ImportTaskId = &v
  66073. return s
  66074. }
  66075. // SetKmsKeyId sets the KmsKeyId field's value.
  66076. func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
  66077. s.KmsKeyId = &v
  66078. return s
  66079. }
  66080. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  66081. func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput {
  66082. s.LicenseSpecifications = v
  66083. return s
  66084. }
  66085. // SetLicenseType sets the LicenseType field's value.
  66086. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  66087. s.LicenseType = &v
  66088. return s
  66089. }
  66090. // SetPlatform sets the Platform field's value.
  66091. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  66092. s.Platform = &v
  66093. return s
  66094. }
  66095. // SetProgress sets the Progress field's value.
  66096. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  66097. s.Progress = &v
  66098. return s
  66099. }
  66100. // SetSnapshotDetails sets the SnapshotDetails field's value.
  66101. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  66102. s.SnapshotDetails = v
  66103. return s
  66104. }
  66105. // SetStatus sets the Status field's value.
  66106. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  66107. s.Status = &v
  66108. return s
  66109. }
  66110. // SetStatusMessage sets the StatusMessage field's value.
  66111. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  66112. s.StatusMessage = &v
  66113. return s
  66114. }
  66115. // Describes an import image task.
  66116. type ImportImageTask struct {
  66117. _ struct{} `type:"structure"`
  66118. // The architecture of the virtual machine.
  66119. //
  66120. // Valid values: i386 | x86_64 | arm64
  66121. Architecture *string `locationName:"architecture" type:"string"`
  66122. // A description of the import task.
  66123. Description *string `locationName:"description" type:"string"`
  66124. // Indicates whether the image is encrypted.
  66125. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  66126. // The target hypervisor for the import task.
  66127. //
  66128. // Valid values: xen
  66129. Hypervisor *string `locationName:"hypervisor" type:"string"`
  66130. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  66131. ImageId *string `locationName:"imageId" type:"string"`
  66132. // The ID of the import image task.
  66133. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  66134. // The identifier for the AWS Key Management Service (AWS KMS) customer master
  66135. // key (CMK) that was used to create the encrypted image.
  66136. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  66137. // The ARNs of the license configurations that are associated with the import
  66138. // image task.
  66139. LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
  66140. // The license type of the virtual machine.
  66141. LicenseType *string `locationName:"licenseType" type:"string"`
  66142. // The description string for the import image task.
  66143. Platform *string `locationName:"platform" type:"string"`
  66144. // The percentage of progress of the import image task.
  66145. Progress *string `locationName:"progress" type:"string"`
  66146. // Information about the snapshots.
  66147. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  66148. // A brief status for the import image task.
  66149. Status *string `locationName:"status" type:"string"`
  66150. // A descriptive status message for the import image task.
  66151. StatusMessage *string `locationName:"statusMessage" type:"string"`
  66152. // Any tags applied to the import image task.
  66153. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  66154. }
  66155. // String returns the string representation
  66156. func (s ImportImageTask) String() string {
  66157. return awsutil.Prettify(s)
  66158. }
  66159. // GoString returns the string representation
  66160. func (s ImportImageTask) GoString() string {
  66161. return s.String()
  66162. }
  66163. // SetArchitecture sets the Architecture field's value.
  66164. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  66165. s.Architecture = &v
  66166. return s
  66167. }
  66168. // SetDescription sets the Description field's value.
  66169. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  66170. s.Description = &v
  66171. return s
  66172. }
  66173. // SetEncrypted sets the Encrypted field's value.
  66174. func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
  66175. s.Encrypted = &v
  66176. return s
  66177. }
  66178. // SetHypervisor sets the Hypervisor field's value.
  66179. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  66180. s.Hypervisor = &v
  66181. return s
  66182. }
  66183. // SetImageId sets the ImageId field's value.
  66184. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  66185. s.ImageId = &v
  66186. return s
  66187. }
  66188. // SetImportTaskId sets the ImportTaskId field's value.
  66189. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  66190. s.ImportTaskId = &v
  66191. return s
  66192. }
  66193. // SetKmsKeyId sets the KmsKeyId field's value.
  66194. func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
  66195. s.KmsKeyId = &v
  66196. return s
  66197. }
  66198. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  66199. func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask {
  66200. s.LicenseSpecifications = v
  66201. return s
  66202. }
  66203. // SetLicenseType sets the LicenseType field's value.
  66204. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  66205. s.LicenseType = &v
  66206. return s
  66207. }
  66208. // SetPlatform sets the Platform field's value.
  66209. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  66210. s.Platform = &v
  66211. return s
  66212. }
  66213. // SetProgress sets the Progress field's value.
  66214. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  66215. s.Progress = &v
  66216. return s
  66217. }
  66218. // SetSnapshotDetails sets the SnapshotDetails field's value.
  66219. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  66220. s.SnapshotDetails = v
  66221. return s
  66222. }
  66223. // SetStatus sets the Status field's value.
  66224. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  66225. s.Status = &v
  66226. return s
  66227. }
  66228. // SetStatusMessage sets the StatusMessage field's value.
  66229. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  66230. s.StatusMessage = &v
  66231. return s
  66232. }
  66233. // SetTags sets the Tags field's value.
  66234. func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask {
  66235. s.Tags = v
  66236. return s
  66237. }
  66238. type ImportInstanceInput struct {
  66239. _ struct{} `type:"structure"`
  66240. // A description for the instance being imported.
  66241. Description *string `locationName:"description" type:"string"`
  66242. // The disk image.
  66243. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  66244. // Checks whether you have the required permissions for the action, without
  66245. // actually making the request, and provides an error response. If you have
  66246. // the required permissions, the error response is DryRunOperation. Otherwise,
  66247. // it is UnauthorizedOperation.
  66248. DryRun *bool `locationName:"dryRun" type:"boolean"`
  66249. // The launch specification.
  66250. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  66251. // The instance operating system.
  66252. //
  66253. // Platform is a required field
  66254. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  66255. }
  66256. // String returns the string representation
  66257. func (s ImportInstanceInput) String() string {
  66258. return awsutil.Prettify(s)
  66259. }
  66260. // GoString returns the string representation
  66261. func (s ImportInstanceInput) GoString() string {
  66262. return s.String()
  66263. }
  66264. // Validate inspects the fields of the type to determine if they are valid.
  66265. func (s *ImportInstanceInput) Validate() error {
  66266. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  66267. if s.Platform == nil {
  66268. invalidParams.Add(request.NewErrParamRequired("Platform"))
  66269. }
  66270. if s.DiskImages != nil {
  66271. for i, v := range s.DiskImages {
  66272. if v == nil {
  66273. continue
  66274. }
  66275. if err := v.Validate(); err != nil {
  66276. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  66277. }
  66278. }
  66279. }
  66280. if invalidParams.Len() > 0 {
  66281. return invalidParams
  66282. }
  66283. return nil
  66284. }
  66285. // SetDescription sets the Description field's value.
  66286. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  66287. s.Description = &v
  66288. return s
  66289. }
  66290. // SetDiskImages sets the DiskImages field's value.
  66291. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  66292. s.DiskImages = v
  66293. return s
  66294. }
  66295. // SetDryRun sets the DryRun field's value.
  66296. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  66297. s.DryRun = &v
  66298. return s
  66299. }
  66300. // SetLaunchSpecification sets the LaunchSpecification field's value.
  66301. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  66302. s.LaunchSpecification = v
  66303. return s
  66304. }
  66305. // SetPlatform sets the Platform field's value.
  66306. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  66307. s.Platform = &v
  66308. return s
  66309. }
  66310. // Describes the launch specification for VM import.
  66311. type ImportInstanceLaunchSpecification struct {
  66312. _ struct{} `type:"structure"`
  66313. // Reserved.
  66314. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  66315. // The architecture of the instance.
  66316. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  66317. // The security group IDs.
  66318. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  66319. // The security group names.
  66320. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  66321. // Indicates whether an instance stops or terminates when you initiate shutdown
  66322. // from the instance (using the operating system command for system shutdown).
  66323. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  66324. // The instance type. For more information about the instance types that you
  66325. // can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
  66326. // in the VM Import/Export User Guide.
  66327. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  66328. // Indicates whether monitoring is enabled.
  66329. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  66330. // The placement information for the instance.
  66331. Placement *Placement `locationName:"placement" type:"structure"`
  66332. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  66333. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  66334. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  66335. SubnetId *string `locationName:"subnetId" type:"string"`
  66336. // The Base64-encoded user data to make available to the instance.
  66337. UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"`
  66338. }
  66339. // String returns the string representation
  66340. func (s ImportInstanceLaunchSpecification) String() string {
  66341. return awsutil.Prettify(s)
  66342. }
  66343. // GoString returns the string representation
  66344. func (s ImportInstanceLaunchSpecification) GoString() string {
  66345. return s.String()
  66346. }
  66347. // SetAdditionalInfo sets the AdditionalInfo field's value.
  66348. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  66349. s.AdditionalInfo = &v
  66350. return s
  66351. }
  66352. // SetArchitecture sets the Architecture field's value.
  66353. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  66354. s.Architecture = &v
  66355. return s
  66356. }
  66357. // SetGroupIds sets the GroupIds field's value.
  66358. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  66359. s.GroupIds = v
  66360. return s
  66361. }
  66362. // SetGroupNames sets the GroupNames field's value.
  66363. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  66364. s.GroupNames = v
  66365. return s
  66366. }
  66367. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  66368. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  66369. s.InstanceInitiatedShutdownBehavior = &v
  66370. return s
  66371. }
  66372. // SetInstanceType sets the InstanceType field's value.
  66373. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  66374. s.InstanceType = &v
  66375. return s
  66376. }
  66377. // SetMonitoring sets the Monitoring field's value.
  66378. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  66379. s.Monitoring = &v
  66380. return s
  66381. }
  66382. // SetPlacement sets the Placement field's value.
  66383. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  66384. s.Placement = v
  66385. return s
  66386. }
  66387. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  66388. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  66389. s.PrivateIpAddress = &v
  66390. return s
  66391. }
  66392. // SetSubnetId sets the SubnetId field's value.
  66393. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  66394. s.SubnetId = &v
  66395. return s
  66396. }
  66397. // SetUserData sets the UserData field's value.
  66398. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  66399. s.UserData = v
  66400. return s
  66401. }
  66402. type ImportInstanceOutput struct {
  66403. _ struct{} `type:"structure"`
  66404. // Information about the conversion task.
  66405. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  66406. }
  66407. // String returns the string representation
  66408. func (s ImportInstanceOutput) String() string {
  66409. return awsutil.Prettify(s)
  66410. }
  66411. // GoString returns the string representation
  66412. func (s ImportInstanceOutput) GoString() string {
  66413. return s.String()
  66414. }
  66415. // SetConversionTask sets the ConversionTask field's value.
  66416. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  66417. s.ConversionTask = v
  66418. return s
  66419. }
  66420. // Describes an import instance task.
  66421. type ImportInstanceTaskDetails struct {
  66422. _ struct{} `type:"structure"`
  66423. // A description of the task.
  66424. Description *string `locationName:"description" type:"string"`
  66425. // The ID of the instance.
  66426. InstanceId *string `locationName:"instanceId" type:"string"`
  66427. // The instance operating system.
  66428. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  66429. // The volumes.
  66430. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
  66431. }
  66432. // String returns the string representation
  66433. func (s ImportInstanceTaskDetails) String() string {
  66434. return awsutil.Prettify(s)
  66435. }
  66436. // GoString returns the string representation
  66437. func (s ImportInstanceTaskDetails) GoString() string {
  66438. return s.String()
  66439. }
  66440. // SetDescription sets the Description field's value.
  66441. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  66442. s.Description = &v
  66443. return s
  66444. }
  66445. // SetInstanceId sets the InstanceId field's value.
  66446. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  66447. s.InstanceId = &v
  66448. return s
  66449. }
  66450. // SetPlatform sets the Platform field's value.
  66451. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  66452. s.Platform = &v
  66453. return s
  66454. }
  66455. // SetVolumes sets the Volumes field's value.
  66456. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  66457. s.Volumes = v
  66458. return s
  66459. }
  66460. // Describes an import volume task.
  66461. type ImportInstanceVolumeDetailItem struct {
  66462. _ struct{} `type:"structure"`
  66463. // The Availability Zone where the resulting instance will reside.
  66464. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  66465. // The number of bytes converted so far.
  66466. BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
  66467. // A description of the task.
  66468. Description *string `locationName:"description" type:"string"`
  66469. // The image.
  66470. Image *DiskImageDescription `locationName:"image" type:"structure"`
  66471. // The status of the import of this particular disk image.
  66472. Status *string `locationName:"status" type:"string"`
  66473. // The status information or errors related to the disk image.
  66474. StatusMessage *string `locationName:"statusMessage" type:"string"`
  66475. // The volume.
  66476. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
  66477. }
  66478. // String returns the string representation
  66479. func (s ImportInstanceVolumeDetailItem) String() string {
  66480. return awsutil.Prettify(s)
  66481. }
  66482. // GoString returns the string representation
  66483. func (s ImportInstanceVolumeDetailItem) GoString() string {
  66484. return s.String()
  66485. }
  66486. // SetAvailabilityZone sets the AvailabilityZone field's value.
  66487. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  66488. s.AvailabilityZone = &v
  66489. return s
  66490. }
  66491. // SetBytesConverted sets the BytesConverted field's value.
  66492. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  66493. s.BytesConverted = &v
  66494. return s
  66495. }
  66496. // SetDescription sets the Description field's value.
  66497. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  66498. s.Description = &v
  66499. return s
  66500. }
  66501. // SetImage sets the Image field's value.
  66502. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  66503. s.Image = v
  66504. return s
  66505. }
  66506. // SetStatus sets the Status field's value.
  66507. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  66508. s.Status = &v
  66509. return s
  66510. }
  66511. // SetStatusMessage sets the StatusMessage field's value.
  66512. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  66513. s.StatusMessage = &v
  66514. return s
  66515. }
  66516. // SetVolume sets the Volume field's value.
  66517. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  66518. s.Volume = v
  66519. return s
  66520. }
  66521. type ImportKeyPairInput struct {
  66522. _ struct{} `type:"structure"`
  66523. // Checks whether you have the required permissions for the action, without
  66524. // actually making the request, and provides an error response. If you have
  66525. // the required permissions, the error response is DryRunOperation. Otherwise,
  66526. // it is UnauthorizedOperation.
  66527. DryRun *bool `locationName:"dryRun" type:"boolean"`
  66528. // A unique name for the key pair.
  66529. //
  66530. // KeyName is a required field
  66531. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  66532. // The public key. For API calls, the text must be base64-encoded. For command
  66533. // line tools, base64 encoding is performed for you.
  66534. //
  66535. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  66536. //
  66537. // PublicKeyMaterial is a required field
  66538. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  66539. }
  66540. // String returns the string representation
  66541. func (s ImportKeyPairInput) String() string {
  66542. return awsutil.Prettify(s)
  66543. }
  66544. // GoString returns the string representation
  66545. func (s ImportKeyPairInput) GoString() string {
  66546. return s.String()
  66547. }
  66548. // Validate inspects the fields of the type to determine if they are valid.
  66549. func (s *ImportKeyPairInput) Validate() error {
  66550. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  66551. if s.KeyName == nil {
  66552. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  66553. }
  66554. if s.PublicKeyMaterial == nil {
  66555. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  66556. }
  66557. if invalidParams.Len() > 0 {
  66558. return invalidParams
  66559. }
  66560. return nil
  66561. }
  66562. // SetDryRun sets the DryRun field's value.
  66563. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  66564. s.DryRun = &v
  66565. return s
  66566. }
  66567. // SetKeyName sets the KeyName field's value.
  66568. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  66569. s.KeyName = &v
  66570. return s
  66571. }
  66572. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  66573. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  66574. s.PublicKeyMaterial = v
  66575. return s
  66576. }
  66577. type ImportKeyPairOutput struct {
  66578. _ struct{} `type:"structure"`
  66579. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  66580. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  66581. // The key pair name you provided.
  66582. KeyName *string `locationName:"keyName" type:"string"`
  66583. }
  66584. // String returns the string representation
  66585. func (s ImportKeyPairOutput) String() string {
  66586. return awsutil.Prettify(s)
  66587. }
  66588. // GoString returns the string representation
  66589. func (s ImportKeyPairOutput) GoString() string {
  66590. return s.String()
  66591. }
  66592. // SetKeyFingerprint sets the KeyFingerprint field's value.
  66593. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  66594. s.KeyFingerprint = &v
  66595. return s
  66596. }
  66597. // SetKeyName sets the KeyName field's value.
  66598. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  66599. s.KeyName = &v
  66600. return s
  66601. }
  66602. type ImportSnapshotInput struct {
  66603. _ struct{} `type:"structure"`
  66604. // The client-specific data.
  66605. ClientData *ClientData `type:"structure"`
  66606. // Token to enable idempotency for VM import requests.
  66607. ClientToken *string `type:"string"`
  66608. // The description string for the import snapshot task.
  66609. Description *string `type:"string"`
  66610. // Information about the disk container.
  66611. DiskContainer *SnapshotDiskContainer `type:"structure"`
  66612. // Checks whether you have the required permissions for the action, without
  66613. // actually making the request, and provides an error response. If you have
  66614. // the required permissions, the error response is DryRunOperation. Otherwise,
  66615. // it is UnauthorizedOperation.
  66616. DryRun *bool `type:"boolean"`
  66617. // Specifies whether the destination snapshot of the imported image should be
  66618. // encrypted. The default CMK for EBS is used unless you specify a non-default
  66619. // AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
  66620. // see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  66621. // in the Amazon Elastic Compute Cloud User Guide.
  66622. Encrypted *bool `type:"boolean"`
  66623. // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
  66624. // master key (CMK) to use when creating the encrypted snapshot. This parameter
  66625. // is only required if you want to use a non-default CMK; if this parameter
  66626. // is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
  66627. // the Encrypted flag must also be set.
  66628. //
  66629. // The CMK identifier may be provided in any of the following formats:
  66630. //
  66631. // * Key ID
  66632. //
  66633. // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
  66634. // by the Region of the CMK, the AWS account ID of the CMK owner, the alias
  66635. // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  66636. //
  66637. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  66638. // by the Region of the CMK, the AWS account ID of the CMK owner, the key
  66639. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  66640. //
  66641. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  66642. // followed by the Region of the CMK, the AWS account ID of the CMK owner,
  66643. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  66644. //
  66645. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  66646. // appear to complete even though you provided an invalid identifier. This action
  66647. // will eventually report failure.
  66648. //
  66649. // The specified CMK must exist in the Region that the snapshot is being copied
  66650. // to.
  66651. //
  66652. // Amazon EBS does not support asymmetric CMKs.
  66653. KmsKeyId *string `type:"string"`
  66654. // The name of the role to use when not using the default role, 'vmimport'.
  66655. RoleName *string `type:"string"`
  66656. }
  66657. // String returns the string representation
  66658. func (s ImportSnapshotInput) String() string {
  66659. return awsutil.Prettify(s)
  66660. }
  66661. // GoString returns the string representation
  66662. func (s ImportSnapshotInput) GoString() string {
  66663. return s.String()
  66664. }
  66665. // SetClientData sets the ClientData field's value.
  66666. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  66667. s.ClientData = v
  66668. return s
  66669. }
  66670. // SetClientToken sets the ClientToken field's value.
  66671. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  66672. s.ClientToken = &v
  66673. return s
  66674. }
  66675. // SetDescription sets the Description field's value.
  66676. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  66677. s.Description = &v
  66678. return s
  66679. }
  66680. // SetDiskContainer sets the DiskContainer field's value.
  66681. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  66682. s.DiskContainer = v
  66683. return s
  66684. }
  66685. // SetDryRun sets the DryRun field's value.
  66686. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  66687. s.DryRun = &v
  66688. return s
  66689. }
  66690. // SetEncrypted sets the Encrypted field's value.
  66691. func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
  66692. s.Encrypted = &v
  66693. return s
  66694. }
  66695. // SetKmsKeyId sets the KmsKeyId field's value.
  66696. func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
  66697. s.KmsKeyId = &v
  66698. return s
  66699. }
  66700. // SetRoleName sets the RoleName field's value.
  66701. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  66702. s.RoleName = &v
  66703. return s
  66704. }
  66705. type ImportSnapshotOutput struct {
  66706. _ struct{} `type:"structure"`
  66707. // A description of the import snapshot task.
  66708. Description *string `locationName:"description" type:"string"`
  66709. // The ID of the import snapshot task.
  66710. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  66711. // Information about the import snapshot task.
  66712. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  66713. }
  66714. // String returns the string representation
  66715. func (s ImportSnapshotOutput) String() string {
  66716. return awsutil.Prettify(s)
  66717. }
  66718. // GoString returns the string representation
  66719. func (s ImportSnapshotOutput) GoString() string {
  66720. return s.String()
  66721. }
  66722. // SetDescription sets the Description field's value.
  66723. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  66724. s.Description = &v
  66725. return s
  66726. }
  66727. // SetImportTaskId sets the ImportTaskId field's value.
  66728. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  66729. s.ImportTaskId = &v
  66730. return s
  66731. }
  66732. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  66733. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  66734. s.SnapshotTaskDetail = v
  66735. return s
  66736. }
  66737. // Describes an import snapshot task.
  66738. type ImportSnapshotTask struct {
  66739. _ struct{} `type:"structure"`
  66740. // A description of the import snapshot task.
  66741. Description *string `locationName:"description" type:"string"`
  66742. // The ID of the import snapshot task.
  66743. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  66744. // Describes an import snapshot task.
  66745. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  66746. // Any tags applied to the import snapshot task.
  66747. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  66748. }
  66749. // String returns the string representation
  66750. func (s ImportSnapshotTask) String() string {
  66751. return awsutil.Prettify(s)
  66752. }
  66753. // GoString returns the string representation
  66754. func (s ImportSnapshotTask) GoString() string {
  66755. return s.String()
  66756. }
  66757. // SetDescription sets the Description field's value.
  66758. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  66759. s.Description = &v
  66760. return s
  66761. }
  66762. // SetImportTaskId sets the ImportTaskId field's value.
  66763. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  66764. s.ImportTaskId = &v
  66765. return s
  66766. }
  66767. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  66768. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  66769. s.SnapshotTaskDetail = v
  66770. return s
  66771. }
  66772. // SetTags sets the Tags field's value.
  66773. func (s *ImportSnapshotTask) SetTags(v []*Tag) *ImportSnapshotTask {
  66774. s.Tags = v
  66775. return s
  66776. }
  66777. type ImportVolumeInput struct {
  66778. _ struct{} `type:"structure"`
  66779. // The Availability Zone for the resulting EBS volume.
  66780. //
  66781. // AvailabilityZone is a required field
  66782. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  66783. // A description of the volume.
  66784. Description *string `locationName:"description" type:"string"`
  66785. // Checks whether you have the required permissions for the action, without
  66786. // actually making the request, and provides an error response. If you have
  66787. // the required permissions, the error response is DryRunOperation. Otherwise,
  66788. // it is UnauthorizedOperation.
  66789. DryRun *bool `locationName:"dryRun" type:"boolean"`
  66790. // The disk image.
  66791. //
  66792. // Image is a required field
  66793. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  66794. // The volume size.
  66795. //
  66796. // Volume is a required field
  66797. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  66798. }
  66799. // String returns the string representation
  66800. func (s ImportVolumeInput) String() string {
  66801. return awsutil.Prettify(s)
  66802. }
  66803. // GoString returns the string representation
  66804. func (s ImportVolumeInput) GoString() string {
  66805. return s.String()
  66806. }
  66807. // Validate inspects the fields of the type to determine if they are valid.
  66808. func (s *ImportVolumeInput) Validate() error {
  66809. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  66810. if s.AvailabilityZone == nil {
  66811. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  66812. }
  66813. if s.Image == nil {
  66814. invalidParams.Add(request.NewErrParamRequired("Image"))
  66815. }
  66816. if s.Volume == nil {
  66817. invalidParams.Add(request.NewErrParamRequired("Volume"))
  66818. }
  66819. if s.Image != nil {
  66820. if err := s.Image.Validate(); err != nil {
  66821. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  66822. }
  66823. }
  66824. if s.Volume != nil {
  66825. if err := s.Volume.Validate(); err != nil {
  66826. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  66827. }
  66828. }
  66829. if invalidParams.Len() > 0 {
  66830. return invalidParams
  66831. }
  66832. return nil
  66833. }
  66834. // SetAvailabilityZone sets the AvailabilityZone field's value.
  66835. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  66836. s.AvailabilityZone = &v
  66837. return s
  66838. }
  66839. // SetDescription sets the Description field's value.
  66840. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  66841. s.Description = &v
  66842. return s
  66843. }
  66844. // SetDryRun sets the DryRun field's value.
  66845. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  66846. s.DryRun = &v
  66847. return s
  66848. }
  66849. // SetImage sets the Image field's value.
  66850. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  66851. s.Image = v
  66852. return s
  66853. }
  66854. // SetVolume sets the Volume field's value.
  66855. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  66856. s.Volume = v
  66857. return s
  66858. }
  66859. type ImportVolumeOutput struct {
  66860. _ struct{} `type:"structure"`
  66861. // Information about the conversion task.
  66862. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  66863. }
  66864. // String returns the string representation
  66865. func (s ImportVolumeOutput) String() string {
  66866. return awsutil.Prettify(s)
  66867. }
  66868. // GoString returns the string representation
  66869. func (s ImportVolumeOutput) GoString() string {
  66870. return s.String()
  66871. }
  66872. // SetConversionTask sets the ConversionTask field's value.
  66873. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  66874. s.ConversionTask = v
  66875. return s
  66876. }
  66877. // Describes an import volume task.
  66878. type ImportVolumeTaskDetails struct {
  66879. _ struct{} `type:"structure"`
  66880. // The Availability Zone where the resulting volume will reside.
  66881. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  66882. // The number of bytes converted so far.
  66883. BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
  66884. // The description you provided when starting the import volume task.
  66885. Description *string `locationName:"description" type:"string"`
  66886. // The image.
  66887. Image *DiskImageDescription `locationName:"image" type:"structure"`
  66888. // The volume.
  66889. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
  66890. }
  66891. // String returns the string representation
  66892. func (s ImportVolumeTaskDetails) String() string {
  66893. return awsutil.Prettify(s)
  66894. }
  66895. // GoString returns the string representation
  66896. func (s ImportVolumeTaskDetails) GoString() string {
  66897. return s.String()
  66898. }
  66899. // SetAvailabilityZone sets the AvailabilityZone field's value.
  66900. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  66901. s.AvailabilityZone = &v
  66902. return s
  66903. }
  66904. // SetBytesConverted sets the BytesConverted field's value.
  66905. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  66906. s.BytesConverted = &v
  66907. return s
  66908. }
  66909. // SetDescription sets the Description field's value.
  66910. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  66911. s.Description = &v
  66912. return s
  66913. }
  66914. // SetImage sets the Image field's value.
  66915. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  66916. s.Image = v
  66917. return s
  66918. }
  66919. // SetVolume sets the Volume field's value.
  66920. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  66921. s.Volume = v
  66922. return s
  66923. }
  66924. // Describes the Inference accelerators for the instance type.
  66925. type InferenceAcceleratorInfo struct {
  66926. _ struct{} `type:"structure"`
  66927. // Describes the Inference accelerators for the instance type.
  66928. Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
  66929. }
  66930. // String returns the string representation
  66931. func (s InferenceAcceleratorInfo) String() string {
  66932. return awsutil.Prettify(s)
  66933. }
  66934. // GoString returns the string representation
  66935. func (s InferenceAcceleratorInfo) GoString() string {
  66936. return s.String()
  66937. }
  66938. // SetAccelerators sets the Accelerators field's value.
  66939. func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
  66940. s.Accelerators = v
  66941. return s
  66942. }
  66943. // Describes the Inference accelerators for the instance type.
  66944. type InferenceDeviceInfo struct {
  66945. _ struct{} `type:"structure"`
  66946. // The number of Inference accelerators for the instance type.
  66947. Count *int64 `locationName:"count" type:"integer"`
  66948. // The manufacturer of the Inference accelerator.
  66949. Manufacturer *string `locationName:"manufacturer" type:"string"`
  66950. // The name of the Inference accelerator.
  66951. Name *string `locationName:"name" type:"string"`
  66952. }
  66953. // String returns the string representation
  66954. func (s InferenceDeviceInfo) String() string {
  66955. return awsutil.Prettify(s)
  66956. }
  66957. // GoString returns the string representation
  66958. func (s InferenceDeviceInfo) GoString() string {
  66959. return s.String()
  66960. }
  66961. // SetCount sets the Count field's value.
  66962. func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
  66963. s.Count = &v
  66964. return s
  66965. }
  66966. // SetManufacturer sets the Manufacturer field's value.
  66967. func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
  66968. s.Manufacturer = &v
  66969. return s
  66970. }
  66971. // SetName sets the Name field's value.
  66972. func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
  66973. s.Name = &v
  66974. return s
  66975. }
  66976. // Describes an instance.
  66977. type Instance struct {
  66978. _ struct{} `type:"structure"`
  66979. // The AMI launch index, which can be used to find this instance in the launch
  66980. // group.
  66981. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  66982. // The architecture of the image.
  66983. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  66984. // Any block device mapping entries for the instance.
  66985. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  66986. // The ID of the Capacity Reservation.
  66987. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  66988. // Information about the Capacity Reservation targeting option.
  66989. CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
  66990. // The idempotency token you provided when you launched the instance, if applicable.
  66991. ClientToken *string `locationName:"clientToken" type:"string"`
  66992. // The CPU options for the instance.
  66993. CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
  66994. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  66995. // provides dedicated throughput to Amazon EBS and an optimized configuration
  66996. // stack to provide optimal I/O performance. This optimization isn't available
  66997. // with all instance types. Additional usage charges apply when using an EBS
  66998. // Optimized instance.
  66999. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  67000. // The Elastic GPU associated with the instance.
  67001. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
  67002. // The elastic inference accelerator associated with the instance.
  67003. ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
  67004. // Specifies whether enhanced networking with ENA is enabled.
  67005. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  67006. // Indicates whether the instance is enabled for hibernation.
  67007. HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
  67008. // The hypervisor type of the instance.
  67009. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  67010. // The IAM instance profile associated with the instance, if applicable.
  67011. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  67012. // The ID of the AMI used to launch the instance.
  67013. ImageId *string `locationName:"imageId" type:"string"`
  67014. // The ID of the instance.
  67015. InstanceId *string `locationName:"instanceId" type:"string"`
  67016. // Indicates whether this is a Spot Instance or a Scheduled Instance.
  67017. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  67018. // The instance type.
  67019. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  67020. // The kernel associated with this instance, if applicable.
  67021. KernelId *string `locationName:"kernelId" type:"string"`
  67022. // The name of the key pair, if this instance was launched with an associated
  67023. // key pair.
  67024. KeyName *string `locationName:"keyName" type:"string"`
  67025. // The time the instance was launched.
  67026. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
  67027. // The license configurations.
  67028. Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
  67029. // The metadata options for the instance.
  67030. MetadataOptions *InstanceMetadataOptionsResponse `locationName:"metadataOptions" type:"structure"`
  67031. // The monitoring for the instance.
  67032. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  67033. // [EC2-VPC] The network interfaces for the instance.
  67034. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  67035. // The Amazon Resource Name (ARN) of the Outpost.
  67036. OutpostArn *string `locationName:"outpostArn" type:"string"`
  67037. // The location where the instance launched, if applicable.
  67038. Placement *Placement `locationName:"placement" type:"structure"`
  67039. // The value is Windows for Windows instances; otherwise blank.
  67040. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  67041. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  67042. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  67043. // not available until the instance enters the running state.
  67044. //
  67045. // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
  67046. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  67047. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  67048. // custom domain name servers must resolve the hostname as appropriate.
  67049. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  67050. // The private IPv4 address assigned to the instance.
  67051. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  67052. // The product codes attached to this instance, if applicable.
  67053. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  67054. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  67055. // available until the instance enters the running state. For EC2-VPC, this
  67056. // name is only available if you've enabled DNS hostnames for your VPC.
  67057. PublicDnsName *string `locationName:"dnsName" type:"string"`
  67058. // The public IPv4 address assigned to the instance, if applicable.
  67059. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  67060. // The RAM disk associated with this instance, if applicable.
  67061. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  67062. // The device name of the root device volume (for example, /dev/sda1).
  67063. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  67064. // The root device type used by the AMI. The AMI can use an EBS volume or an
  67065. // instance store volume.
  67066. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  67067. // The security groups for the instance.
  67068. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  67069. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  67070. // This controls whether source/destination checking is enabled on the instance.
  67071. // A value of true means that checking is enabled, and false means that checking
  67072. // is disabled. The value must be false for the instance to perform NAT. For
  67073. // more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  67074. // in the Amazon Virtual Private Cloud User Guide.
  67075. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  67076. // If the request is a Spot Instance request, the ID of the request.
  67077. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  67078. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  67079. // interface is enabled.
  67080. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  67081. // The current state of the instance.
  67082. State *InstanceState `locationName:"instanceState" type:"structure"`
  67083. // The reason for the most recent state transition.
  67084. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  67085. // The reason for the most recent state transition. This might be an empty string.
  67086. StateTransitionReason *string `locationName:"reason" type:"string"`
  67087. // [EC2-VPC] The ID of the subnet in which the instance is running.
  67088. SubnetId *string `locationName:"subnetId" type:"string"`
  67089. // Any tags assigned to the instance.
  67090. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  67091. // The virtualization type of the instance.
  67092. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  67093. // [EC2-VPC] The ID of the VPC in which the instance is running.
  67094. VpcId *string `locationName:"vpcId" type:"string"`
  67095. }
  67096. // String returns the string representation
  67097. func (s Instance) String() string {
  67098. return awsutil.Prettify(s)
  67099. }
  67100. // GoString returns the string representation
  67101. func (s Instance) GoString() string {
  67102. return s.String()
  67103. }
  67104. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  67105. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  67106. s.AmiLaunchIndex = &v
  67107. return s
  67108. }
  67109. // SetArchitecture sets the Architecture field's value.
  67110. func (s *Instance) SetArchitecture(v string) *Instance {
  67111. s.Architecture = &v
  67112. return s
  67113. }
  67114. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  67115. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  67116. s.BlockDeviceMappings = v
  67117. return s
  67118. }
  67119. // SetCapacityReservationId sets the CapacityReservationId field's value.
  67120. func (s *Instance) SetCapacityReservationId(v string) *Instance {
  67121. s.CapacityReservationId = &v
  67122. return s
  67123. }
  67124. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  67125. func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
  67126. s.CapacityReservationSpecification = v
  67127. return s
  67128. }
  67129. // SetClientToken sets the ClientToken field's value.
  67130. func (s *Instance) SetClientToken(v string) *Instance {
  67131. s.ClientToken = &v
  67132. return s
  67133. }
  67134. // SetCpuOptions sets the CpuOptions field's value.
  67135. func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
  67136. s.CpuOptions = v
  67137. return s
  67138. }
  67139. // SetEbsOptimized sets the EbsOptimized field's value.
  67140. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  67141. s.EbsOptimized = &v
  67142. return s
  67143. }
  67144. // SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
  67145. func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
  67146. s.ElasticGpuAssociations = v
  67147. return s
  67148. }
  67149. // SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
  67150. func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
  67151. s.ElasticInferenceAcceleratorAssociations = v
  67152. return s
  67153. }
  67154. // SetEnaSupport sets the EnaSupport field's value.
  67155. func (s *Instance) SetEnaSupport(v bool) *Instance {
  67156. s.EnaSupport = &v
  67157. return s
  67158. }
  67159. // SetHibernationOptions sets the HibernationOptions field's value.
  67160. func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
  67161. s.HibernationOptions = v
  67162. return s
  67163. }
  67164. // SetHypervisor sets the Hypervisor field's value.
  67165. func (s *Instance) SetHypervisor(v string) *Instance {
  67166. s.Hypervisor = &v
  67167. return s
  67168. }
  67169. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  67170. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  67171. s.IamInstanceProfile = v
  67172. return s
  67173. }
  67174. // SetImageId sets the ImageId field's value.
  67175. func (s *Instance) SetImageId(v string) *Instance {
  67176. s.ImageId = &v
  67177. return s
  67178. }
  67179. // SetInstanceId sets the InstanceId field's value.
  67180. func (s *Instance) SetInstanceId(v string) *Instance {
  67181. s.InstanceId = &v
  67182. return s
  67183. }
  67184. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  67185. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  67186. s.InstanceLifecycle = &v
  67187. return s
  67188. }
  67189. // SetInstanceType sets the InstanceType field's value.
  67190. func (s *Instance) SetInstanceType(v string) *Instance {
  67191. s.InstanceType = &v
  67192. return s
  67193. }
  67194. // SetKernelId sets the KernelId field's value.
  67195. func (s *Instance) SetKernelId(v string) *Instance {
  67196. s.KernelId = &v
  67197. return s
  67198. }
  67199. // SetKeyName sets the KeyName field's value.
  67200. func (s *Instance) SetKeyName(v string) *Instance {
  67201. s.KeyName = &v
  67202. return s
  67203. }
  67204. // SetLaunchTime sets the LaunchTime field's value.
  67205. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  67206. s.LaunchTime = &v
  67207. return s
  67208. }
  67209. // SetLicenses sets the Licenses field's value.
  67210. func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
  67211. s.Licenses = v
  67212. return s
  67213. }
  67214. // SetMetadataOptions sets the MetadataOptions field's value.
  67215. func (s *Instance) SetMetadataOptions(v *InstanceMetadataOptionsResponse) *Instance {
  67216. s.MetadataOptions = v
  67217. return s
  67218. }
  67219. // SetMonitoring sets the Monitoring field's value.
  67220. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  67221. s.Monitoring = v
  67222. return s
  67223. }
  67224. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  67225. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  67226. s.NetworkInterfaces = v
  67227. return s
  67228. }
  67229. // SetOutpostArn sets the OutpostArn field's value.
  67230. func (s *Instance) SetOutpostArn(v string) *Instance {
  67231. s.OutpostArn = &v
  67232. return s
  67233. }
  67234. // SetPlacement sets the Placement field's value.
  67235. func (s *Instance) SetPlacement(v *Placement) *Instance {
  67236. s.Placement = v
  67237. return s
  67238. }
  67239. // SetPlatform sets the Platform field's value.
  67240. func (s *Instance) SetPlatform(v string) *Instance {
  67241. s.Platform = &v
  67242. return s
  67243. }
  67244. // SetPrivateDnsName sets the PrivateDnsName field's value.
  67245. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  67246. s.PrivateDnsName = &v
  67247. return s
  67248. }
  67249. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  67250. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  67251. s.PrivateIpAddress = &v
  67252. return s
  67253. }
  67254. // SetProductCodes sets the ProductCodes field's value.
  67255. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  67256. s.ProductCodes = v
  67257. return s
  67258. }
  67259. // SetPublicDnsName sets the PublicDnsName field's value.
  67260. func (s *Instance) SetPublicDnsName(v string) *Instance {
  67261. s.PublicDnsName = &v
  67262. return s
  67263. }
  67264. // SetPublicIpAddress sets the PublicIpAddress field's value.
  67265. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  67266. s.PublicIpAddress = &v
  67267. return s
  67268. }
  67269. // SetRamdiskId sets the RamdiskId field's value.
  67270. func (s *Instance) SetRamdiskId(v string) *Instance {
  67271. s.RamdiskId = &v
  67272. return s
  67273. }
  67274. // SetRootDeviceName sets the RootDeviceName field's value.
  67275. func (s *Instance) SetRootDeviceName(v string) *Instance {
  67276. s.RootDeviceName = &v
  67277. return s
  67278. }
  67279. // SetRootDeviceType sets the RootDeviceType field's value.
  67280. func (s *Instance) SetRootDeviceType(v string) *Instance {
  67281. s.RootDeviceType = &v
  67282. return s
  67283. }
  67284. // SetSecurityGroups sets the SecurityGroups field's value.
  67285. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  67286. s.SecurityGroups = v
  67287. return s
  67288. }
  67289. // SetSourceDestCheck sets the SourceDestCheck field's value.
  67290. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  67291. s.SourceDestCheck = &v
  67292. return s
  67293. }
  67294. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  67295. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  67296. s.SpotInstanceRequestId = &v
  67297. return s
  67298. }
  67299. // SetSriovNetSupport sets the SriovNetSupport field's value.
  67300. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  67301. s.SriovNetSupport = &v
  67302. return s
  67303. }
  67304. // SetState sets the State field's value.
  67305. func (s *Instance) SetState(v *InstanceState) *Instance {
  67306. s.State = v
  67307. return s
  67308. }
  67309. // SetStateReason sets the StateReason field's value.
  67310. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  67311. s.StateReason = v
  67312. return s
  67313. }
  67314. // SetStateTransitionReason sets the StateTransitionReason field's value.
  67315. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  67316. s.StateTransitionReason = &v
  67317. return s
  67318. }
  67319. // SetSubnetId sets the SubnetId field's value.
  67320. func (s *Instance) SetSubnetId(v string) *Instance {
  67321. s.SubnetId = &v
  67322. return s
  67323. }
  67324. // SetTags sets the Tags field's value.
  67325. func (s *Instance) SetTags(v []*Tag) *Instance {
  67326. s.Tags = v
  67327. return s
  67328. }
  67329. // SetVirtualizationType sets the VirtualizationType field's value.
  67330. func (s *Instance) SetVirtualizationType(v string) *Instance {
  67331. s.VirtualizationType = &v
  67332. return s
  67333. }
  67334. // SetVpcId sets the VpcId field's value.
  67335. func (s *Instance) SetVpcId(v string) *Instance {
  67336. s.VpcId = &v
  67337. return s
  67338. }
  67339. // Describes a block device mapping.
  67340. type InstanceBlockDeviceMapping struct {
  67341. _ struct{} `type:"structure"`
  67342. // The device name (for example, /dev/sdh or xvdh).
  67343. DeviceName *string `locationName:"deviceName" type:"string"`
  67344. // Parameters used to automatically set up EBS volumes when the instance is
  67345. // launched.
  67346. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  67347. }
  67348. // String returns the string representation
  67349. func (s InstanceBlockDeviceMapping) String() string {
  67350. return awsutil.Prettify(s)
  67351. }
  67352. // GoString returns the string representation
  67353. func (s InstanceBlockDeviceMapping) GoString() string {
  67354. return s.String()
  67355. }
  67356. // SetDeviceName sets the DeviceName field's value.
  67357. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  67358. s.DeviceName = &v
  67359. return s
  67360. }
  67361. // SetEbs sets the Ebs field's value.
  67362. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  67363. s.Ebs = v
  67364. return s
  67365. }
  67366. // Describes a block device mapping entry.
  67367. type InstanceBlockDeviceMappingSpecification struct {
  67368. _ struct{} `type:"structure"`
  67369. // The device name (for example, /dev/sdh or xvdh).
  67370. DeviceName *string `locationName:"deviceName" type:"string"`
  67371. // Parameters used to automatically set up EBS volumes when the instance is
  67372. // launched.
  67373. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  67374. // suppress the specified device included in the block device mapping.
  67375. NoDevice *string `locationName:"noDevice" type:"string"`
  67376. // The virtual device name.
  67377. VirtualName *string `locationName:"virtualName" type:"string"`
  67378. }
  67379. // String returns the string representation
  67380. func (s InstanceBlockDeviceMappingSpecification) String() string {
  67381. return awsutil.Prettify(s)
  67382. }
  67383. // GoString returns the string representation
  67384. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  67385. return s.String()
  67386. }
  67387. // SetDeviceName sets the DeviceName field's value.
  67388. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  67389. s.DeviceName = &v
  67390. return s
  67391. }
  67392. // SetEbs sets the Ebs field's value.
  67393. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  67394. s.Ebs = v
  67395. return s
  67396. }
  67397. // SetNoDevice sets the NoDevice field's value.
  67398. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  67399. s.NoDevice = &v
  67400. return s
  67401. }
  67402. // SetVirtualName sets the VirtualName field's value.
  67403. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  67404. s.VirtualName = &v
  67405. return s
  67406. }
  67407. // Information about the number of instances that can be launched onto the Dedicated
  67408. // Host.
  67409. type InstanceCapacity struct {
  67410. _ struct{} `type:"structure"`
  67411. // The number of instances that can be launched onto the Dedicated Host based
  67412. // on the host's available capacity.
  67413. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  67414. // The instance type supported by the Dedicated Host.
  67415. InstanceType *string `locationName:"instanceType" type:"string"`
  67416. // The total number of instances that can be launched onto the Dedicated Host
  67417. // if there are no instances running on it.
  67418. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  67419. }
  67420. // String returns the string representation
  67421. func (s InstanceCapacity) String() string {
  67422. return awsutil.Prettify(s)
  67423. }
  67424. // GoString returns the string representation
  67425. func (s InstanceCapacity) GoString() string {
  67426. return s.String()
  67427. }
  67428. // SetAvailableCapacity sets the AvailableCapacity field's value.
  67429. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  67430. s.AvailableCapacity = &v
  67431. return s
  67432. }
  67433. // SetInstanceType sets the InstanceType field's value.
  67434. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  67435. s.InstanceType = &v
  67436. return s
  67437. }
  67438. // SetTotalCapacity sets the TotalCapacity field's value.
  67439. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  67440. s.TotalCapacity = &v
  67441. return s
  67442. }
  67443. // Describes a Reserved Instance listing state.
  67444. type InstanceCount struct {
  67445. _ struct{} `type:"structure"`
  67446. // The number of listed Reserved Instances in the state specified by the state.
  67447. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  67448. // The states of the listed Reserved Instances.
  67449. State *string `locationName:"state" type:"string" enum:"ListingState"`
  67450. }
  67451. // String returns the string representation
  67452. func (s InstanceCount) String() string {
  67453. return awsutil.Prettify(s)
  67454. }
  67455. // GoString returns the string representation
  67456. func (s InstanceCount) GoString() string {
  67457. return s.String()
  67458. }
  67459. // SetInstanceCount sets the InstanceCount field's value.
  67460. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  67461. s.InstanceCount = &v
  67462. return s
  67463. }
  67464. // SetState sets the State field's value.
  67465. func (s *InstanceCount) SetState(v string) *InstanceCount {
  67466. s.State = &v
  67467. return s
  67468. }
  67469. // Describes the credit option for CPU usage of a burstable performance instance.
  67470. type InstanceCreditSpecification struct {
  67471. _ struct{} `type:"structure"`
  67472. // The credit option for CPU usage of the instance. Valid values are standard
  67473. // and unlimited.
  67474. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  67475. // The ID of the instance.
  67476. InstanceId *string `locationName:"instanceId" type:"string"`
  67477. }
  67478. // String returns the string representation
  67479. func (s InstanceCreditSpecification) String() string {
  67480. return awsutil.Prettify(s)
  67481. }
  67482. // GoString returns the string representation
  67483. func (s InstanceCreditSpecification) GoString() string {
  67484. return s.String()
  67485. }
  67486. // SetCpuCredits sets the CpuCredits field's value.
  67487. func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
  67488. s.CpuCredits = &v
  67489. return s
  67490. }
  67491. // SetInstanceId sets the InstanceId field's value.
  67492. func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
  67493. s.InstanceId = &v
  67494. return s
  67495. }
  67496. // Describes the credit option for CPU usage of a burstable performance instance.
  67497. type InstanceCreditSpecificationRequest struct {
  67498. _ struct{} `type:"structure"`
  67499. // The credit option for CPU usage of the instance. Valid values are standard
  67500. // and unlimited.
  67501. CpuCredits *string `type:"string"`
  67502. // The ID of the instance.
  67503. InstanceId *string `type:"string"`
  67504. }
  67505. // String returns the string representation
  67506. func (s InstanceCreditSpecificationRequest) String() string {
  67507. return awsutil.Prettify(s)
  67508. }
  67509. // GoString returns the string representation
  67510. func (s InstanceCreditSpecificationRequest) GoString() string {
  67511. return s.String()
  67512. }
  67513. // SetCpuCredits sets the CpuCredits field's value.
  67514. func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
  67515. s.CpuCredits = &v
  67516. return s
  67517. }
  67518. // SetInstanceId sets the InstanceId field's value.
  67519. func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
  67520. s.InstanceId = &v
  67521. return s
  67522. }
  67523. // Describes an instance to export.
  67524. type InstanceExportDetails struct {
  67525. _ struct{} `type:"structure"`
  67526. // The ID of the resource being exported.
  67527. InstanceId *string `locationName:"instanceId" type:"string"`
  67528. // The target virtualization environment.
  67529. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  67530. }
  67531. // String returns the string representation
  67532. func (s InstanceExportDetails) String() string {
  67533. return awsutil.Prettify(s)
  67534. }
  67535. // GoString returns the string representation
  67536. func (s InstanceExportDetails) GoString() string {
  67537. return s.String()
  67538. }
  67539. // SetInstanceId sets the InstanceId field's value.
  67540. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  67541. s.InstanceId = &v
  67542. return s
  67543. }
  67544. // SetTargetEnvironment sets the TargetEnvironment field's value.
  67545. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  67546. s.TargetEnvironment = &v
  67547. return s
  67548. }
  67549. // Describes the default credit option for CPU usage of a burstable performance
  67550. // instance family.
  67551. type InstanceFamilyCreditSpecification struct {
  67552. _ struct{} `type:"structure"`
  67553. // The default credit option for CPU usage of the instance family. Valid values
  67554. // are standard and unlimited.
  67555. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  67556. // The instance family.
  67557. InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
  67558. }
  67559. // String returns the string representation
  67560. func (s InstanceFamilyCreditSpecification) String() string {
  67561. return awsutil.Prettify(s)
  67562. }
  67563. // GoString returns the string representation
  67564. func (s InstanceFamilyCreditSpecification) GoString() string {
  67565. return s.String()
  67566. }
  67567. // SetCpuCredits sets the CpuCredits field's value.
  67568. func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
  67569. s.CpuCredits = &v
  67570. return s
  67571. }
  67572. // SetInstanceFamily sets the InstanceFamily field's value.
  67573. func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
  67574. s.InstanceFamily = &v
  67575. return s
  67576. }
  67577. // Describes an IPv6 address.
  67578. type InstanceIpv6Address struct {
  67579. _ struct{} `type:"structure"`
  67580. // The IPv6 address.
  67581. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  67582. }
  67583. // String returns the string representation
  67584. func (s InstanceIpv6Address) String() string {
  67585. return awsutil.Prettify(s)
  67586. }
  67587. // GoString returns the string representation
  67588. func (s InstanceIpv6Address) GoString() string {
  67589. return s.String()
  67590. }
  67591. // SetIpv6Address sets the Ipv6Address field's value.
  67592. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  67593. s.Ipv6Address = &v
  67594. return s
  67595. }
  67596. // Describes an IPv6 address.
  67597. type InstanceIpv6AddressRequest struct {
  67598. _ struct{} `type:"structure"`
  67599. // The IPv6 address.
  67600. Ipv6Address *string `type:"string"`
  67601. }
  67602. // String returns the string representation
  67603. func (s InstanceIpv6AddressRequest) String() string {
  67604. return awsutil.Prettify(s)
  67605. }
  67606. // GoString returns the string representation
  67607. func (s InstanceIpv6AddressRequest) GoString() string {
  67608. return s.String()
  67609. }
  67610. // SetIpv6Address sets the Ipv6Address field's value.
  67611. func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
  67612. s.Ipv6Address = &v
  67613. return s
  67614. }
  67615. // Describes the market (purchasing) option for the instances.
  67616. type InstanceMarketOptionsRequest struct {
  67617. _ struct{} `type:"structure"`
  67618. // The market type.
  67619. MarketType *string `type:"string" enum:"MarketType"`
  67620. // The options for Spot Instances.
  67621. SpotOptions *SpotMarketOptions `type:"structure"`
  67622. }
  67623. // String returns the string representation
  67624. func (s InstanceMarketOptionsRequest) String() string {
  67625. return awsutil.Prettify(s)
  67626. }
  67627. // GoString returns the string representation
  67628. func (s InstanceMarketOptionsRequest) GoString() string {
  67629. return s.String()
  67630. }
  67631. // SetMarketType sets the MarketType field's value.
  67632. func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
  67633. s.MarketType = &v
  67634. return s
  67635. }
  67636. // SetSpotOptions sets the SpotOptions field's value.
  67637. func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
  67638. s.SpotOptions = v
  67639. return s
  67640. }
  67641. // The metadata options for the instance.
  67642. type InstanceMetadataOptionsRequest struct {
  67643. _ struct{} `type:"structure"`
  67644. // This parameter enables or disables the HTTP metadata endpoint on your instances.
  67645. // If the parameter is not specified, the default state is enabled.
  67646. //
  67647. // If you specify a value of disabled, you will not be able to access your instance
  67648. // metadata.
  67649. HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
  67650. // The desired HTTP PUT response hop limit for instance metadata requests. The
  67651. // larger the number, the further instance metadata requests can travel.
  67652. //
  67653. // Default: 1
  67654. //
  67655. // Possible values: Integers from 1 to 64
  67656. HttpPutResponseHopLimit *int64 `type:"integer"`
  67657. // The state of token usage for your instance metadata requests. If the parameter
  67658. // is not specified in the request, the default state is optional.
  67659. //
  67660. // If the state is optional, you can choose to retrieve instance metadata with
  67661. // or without a signed token header on your request. If you retrieve the IAM
  67662. // role credentials without a token, the version 1.0 role credentials are returned.
  67663. // If you retrieve the IAM role credentials using a valid signed token, the
  67664. // version 2.0 role credentials are returned.
  67665. //
  67666. // If the state is required, you must send a signed token header with any instance
  67667. // metadata retrieval requests. In this state, retrieving the IAM role credentials
  67668. // always returns the version 2.0 credentials; the version 1.0 credentials are
  67669. // not available.
  67670. HttpTokens *string `type:"string" enum:"HttpTokensState"`
  67671. }
  67672. // String returns the string representation
  67673. func (s InstanceMetadataOptionsRequest) String() string {
  67674. return awsutil.Prettify(s)
  67675. }
  67676. // GoString returns the string representation
  67677. func (s InstanceMetadataOptionsRequest) GoString() string {
  67678. return s.String()
  67679. }
  67680. // SetHttpEndpoint sets the HttpEndpoint field's value.
  67681. func (s *InstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *InstanceMetadataOptionsRequest {
  67682. s.HttpEndpoint = &v
  67683. return s
  67684. }
  67685. // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
  67686. func (s *InstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsRequest {
  67687. s.HttpPutResponseHopLimit = &v
  67688. return s
  67689. }
  67690. // SetHttpTokens sets the HttpTokens field's value.
  67691. func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetadataOptionsRequest {
  67692. s.HttpTokens = &v
  67693. return s
  67694. }
  67695. // The metadata options for the instance.
  67696. type InstanceMetadataOptionsResponse struct {
  67697. _ struct{} `type:"structure"`
  67698. // This parameter enables or disables the HTTP metadata endpoint on your instances.
  67699. // If the parameter is not specified, the default state is enabled.
  67700. //
  67701. // If you specify a value of disabled, you will not be able to access your instance
  67702. // metadata.
  67703. HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"`
  67704. // The desired HTTP PUT response hop limit for instance metadata requests. The
  67705. // larger the number, the further instance metadata requests can travel.
  67706. //
  67707. // Default: 1
  67708. //
  67709. // Possible values: Integers from 1 to 64
  67710. HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
  67711. // The state of token usage for your instance metadata requests. If the parameter
  67712. // is not specified in the request, the default state is optional.
  67713. //
  67714. // If the state is optional, you can choose to retrieve instance metadata with
  67715. // or without a signed token header on your request. If you retrieve the IAM
  67716. // role credentials without a token, the version 1.0 role credentials are returned.
  67717. // If you retrieve the IAM role credentials using a valid signed token, the
  67718. // version 2.0 role credentials are returned.
  67719. //
  67720. // If the state is required, you must send a signed token header with any instance
  67721. // metadata retrieval requests. In this state, retrieving the IAM role credential
  67722. // always returns the version 2.0 credentials; the version 1.0 credentials are
  67723. // not available.
  67724. HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"`
  67725. // The state of the metadata option changes.
  67726. //
  67727. // pending - The metadata options are being updated and the instance is not
  67728. // ready to process metadata traffic with the new selection.
  67729. //
  67730. // applied - The metadata options have been successfully applied on the instance.
  67731. State *string `locationName:"state" type:"string" enum:"InstanceMetadataOptionsState"`
  67732. }
  67733. // String returns the string representation
  67734. func (s InstanceMetadataOptionsResponse) String() string {
  67735. return awsutil.Prettify(s)
  67736. }
  67737. // GoString returns the string representation
  67738. func (s InstanceMetadataOptionsResponse) GoString() string {
  67739. return s.String()
  67740. }
  67741. // SetHttpEndpoint sets the HttpEndpoint field's value.
  67742. func (s *InstanceMetadataOptionsResponse) SetHttpEndpoint(v string) *InstanceMetadataOptionsResponse {
  67743. s.HttpEndpoint = &v
  67744. return s
  67745. }
  67746. // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
  67747. func (s *InstanceMetadataOptionsResponse) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsResponse {
  67748. s.HttpPutResponseHopLimit = &v
  67749. return s
  67750. }
  67751. // SetHttpTokens sets the HttpTokens field's value.
  67752. func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetadataOptionsResponse {
  67753. s.HttpTokens = &v
  67754. return s
  67755. }
  67756. // SetState sets the State field's value.
  67757. func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse {
  67758. s.State = &v
  67759. return s
  67760. }
  67761. // Describes the monitoring of an instance.
  67762. type InstanceMonitoring struct {
  67763. _ struct{} `type:"structure"`
  67764. // The ID of the instance.
  67765. InstanceId *string `locationName:"instanceId" type:"string"`
  67766. // The monitoring for the instance.
  67767. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  67768. }
  67769. // String returns the string representation
  67770. func (s InstanceMonitoring) String() string {
  67771. return awsutil.Prettify(s)
  67772. }
  67773. // GoString returns the string representation
  67774. func (s InstanceMonitoring) GoString() string {
  67775. return s.String()
  67776. }
  67777. // SetInstanceId sets the InstanceId field's value.
  67778. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  67779. s.InstanceId = &v
  67780. return s
  67781. }
  67782. // SetMonitoring sets the Monitoring field's value.
  67783. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  67784. s.Monitoring = v
  67785. return s
  67786. }
  67787. // Describes a network interface.
  67788. type InstanceNetworkInterface struct {
  67789. _ struct{} `type:"structure"`
  67790. // The association information for an Elastic IPv4 associated with the network
  67791. // interface.
  67792. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  67793. // The network interface attachment.
  67794. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  67795. // The description.
  67796. Description *string `locationName:"description" type:"string"`
  67797. // One or more security groups.
  67798. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  67799. // Describes the type of network interface.
  67800. //
  67801. // Valid values: interface | efa
  67802. InterfaceType *string `locationName:"interfaceType" type:"string"`
  67803. // One or more IPv6 addresses associated with the network interface.
  67804. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  67805. // The MAC address.
  67806. MacAddress *string `locationName:"macAddress" type:"string"`
  67807. // The ID of the network interface.
  67808. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  67809. // The ID of the AWS account that created the network interface.
  67810. OwnerId *string `locationName:"ownerId" type:"string"`
  67811. // The private DNS name.
  67812. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  67813. // The IPv4 address of the network interface within the subnet.
  67814. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  67815. // One or more private IPv4 addresses associated with the network interface.
  67816. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  67817. // Indicates whether to validate network traffic to or from this network interface.
  67818. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  67819. // The status of the network interface.
  67820. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  67821. // The ID of the subnet.
  67822. SubnetId *string `locationName:"subnetId" type:"string"`
  67823. // The ID of the VPC.
  67824. VpcId *string `locationName:"vpcId" type:"string"`
  67825. }
  67826. // String returns the string representation
  67827. func (s InstanceNetworkInterface) String() string {
  67828. return awsutil.Prettify(s)
  67829. }
  67830. // GoString returns the string representation
  67831. func (s InstanceNetworkInterface) GoString() string {
  67832. return s.String()
  67833. }
  67834. // SetAssociation sets the Association field's value.
  67835. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  67836. s.Association = v
  67837. return s
  67838. }
  67839. // SetAttachment sets the Attachment field's value.
  67840. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  67841. s.Attachment = v
  67842. return s
  67843. }
  67844. // SetDescription sets the Description field's value.
  67845. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  67846. s.Description = &v
  67847. return s
  67848. }
  67849. // SetGroups sets the Groups field's value.
  67850. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  67851. s.Groups = v
  67852. return s
  67853. }
  67854. // SetInterfaceType sets the InterfaceType field's value.
  67855. func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
  67856. s.InterfaceType = &v
  67857. return s
  67858. }
  67859. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  67860. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  67861. s.Ipv6Addresses = v
  67862. return s
  67863. }
  67864. // SetMacAddress sets the MacAddress field's value.
  67865. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  67866. s.MacAddress = &v
  67867. return s
  67868. }
  67869. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  67870. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  67871. s.NetworkInterfaceId = &v
  67872. return s
  67873. }
  67874. // SetOwnerId sets the OwnerId field's value.
  67875. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  67876. s.OwnerId = &v
  67877. return s
  67878. }
  67879. // SetPrivateDnsName sets the PrivateDnsName field's value.
  67880. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  67881. s.PrivateDnsName = &v
  67882. return s
  67883. }
  67884. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  67885. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  67886. s.PrivateIpAddress = &v
  67887. return s
  67888. }
  67889. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  67890. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  67891. s.PrivateIpAddresses = v
  67892. return s
  67893. }
  67894. // SetSourceDestCheck sets the SourceDestCheck field's value.
  67895. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  67896. s.SourceDestCheck = &v
  67897. return s
  67898. }
  67899. // SetStatus sets the Status field's value.
  67900. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  67901. s.Status = &v
  67902. return s
  67903. }
  67904. // SetSubnetId sets the SubnetId field's value.
  67905. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  67906. s.SubnetId = &v
  67907. return s
  67908. }
  67909. // SetVpcId sets the VpcId field's value.
  67910. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  67911. s.VpcId = &v
  67912. return s
  67913. }
  67914. // Describes association information for an Elastic IP address (IPv4).
  67915. type InstanceNetworkInterfaceAssociation struct {
  67916. _ struct{} `type:"structure"`
  67917. // The ID of the owner of the Elastic IP address.
  67918. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  67919. // The public DNS name.
  67920. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  67921. // The public IP address or Elastic IP address bound to the network interface.
  67922. PublicIp *string `locationName:"publicIp" type:"string"`
  67923. }
  67924. // String returns the string representation
  67925. func (s InstanceNetworkInterfaceAssociation) String() string {
  67926. return awsutil.Prettify(s)
  67927. }
  67928. // GoString returns the string representation
  67929. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  67930. return s.String()
  67931. }
  67932. // SetIpOwnerId sets the IpOwnerId field's value.
  67933. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  67934. s.IpOwnerId = &v
  67935. return s
  67936. }
  67937. // SetPublicDnsName sets the PublicDnsName field's value.
  67938. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  67939. s.PublicDnsName = &v
  67940. return s
  67941. }
  67942. // SetPublicIp sets the PublicIp field's value.
  67943. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  67944. s.PublicIp = &v
  67945. return s
  67946. }
  67947. // Describes a network interface attachment.
  67948. type InstanceNetworkInterfaceAttachment struct {
  67949. _ struct{} `type:"structure"`
  67950. // The time stamp when the attachment initiated.
  67951. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  67952. // The ID of the network interface attachment.
  67953. AttachmentId *string `locationName:"attachmentId" type:"string"`
  67954. // Indicates whether the network interface is deleted when the instance is terminated.
  67955. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  67956. // The index of the device on the instance for the network interface attachment.
  67957. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  67958. // The attachment state.
  67959. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  67960. }
  67961. // String returns the string representation
  67962. func (s InstanceNetworkInterfaceAttachment) String() string {
  67963. return awsutil.Prettify(s)
  67964. }
  67965. // GoString returns the string representation
  67966. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  67967. return s.String()
  67968. }
  67969. // SetAttachTime sets the AttachTime field's value.
  67970. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  67971. s.AttachTime = &v
  67972. return s
  67973. }
  67974. // SetAttachmentId sets the AttachmentId field's value.
  67975. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  67976. s.AttachmentId = &v
  67977. return s
  67978. }
  67979. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  67980. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  67981. s.DeleteOnTermination = &v
  67982. return s
  67983. }
  67984. // SetDeviceIndex sets the DeviceIndex field's value.
  67985. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  67986. s.DeviceIndex = &v
  67987. return s
  67988. }
  67989. // SetStatus sets the Status field's value.
  67990. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  67991. s.Status = &v
  67992. return s
  67993. }
  67994. // Describes a network interface.
  67995. type InstanceNetworkInterfaceSpecification struct {
  67996. _ struct{} `type:"structure"`
  67997. // Indicates whether to assign a public IPv4 address to an instance you launch
  67998. // in a VPC. The public IP address can only be assigned to a network interface
  67999. // for eth0, and can only be assigned to a new network interface, not an existing
  68000. // one. You cannot specify more than one network interface in the request. If
  68001. // launching into a default subnet, the default value is true.
  68002. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  68003. // If set to true, the interface is deleted when the instance is terminated.
  68004. // You can specify true only if creating a new network interface when launching
  68005. // an instance.
  68006. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  68007. // The description of the network interface. Applies only if creating a network
  68008. // interface when launching an instance.
  68009. Description *string `locationName:"description" type:"string"`
  68010. // The position of the network interface in the attachment order. A primary
  68011. // network interface has a device index of 0.
  68012. //
  68013. // If you specify a network interface when launching an instance, you must specify
  68014. // the device index.
  68015. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  68016. // The IDs of the security groups for the network interface. Applies only if
  68017. // creating a network interface when launching an instance.
  68018. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  68019. // The type of network interface. To create an Elastic Fabric Adapter (EFA),
  68020. // specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
  68021. // in the Amazon Elastic Compute Cloud User Guide.
  68022. //
  68023. // If you are not creating an EFA, specify interface or omit this parameter.
  68024. //
  68025. // Valid values: interface | efa
  68026. InterfaceType *string `type:"string"`
  68027. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  68028. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  68029. // this option and the option to assign specific IPv6 addresses in the same
  68030. // request. You can specify this option if you've specified a minimum number
  68031. // of instances to launch.
  68032. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  68033. // One or more IPv6 addresses to assign to the network interface. You cannot
  68034. // specify this option and the option to assign a number of IPv6 addresses in
  68035. // the same request. You cannot specify this option if you've specified a minimum
  68036. // number of instances to launch.
  68037. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  68038. // The ID of the network interface.
  68039. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  68040. // The private IPv4 address of the network interface. Applies only if creating
  68041. // a network interface when launching an instance. You cannot specify this option
  68042. // if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
  68043. // request.
  68044. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  68045. // One or more private IPv4 addresses to assign to the network interface. Only
  68046. // one private IPv4 address can be designated as primary. You cannot specify
  68047. // this option if you're launching more than one instance in a RunInstances
  68048. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
  68049. // request.
  68050. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  68051. // The number of secondary private IPv4 addresses. You can't specify this option
  68052. // and specify more than one private IP address using the private IP addresses
  68053. // option. You cannot specify this option if you're launching more than one
  68054. // instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
  68055. // request.
  68056. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  68057. // The ID of the subnet associated with the network interface. Applies only
  68058. // if creating a network interface when launching an instance.
  68059. SubnetId *string `locationName:"subnetId" type:"string"`
  68060. }
  68061. // String returns the string representation
  68062. func (s InstanceNetworkInterfaceSpecification) String() string {
  68063. return awsutil.Prettify(s)
  68064. }
  68065. // GoString returns the string representation
  68066. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  68067. return s.String()
  68068. }
  68069. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  68070. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  68071. s.AssociatePublicIpAddress = &v
  68072. return s
  68073. }
  68074. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  68075. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  68076. s.DeleteOnTermination = &v
  68077. return s
  68078. }
  68079. // SetDescription sets the Description field's value.
  68080. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  68081. s.Description = &v
  68082. return s
  68083. }
  68084. // SetDeviceIndex sets the DeviceIndex field's value.
  68085. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  68086. s.DeviceIndex = &v
  68087. return s
  68088. }
  68089. // SetGroups sets the Groups field's value.
  68090. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  68091. s.Groups = v
  68092. return s
  68093. }
  68094. // SetInterfaceType sets the InterfaceType field's value.
  68095. func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
  68096. s.InterfaceType = &v
  68097. return s
  68098. }
  68099. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  68100. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  68101. s.Ipv6AddressCount = &v
  68102. return s
  68103. }
  68104. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  68105. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  68106. s.Ipv6Addresses = v
  68107. return s
  68108. }
  68109. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  68110. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  68111. s.NetworkInterfaceId = &v
  68112. return s
  68113. }
  68114. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  68115. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  68116. s.PrivateIpAddress = &v
  68117. return s
  68118. }
  68119. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  68120. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  68121. s.PrivateIpAddresses = v
  68122. return s
  68123. }
  68124. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  68125. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  68126. s.SecondaryPrivateIpAddressCount = &v
  68127. return s
  68128. }
  68129. // SetSubnetId sets the SubnetId field's value.
  68130. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  68131. s.SubnetId = &v
  68132. return s
  68133. }
  68134. // Describes a private IPv4 address.
  68135. type InstancePrivateIpAddress struct {
  68136. _ struct{} `type:"structure"`
  68137. // The association information for an Elastic IP address for the network interface.
  68138. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  68139. // Indicates whether this IPv4 address is the primary private IP address of
  68140. // the network interface.
  68141. Primary *bool `locationName:"primary" type:"boolean"`
  68142. // The private IPv4 DNS name.
  68143. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  68144. // The private IPv4 address of the network interface.
  68145. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  68146. }
  68147. // String returns the string representation
  68148. func (s InstancePrivateIpAddress) String() string {
  68149. return awsutil.Prettify(s)
  68150. }
  68151. // GoString returns the string representation
  68152. func (s InstancePrivateIpAddress) GoString() string {
  68153. return s.String()
  68154. }
  68155. // SetAssociation sets the Association field's value.
  68156. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  68157. s.Association = v
  68158. return s
  68159. }
  68160. // SetPrimary sets the Primary field's value.
  68161. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  68162. s.Primary = &v
  68163. return s
  68164. }
  68165. // SetPrivateDnsName sets the PrivateDnsName field's value.
  68166. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  68167. s.PrivateDnsName = &v
  68168. return s
  68169. }
  68170. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  68171. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  68172. s.PrivateIpAddress = &v
  68173. return s
  68174. }
  68175. // The instance details to specify which volumes should be snapshotted.
  68176. type InstanceSpecification struct {
  68177. _ struct{} `type:"structure"`
  68178. // Excludes the root volume from being snapshotted.
  68179. ExcludeBootVolume *bool `type:"boolean"`
  68180. // The instance to specify which volumes should be snapshotted.
  68181. InstanceId *string `type:"string"`
  68182. }
  68183. // String returns the string representation
  68184. func (s InstanceSpecification) String() string {
  68185. return awsutil.Prettify(s)
  68186. }
  68187. // GoString returns the string representation
  68188. func (s InstanceSpecification) GoString() string {
  68189. return s.String()
  68190. }
  68191. // SetExcludeBootVolume sets the ExcludeBootVolume field's value.
  68192. func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification {
  68193. s.ExcludeBootVolume = &v
  68194. return s
  68195. }
  68196. // SetInstanceId sets the InstanceId field's value.
  68197. func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification {
  68198. s.InstanceId = &v
  68199. return s
  68200. }
  68201. // Describes the current state of an instance.
  68202. type InstanceState struct {
  68203. _ struct{} `type:"structure"`
  68204. // The state of the instance as a 16-bit unsigned integer.
  68205. //
  68206. // The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
  68207. // values between 256 and 65,535. These numerical values are used for internal
  68208. // purposes and should be ignored.
  68209. //
  68210. // The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
  68211. // values between 0 and 255.
  68212. //
  68213. // The valid values for instance-state-code will all be in the range of the
  68214. // low byte and they are:
  68215. //
  68216. // * 0 : pending
  68217. //
  68218. // * 16 : running
  68219. //
  68220. // * 32 : shutting-down
  68221. //
  68222. // * 48 : terminated
  68223. //
  68224. // * 64 : stopping
  68225. //
  68226. // * 80 : stopped
  68227. //
  68228. // You can ignore the high byte value by zeroing out all of the bits above 2^8
  68229. // or 256 in decimal.
  68230. Code *int64 `locationName:"code" type:"integer"`
  68231. // The current state of the instance.
  68232. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  68233. }
  68234. // String returns the string representation
  68235. func (s InstanceState) String() string {
  68236. return awsutil.Prettify(s)
  68237. }
  68238. // GoString returns the string representation
  68239. func (s InstanceState) GoString() string {
  68240. return s.String()
  68241. }
  68242. // SetCode sets the Code field's value.
  68243. func (s *InstanceState) SetCode(v int64) *InstanceState {
  68244. s.Code = &v
  68245. return s
  68246. }
  68247. // SetName sets the Name field's value.
  68248. func (s *InstanceState) SetName(v string) *InstanceState {
  68249. s.Name = &v
  68250. return s
  68251. }
  68252. // Describes an instance state change.
  68253. type InstanceStateChange struct {
  68254. _ struct{} `type:"structure"`
  68255. // The current state of the instance.
  68256. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  68257. // The ID of the instance.
  68258. InstanceId *string `locationName:"instanceId" type:"string"`
  68259. // The previous state of the instance.
  68260. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  68261. }
  68262. // String returns the string representation
  68263. func (s InstanceStateChange) String() string {
  68264. return awsutil.Prettify(s)
  68265. }
  68266. // GoString returns the string representation
  68267. func (s InstanceStateChange) GoString() string {
  68268. return s.String()
  68269. }
  68270. // SetCurrentState sets the CurrentState field's value.
  68271. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  68272. s.CurrentState = v
  68273. return s
  68274. }
  68275. // SetInstanceId sets the InstanceId field's value.
  68276. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  68277. s.InstanceId = &v
  68278. return s
  68279. }
  68280. // SetPreviousState sets the PreviousState field's value.
  68281. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  68282. s.PreviousState = v
  68283. return s
  68284. }
  68285. // Describes the status of an instance.
  68286. type InstanceStatus struct {
  68287. _ struct{} `type:"structure"`
  68288. // The Availability Zone of the instance.
  68289. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  68290. // Any scheduled events associated with the instance.
  68291. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  68292. // The ID of the instance.
  68293. InstanceId *string `locationName:"instanceId" type:"string"`
  68294. // The intended state of the instance. DescribeInstanceStatus requires that
  68295. // an instance be in the running state.
  68296. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  68297. // Reports impaired functionality that stems from issues internal to the instance,
  68298. // such as impaired reachability.
  68299. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  68300. // The Amazon Resource Name (ARN) of the Outpost.
  68301. OutpostArn *string `locationName:"outpostArn" type:"string"`
  68302. // Reports impaired functionality that stems from issues related to the systems
  68303. // that support an instance, such as hardware failures and network connectivity
  68304. // problems.
  68305. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  68306. }
  68307. // String returns the string representation
  68308. func (s InstanceStatus) String() string {
  68309. return awsutil.Prettify(s)
  68310. }
  68311. // GoString returns the string representation
  68312. func (s InstanceStatus) GoString() string {
  68313. return s.String()
  68314. }
  68315. // SetAvailabilityZone sets the AvailabilityZone field's value.
  68316. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  68317. s.AvailabilityZone = &v
  68318. return s
  68319. }
  68320. // SetEvents sets the Events field's value.
  68321. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  68322. s.Events = v
  68323. return s
  68324. }
  68325. // SetInstanceId sets the InstanceId field's value.
  68326. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  68327. s.InstanceId = &v
  68328. return s
  68329. }
  68330. // SetInstanceState sets the InstanceState field's value.
  68331. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  68332. s.InstanceState = v
  68333. return s
  68334. }
  68335. // SetInstanceStatus sets the InstanceStatus field's value.
  68336. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  68337. s.InstanceStatus = v
  68338. return s
  68339. }
  68340. // SetOutpostArn sets the OutpostArn field's value.
  68341. func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
  68342. s.OutpostArn = &v
  68343. return s
  68344. }
  68345. // SetSystemStatus sets the SystemStatus field's value.
  68346. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  68347. s.SystemStatus = v
  68348. return s
  68349. }
  68350. // Describes the instance status.
  68351. type InstanceStatusDetails struct {
  68352. _ struct{} `type:"structure"`
  68353. // The time when a status check failed. For an instance that was launched and
  68354. // impaired, this is the time when the instance was launched.
  68355. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
  68356. // The type of instance status.
  68357. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  68358. // The status.
  68359. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  68360. }
  68361. // String returns the string representation
  68362. func (s InstanceStatusDetails) String() string {
  68363. return awsutil.Prettify(s)
  68364. }
  68365. // GoString returns the string representation
  68366. func (s InstanceStatusDetails) GoString() string {
  68367. return s.String()
  68368. }
  68369. // SetImpairedSince sets the ImpairedSince field's value.
  68370. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  68371. s.ImpairedSince = &v
  68372. return s
  68373. }
  68374. // SetName sets the Name field's value.
  68375. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  68376. s.Name = &v
  68377. return s
  68378. }
  68379. // SetStatus sets the Status field's value.
  68380. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  68381. s.Status = &v
  68382. return s
  68383. }
  68384. // Describes a scheduled event for an instance.
  68385. type InstanceStatusEvent struct {
  68386. _ struct{} `type:"structure"`
  68387. // The event code.
  68388. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  68389. // A description of the event.
  68390. //
  68391. // After a scheduled event is completed, it can still be described for up to
  68392. // a week. If the event has been completed, this description starts with the
  68393. // following text: [Completed].
  68394. Description *string `locationName:"description" type:"string"`
  68395. // The ID of the event.
  68396. InstanceEventId *string `locationName:"instanceEventId" type:"string"`
  68397. // The latest scheduled end time for the event.
  68398. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
  68399. // The earliest scheduled start time for the event.
  68400. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
  68401. // The deadline for starting the event.
  68402. NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
  68403. }
  68404. // String returns the string representation
  68405. func (s InstanceStatusEvent) String() string {
  68406. return awsutil.Prettify(s)
  68407. }
  68408. // GoString returns the string representation
  68409. func (s InstanceStatusEvent) GoString() string {
  68410. return s.String()
  68411. }
  68412. // SetCode sets the Code field's value.
  68413. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  68414. s.Code = &v
  68415. return s
  68416. }
  68417. // SetDescription sets the Description field's value.
  68418. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  68419. s.Description = &v
  68420. return s
  68421. }
  68422. // SetInstanceEventId sets the InstanceEventId field's value.
  68423. func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
  68424. s.InstanceEventId = &v
  68425. return s
  68426. }
  68427. // SetNotAfter sets the NotAfter field's value.
  68428. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  68429. s.NotAfter = &v
  68430. return s
  68431. }
  68432. // SetNotBefore sets the NotBefore field's value.
  68433. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  68434. s.NotBefore = &v
  68435. return s
  68436. }
  68437. // SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
  68438. func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
  68439. s.NotBeforeDeadline = &v
  68440. return s
  68441. }
  68442. // Describes the status of an instance.
  68443. type InstanceStatusSummary struct {
  68444. _ struct{} `type:"structure"`
  68445. // The system instance health or application instance health.
  68446. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  68447. // The status.
  68448. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  68449. }
  68450. // String returns the string representation
  68451. func (s InstanceStatusSummary) String() string {
  68452. return awsutil.Prettify(s)
  68453. }
  68454. // GoString returns the string representation
  68455. func (s InstanceStatusSummary) GoString() string {
  68456. return s.String()
  68457. }
  68458. // SetDetails sets the Details field's value.
  68459. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  68460. s.Details = v
  68461. return s
  68462. }
  68463. // SetStatus sets the Status field's value.
  68464. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  68465. s.Status = &v
  68466. return s
  68467. }
  68468. // Describes the disks that are available for the instance type.
  68469. type InstanceStorageInfo struct {
  68470. _ struct{} `type:"structure"`
  68471. // Array describing the disks that are available for the instance type.
  68472. Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
  68473. // The total size of the disks, in GB.
  68474. TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
  68475. }
  68476. // String returns the string representation
  68477. func (s InstanceStorageInfo) String() string {
  68478. return awsutil.Prettify(s)
  68479. }
  68480. // GoString returns the string representation
  68481. func (s InstanceStorageInfo) GoString() string {
  68482. return s.String()
  68483. }
  68484. // SetDisks sets the Disks field's value.
  68485. func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
  68486. s.Disks = v
  68487. return s
  68488. }
  68489. // SetTotalSizeInGB sets the TotalSizeInGB field's value.
  68490. func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
  68491. s.TotalSizeInGB = &v
  68492. return s
  68493. }
  68494. // Describes the instance type.
  68495. type InstanceTypeInfo struct {
  68496. _ struct{} `type:"structure"`
  68497. // Indicates whether auto recovery is supported.
  68498. AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
  68499. // Indicates whether the instance is bare metal.
  68500. BareMetal *bool `locationName:"bareMetal" type:"boolean"`
  68501. // Indicates whether the instance type is a burstable performance instance type.
  68502. BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
  68503. // Indicates whether the instance type is a current generation.
  68504. CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
  68505. // Indicates whether Dedicated Hosts are supported on the instance type.
  68506. DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"`
  68507. // Describes the Amazon EBS settings for the instance type.
  68508. EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"`
  68509. // Describes the FPGA accelerator settings for the instance type.
  68510. FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"`
  68511. // Indicates whether the instance type is eligible for the free tier.
  68512. FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"`
  68513. // Describes the GPU accelerator settings for the instance type.
  68514. GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"`
  68515. // Indicates whether On-Demand hibernation is supported.
  68516. HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
  68517. // Indicates the hypervisor used for the instance type.
  68518. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
  68519. // Describes the Inference accelerator settings for the instance type.
  68520. InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
  68521. // Describes the disks for the instance type.
  68522. InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
  68523. // Indicates whether instance storage is supported.
  68524. InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"`
  68525. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  68526. // in the Amazon Elastic Compute Cloud User Guide.
  68527. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  68528. // Describes the memory for the instance type.
  68529. MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
  68530. // Describes the network settings for the instance type.
  68531. NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"`
  68532. // Describes the placement group settings for the instance type.
  68533. PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"`
  68534. // Describes the processor.
  68535. ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
  68536. // Indicates the supported root device types.
  68537. SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
  68538. // Indicates whether the instance type is offered for spot or On-Demand.
  68539. SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"`
  68540. // Describes the vCPU configurations for the instance type.
  68541. VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"`
  68542. }
  68543. // String returns the string representation
  68544. func (s InstanceTypeInfo) String() string {
  68545. return awsutil.Prettify(s)
  68546. }
  68547. // GoString returns the string representation
  68548. func (s InstanceTypeInfo) GoString() string {
  68549. return s.String()
  68550. }
  68551. // SetAutoRecoverySupported sets the AutoRecoverySupported field's value.
  68552. func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo {
  68553. s.AutoRecoverySupported = &v
  68554. return s
  68555. }
  68556. // SetBareMetal sets the BareMetal field's value.
  68557. func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo {
  68558. s.BareMetal = &v
  68559. return s
  68560. }
  68561. // SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value.
  68562. func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo {
  68563. s.BurstablePerformanceSupported = &v
  68564. return s
  68565. }
  68566. // SetCurrentGeneration sets the CurrentGeneration field's value.
  68567. func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo {
  68568. s.CurrentGeneration = &v
  68569. return s
  68570. }
  68571. // SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value.
  68572. func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo {
  68573. s.DedicatedHostsSupported = &v
  68574. return s
  68575. }
  68576. // SetEbsInfo sets the EbsInfo field's value.
  68577. func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo {
  68578. s.EbsInfo = v
  68579. return s
  68580. }
  68581. // SetFpgaInfo sets the FpgaInfo field's value.
  68582. func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo {
  68583. s.FpgaInfo = v
  68584. return s
  68585. }
  68586. // SetFreeTierEligible sets the FreeTierEligible field's value.
  68587. func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo {
  68588. s.FreeTierEligible = &v
  68589. return s
  68590. }
  68591. // SetGpuInfo sets the GpuInfo field's value.
  68592. func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo {
  68593. s.GpuInfo = v
  68594. return s
  68595. }
  68596. // SetHibernationSupported sets the HibernationSupported field's value.
  68597. func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo {
  68598. s.HibernationSupported = &v
  68599. return s
  68600. }
  68601. // SetHypervisor sets the Hypervisor field's value.
  68602. func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
  68603. s.Hypervisor = &v
  68604. return s
  68605. }
  68606. // SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
  68607. func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
  68608. s.InferenceAcceleratorInfo = v
  68609. return s
  68610. }
  68611. // SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
  68612. func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
  68613. s.InstanceStorageInfo = v
  68614. return s
  68615. }
  68616. // SetInstanceStorageSupported sets the InstanceStorageSupported field's value.
  68617. func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo {
  68618. s.InstanceStorageSupported = &v
  68619. return s
  68620. }
  68621. // SetInstanceType sets the InstanceType field's value.
  68622. func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo {
  68623. s.InstanceType = &v
  68624. return s
  68625. }
  68626. // SetMemoryInfo sets the MemoryInfo field's value.
  68627. func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo {
  68628. s.MemoryInfo = v
  68629. return s
  68630. }
  68631. // SetNetworkInfo sets the NetworkInfo field's value.
  68632. func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo {
  68633. s.NetworkInfo = v
  68634. return s
  68635. }
  68636. // SetPlacementGroupInfo sets the PlacementGroupInfo field's value.
  68637. func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo {
  68638. s.PlacementGroupInfo = v
  68639. return s
  68640. }
  68641. // SetProcessorInfo sets the ProcessorInfo field's value.
  68642. func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo {
  68643. s.ProcessorInfo = v
  68644. return s
  68645. }
  68646. // SetSupportedRootDeviceTypes sets the SupportedRootDeviceTypes field's value.
  68647. func (s *InstanceTypeInfo) SetSupportedRootDeviceTypes(v []*string) *InstanceTypeInfo {
  68648. s.SupportedRootDeviceTypes = v
  68649. return s
  68650. }
  68651. // SetSupportedUsageClasses sets the SupportedUsageClasses field's value.
  68652. func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo {
  68653. s.SupportedUsageClasses = v
  68654. return s
  68655. }
  68656. // SetVCpuInfo sets the VCpuInfo field's value.
  68657. func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo {
  68658. s.VCpuInfo = v
  68659. return s
  68660. }
  68661. // The instance types offered.
  68662. type InstanceTypeOffering struct {
  68663. _ struct{} `type:"structure"`
  68664. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  68665. // in the Amazon Elastic Compute Cloud User Guide.
  68666. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  68667. // The identifier for the location. This depends on the location type. For example,
  68668. // if the location type is region, the location is the Region code (for example,
  68669. // us-east-2.)
  68670. Location *string `locationName:"location" type:"string"`
  68671. // The location type.
  68672. LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"`
  68673. }
  68674. // String returns the string representation
  68675. func (s InstanceTypeOffering) String() string {
  68676. return awsutil.Prettify(s)
  68677. }
  68678. // GoString returns the string representation
  68679. func (s InstanceTypeOffering) GoString() string {
  68680. return s.String()
  68681. }
  68682. // SetInstanceType sets the InstanceType field's value.
  68683. func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering {
  68684. s.InstanceType = &v
  68685. return s
  68686. }
  68687. // SetLocation sets the Location field's value.
  68688. func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering {
  68689. s.Location = &v
  68690. return s
  68691. }
  68692. // SetLocationType sets the LocationType field's value.
  68693. func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering {
  68694. s.LocationType = &v
  68695. return s
  68696. }
  68697. // Information about the Capacity Reservation usage.
  68698. type InstanceUsage struct {
  68699. _ struct{} `type:"structure"`
  68700. // The ID of the AWS account that is making use of the Capacity Reservation.
  68701. AccountId *string `locationName:"accountId" type:"string"`
  68702. // The number of instances the AWS account currently has in the Capacity Reservation.
  68703. UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"`
  68704. }
  68705. // String returns the string representation
  68706. func (s InstanceUsage) String() string {
  68707. return awsutil.Prettify(s)
  68708. }
  68709. // GoString returns the string representation
  68710. func (s InstanceUsage) GoString() string {
  68711. return s.String()
  68712. }
  68713. // SetAccountId sets the AccountId field's value.
  68714. func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage {
  68715. s.AccountId = &v
  68716. return s
  68717. }
  68718. // SetUsedInstanceCount sets the UsedInstanceCount field's value.
  68719. func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage {
  68720. s.UsedInstanceCount = &v
  68721. return s
  68722. }
  68723. // Describes an internet gateway.
  68724. type InternetGateway struct {
  68725. _ struct{} `type:"structure"`
  68726. // Any VPCs attached to the internet gateway.
  68727. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  68728. // The ID of the internet gateway.
  68729. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  68730. // The ID of the AWS account that owns the internet gateway.
  68731. OwnerId *string `locationName:"ownerId" type:"string"`
  68732. // Any tags assigned to the internet gateway.
  68733. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  68734. }
  68735. // String returns the string representation
  68736. func (s InternetGateway) String() string {
  68737. return awsutil.Prettify(s)
  68738. }
  68739. // GoString returns the string representation
  68740. func (s InternetGateway) GoString() string {
  68741. return s.String()
  68742. }
  68743. // SetAttachments sets the Attachments field's value.
  68744. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  68745. s.Attachments = v
  68746. return s
  68747. }
  68748. // SetInternetGatewayId sets the InternetGatewayId field's value.
  68749. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  68750. s.InternetGatewayId = &v
  68751. return s
  68752. }
  68753. // SetOwnerId sets the OwnerId field's value.
  68754. func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
  68755. s.OwnerId = &v
  68756. return s
  68757. }
  68758. // SetTags sets the Tags field's value.
  68759. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  68760. s.Tags = v
  68761. return s
  68762. }
  68763. // Describes the attachment of a VPC to an internet gateway or an egress-only
  68764. // internet gateway.
  68765. type InternetGatewayAttachment struct {
  68766. _ struct{} `type:"structure"`
  68767. // The current state of the attachment. For an internet gateway, the state is
  68768. // available when attached to a VPC; otherwise, this value is not returned.
  68769. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  68770. // The ID of the VPC.
  68771. VpcId *string `locationName:"vpcId" type:"string"`
  68772. }
  68773. // String returns the string representation
  68774. func (s InternetGatewayAttachment) String() string {
  68775. return awsutil.Prettify(s)
  68776. }
  68777. // GoString returns the string representation
  68778. func (s InternetGatewayAttachment) GoString() string {
  68779. return s.String()
  68780. }
  68781. // SetState sets the State field's value.
  68782. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  68783. s.State = &v
  68784. return s
  68785. }
  68786. // SetVpcId sets the VpcId field's value.
  68787. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  68788. s.VpcId = &v
  68789. return s
  68790. }
  68791. // Describes a set of permissions for a security group rule.
  68792. type IpPermission struct {
  68793. _ struct{} `type:"structure"`
  68794. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  68795. // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
  68796. // all ICMP/ICMPv6 types, you must specify all codes.
  68797. FromPort *int64 `locationName:"fromPort" type:"integer"`
  68798. // The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
  68799. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  68800. //
  68801. // [VPC only] Use -1 to specify all protocols. When authorizing security group
  68802. // rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
  68803. // allows traffic on all ports, regardless of any port range you specify. For
  68804. // tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
  68805. // is optional; if you omit the port range, traffic for all types and codes
  68806. // is allowed.
  68807. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  68808. // The IPv4 ranges.
  68809. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  68810. // [VPC only] The IPv6 ranges.
  68811. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  68812. // [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
  68813. // is the AWS service to access through a VPC endpoint from instances associated
  68814. // with the security group.
  68815. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  68816. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  68817. // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
  68818. // types, you must specify all codes.
  68819. ToPort *int64 `locationName:"toPort" type:"integer"`
  68820. // The security group and AWS account ID pairs.
  68821. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  68822. }
  68823. // String returns the string representation
  68824. func (s IpPermission) String() string {
  68825. return awsutil.Prettify(s)
  68826. }
  68827. // GoString returns the string representation
  68828. func (s IpPermission) GoString() string {
  68829. return s.String()
  68830. }
  68831. // SetFromPort sets the FromPort field's value.
  68832. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  68833. s.FromPort = &v
  68834. return s
  68835. }
  68836. // SetIpProtocol sets the IpProtocol field's value.
  68837. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  68838. s.IpProtocol = &v
  68839. return s
  68840. }
  68841. // SetIpRanges sets the IpRanges field's value.
  68842. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  68843. s.IpRanges = v
  68844. return s
  68845. }
  68846. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  68847. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  68848. s.Ipv6Ranges = v
  68849. return s
  68850. }
  68851. // SetPrefixListIds sets the PrefixListIds field's value.
  68852. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  68853. s.PrefixListIds = v
  68854. return s
  68855. }
  68856. // SetToPort sets the ToPort field's value.
  68857. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  68858. s.ToPort = &v
  68859. return s
  68860. }
  68861. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  68862. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  68863. s.UserIdGroupPairs = v
  68864. return s
  68865. }
  68866. // Describes an IPv4 range.
  68867. type IpRange struct {
  68868. _ struct{} `type:"structure"`
  68869. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  68870. // group, not both. To specify a single IPv4 address, use the /32 prefix length.
  68871. CidrIp *string `locationName:"cidrIp" type:"string"`
  68872. // A description for the security group rule that references this IPv4 address
  68873. // range.
  68874. //
  68875. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  68876. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  68877. Description *string `locationName:"description" type:"string"`
  68878. }
  68879. // String returns the string representation
  68880. func (s IpRange) String() string {
  68881. return awsutil.Prettify(s)
  68882. }
  68883. // GoString returns the string representation
  68884. func (s IpRange) GoString() string {
  68885. return s.String()
  68886. }
  68887. // SetCidrIp sets the CidrIp field's value.
  68888. func (s *IpRange) SetCidrIp(v string) *IpRange {
  68889. s.CidrIp = &v
  68890. return s
  68891. }
  68892. // SetDescription sets the Description field's value.
  68893. func (s *IpRange) SetDescription(v string) *IpRange {
  68894. s.Description = &v
  68895. return s
  68896. }
  68897. // Describes an IPv6 CIDR block.
  68898. type Ipv6CidrBlock struct {
  68899. _ struct{} `type:"structure"`
  68900. // The IPv6 CIDR block.
  68901. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  68902. }
  68903. // String returns the string representation
  68904. func (s Ipv6CidrBlock) String() string {
  68905. return awsutil.Prettify(s)
  68906. }
  68907. // GoString returns the string representation
  68908. func (s Ipv6CidrBlock) GoString() string {
  68909. return s.String()
  68910. }
  68911. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  68912. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  68913. s.Ipv6CidrBlock = &v
  68914. return s
  68915. }
  68916. // [EC2-VPC only] Describes an IPv6 range.
  68917. type Ipv6Range struct {
  68918. _ struct{} `type:"structure"`
  68919. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  68920. // group, not both. To specify a single IPv6 address, use the /128 prefix length.
  68921. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  68922. // A description for the security group rule that references this IPv6 address
  68923. // range.
  68924. //
  68925. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  68926. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  68927. Description *string `locationName:"description" type:"string"`
  68928. }
  68929. // String returns the string representation
  68930. func (s Ipv6Range) String() string {
  68931. return awsutil.Prettify(s)
  68932. }
  68933. // GoString returns the string representation
  68934. func (s Ipv6Range) GoString() string {
  68935. return s.String()
  68936. }
  68937. // SetCidrIpv6 sets the CidrIpv6 field's value.
  68938. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  68939. s.CidrIpv6 = &v
  68940. return s
  68941. }
  68942. // SetDescription sets the Description field's value.
  68943. func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
  68944. s.Description = &v
  68945. return s
  68946. }
  68947. // Describes a key pair.
  68948. type KeyPairInfo struct {
  68949. _ struct{} `type:"structure"`
  68950. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  68951. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  68952. // the public key, this is the MD5 public key fingerprint as specified in section
  68953. // 4 of RFC4716.
  68954. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  68955. // The name of the key pair.
  68956. KeyName *string `locationName:"keyName" type:"string"`
  68957. // The ID of the key pair.
  68958. KeyPairId *string `locationName:"keyPairId" type:"string"`
  68959. // Any tags applied to the key pair.
  68960. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  68961. }
  68962. // String returns the string representation
  68963. func (s KeyPairInfo) String() string {
  68964. return awsutil.Prettify(s)
  68965. }
  68966. // GoString returns the string representation
  68967. func (s KeyPairInfo) GoString() string {
  68968. return s.String()
  68969. }
  68970. // SetKeyFingerprint sets the KeyFingerprint field's value.
  68971. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  68972. s.KeyFingerprint = &v
  68973. return s
  68974. }
  68975. // SetKeyName sets the KeyName field's value.
  68976. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  68977. s.KeyName = &v
  68978. return s
  68979. }
  68980. // SetKeyPairId sets the KeyPairId field's value.
  68981. func (s *KeyPairInfo) SetKeyPairId(v string) *KeyPairInfo {
  68982. s.KeyPairId = &v
  68983. return s
  68984. }
  68985. // SetTags sets the Tags field's value.
  68986. func (s *KeyPairInfo) SetTags(v []*Tag) *KeyPairInfo {
  68987. s.Tags = v
  68988. return s
  68989. }
  68990. // The last error that occurred for a VPC endpoint.
  68991. type LastError struct {
  68992. _ struct{} `type:"structure"`
  68993. // The error code for the VPC endpoint error.
  68994. Code *string `locationName:"code" type:"string"`
  68995. // The error message for the VPC endpoint error.
  68996. Message *string `locationName:"message" type:"string"`
  68997. }
  68998. // String returns the string representation
  68999. func (s LastError) String() string {
  69000. return awsutil.Prettify(s)
  69001. }
  69002. // GoString returns the string representation
  69003. func (s LastError) GoString() string {
  69004. return s.String()
  69005. }
  69006. // SetCode sets the Code field's value.
  69007. func (s *LastError) SetCode(v string) *LastError {
  69008. s.Code = &v
  69009. return s
  69010. }
  69011. // SetMessage sets the Message field's value.
  69012. func (s *LastError) SetMessage(v string) *LastError {
  69013. s.Message = &v
  69014. return s
  69015. }
  69016. // Describes a launch permission.
  69017. type LaunchPermission struct {
  69018. _ struct{} `type:"structure"`
  69019. // The name of the group.
  69020. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  69021. // The AWS account ID.
  69022. UserId *string `locationName:"userId" type:"string"`
  69023. }
  69024. // String returns the string representation
  69025. func (s LaunchPermission) String() string {
  69026. return awsutil.Prettify(s)
  69027. }
  69028. // GoString returns the string representation
  69029. func (s LaunchPermission) GoString() string {
  69030. return s.String()
  69031. }
  69032. // SetGroup sets the Group field's value.
  69033. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  69034. s.Group = &v
  69035. return s
  69036. }
  69037. // SetUserId sets the UserId field's value.
  69038. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  69039. s.UserId = &v
  69040. return s
  69041. }
  69042. // Describes a launch permission modification.
  69043. type LaunchPermissionModifications struct {
  69044. _ struct{} `type:"structure"`
  69045. // The AWS account ID to add to the list of launch permissions for the AMI.
  69046. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  69047. // The AWS account ID to remove from the list of launch permissions for the
  69048. // AMI.
  69049. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  69050. }
  69051. // String returns the string representation
  69052. func (s LaunchPermissionModifications) String() string {
  69053. return awsutil.Prettify(s)
  69054. }
  69055. // GoString returns the string representation
  69056. func (s LaunchPermissionModifications) GoString() string {
  69057. return s.String()
  69058. }
  69059. // SetAdd sets the Add field's value.
  69060. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  69061. s.Add = v
  69062. return s
  69063. }
  69064. // SetRemove sets the Remove field's value.
  69065. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  69066. s.Remove = v
  69067. return s
  69068. }
  69069. // Describes the launch specification for an instance.
  69070. type LaunchSpecification struct {
  69071. _ struct{} `type:"structure"`
  69072. // Deprecated.
  69073. AddressingType *string `locationName:"addressingType" type:"string"`
  69074. // One or more block device mapping entries.
  69075. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  69076. // Indicates whether the instance is optimized for EBS I/O. This optimization
  69077. // provides dedicated throughput to Amazon EBS and an optimized configuration
  69078. // stack to provide optimal EBS I/O performance. This optimization isn't available
  69079. // with all instance types. Additional usage charges apply when using an EBS
  69080. // Optimized instance.
  69081. //
  69082. // Default: false
  69083. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  69084. // The IAM instance profile.
  69085. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  69086. // The ID of the AMI.
  69087. ImageId *string `locationName:"imageId" type:"string"`
  69088. // The instance type.
  69089. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  69090. // The ID of the kernel.
  69091. KernelId *string `locationName:"kernelId" type:"string"`
  69092. // The name of the key pair.
  69093. KeyName *string `locationName:"keyName" type:"string"`
  69094. // Describes the monitoring of an instance.
  69095. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  69096. // One or more network interfaces. If you specify a network interface, you must
  69097. // specify subnet IDs and security group IDs using the network interface.
  69098. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  69099. // The placement information for the instance.
  69100. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  69101. // The ID of the RAM disk.
  69102. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  69103. // One or more security groups. When requesting instances in a VPC, you must
  69104. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  69105. // you can specify the names or the IDs of the security groups.
  69106. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  69107. // The ID of the subnet in which to launch the instance.
  69108. SubnetId *string `locationName:"subnetId" type:"string"`
  69109. // The Base64-encoded user data for the instance.
  69110. UserData *string `locationName:"userData" type:"string"`
  69111. }
  69112. // String returns the string representation
  69113. func (s LaunchSpecification) String() string {
  69114. return awsutil.Prettify(s)
  69115. }
  69116. // GoString returns the string representation
  69117. func (s LaunchSpecification) GoString() string {
  69118. return s.String()
  69119. }
  69120. // SetAddressingType sets the AddressingType field's value.
  69121. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  69122. s.AddressingType = &v
  69123. return s
  69124. }
  69125. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  69126. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  69127. s.BlockDeviceMappings = v
  69128. return s
  69129. }
  69130. // SetEbsOptimized sets the EbsOptimized field's value.
  69131. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  69132. s.EbsOptimized = &v
  69133. return s
  69134. }
  69135. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  69136. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  69137. s.IamInstanceProfile = v
  69138. return s
  69139. }
  69140. // SetImageId sets the ImageId field's value.
  69141. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  69142. s.ImageId = &v
  69143. return s
  69144. }
  69145. // SetInstanceType sets the InstanceType field's value.
  69146. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  69147. s.InstanceType = &v
  69148. return s
  69149. }
  69150. // SetKernelId sets the KernelId field's value.
  69151. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  69152. s.KernelId = &v
  69153. return s
  69154. }
  69155. // SetKeyName sets the KeyName field's value.
  69156. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  69157. s.KeyName = &v
  69158. return s
  69159. }
  69160. // SetMonitoring sets the Monitoring field's value.
  69161. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  69162. s.Monitoring = v
  69163. return s
  69164. }
  69165. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  69166. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  69167. s.NetworkInterfaces = v
  69168. return s
  69169. }
  69170. // SetPlacement sets the Placement field's value.
  69171. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  69172. s.Placement = v
  69173. return s
  69174. }
  69175. // SetRamdiskId sets the RamdiskId field's value.
  69176. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  69177. s.RamdiskId = &v
  69178. return s
  69179. }
  69180. // SetSecurityGroups sets the SecurityGroups field's value.
  69181. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  69182. s.SecurityGroups = v
  69183. return s
  69184. }
  69185. // SetSubnetId sets the SubnetId field's value.
  69186. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  69187. s.SubnetId = &v
  69188. return s
  69189. }
  69190. // SetUserData sets the UserData field's value.
  69191. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  69192. s.UserData = &v
  69193. return s
  69194. }
  69195. // Describes a launch template.
  69196. type LaunchTemplate struct {
  69197. _ struct{} `type:"structure"`
  69198. // The time launch template was created.
  69199. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  69200. // The principal that created the launch template.
  69201. CreatedBy *string `locationName:"createdBy" type:"string"`
  69202. // The version number of the default version of the launch template.
  69203. DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
  69204. // The version number of the latest version of the launch template.
  69205. LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
  69206. // The ID of the launch template.
  69207. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  69208. // The name of the launch template.
  69209. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  69210. // The tags for the launch template.
  69211. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  69212. }
  69213. // String returns the string representation
  69214. func (s LaunchTemplate) String() string {
  69215. return awsutil.Prettify(s)
  69216. }
  69217. // GoString returns the string representation
  69218. func (s LaunchTemplate) GoString() string {
  69219. return s.String()
  69220. }
  69221. // SetCreateTime sets the CreateTime field's value.
  69222. func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
  69223. s.CreateTime = &v
  69224. return s
  69225. }
  69226. // SetCreatedBy sets the CreatedBy field's value.
  69227. func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
  69228. s.CreatedBy = &v
  69229. return s
  69230. }
  69231. // SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
  69232. func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
  69233. s.DefaultVersionNumber = &v
  69234. return s
  69235. }
  69236. // SetLatestVersionNumber sets the LatestVersionNumber field's value.
  69237. func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
  69238. s.LatestVersionNumber = &v
  69239. return s
  69240. }
  69241. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  69242. func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
  69243. s.LaunchTemplateId = &v
  69244. return s
  69245. }
  69246. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  69247. func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
  69248. s.LaunchTemplateName = &v
  69249. return s
  69250. }
  69251. // SetTags sets the Tags field's value.
  69252. func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
  69253. s.Tags = v
  69254. return s
  69255. }
  69256. // Describes a launch template and overrides.
  69257. type LaunchTemplateAndOverridesResponse struct {
  69258. _ struct{} `type:"structure"`
  69259. // The launch template.
  69260. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  69261. // Any parameters that you specify override the same parameters in the launch
  69262. // template.
  69263. Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
  69264. }
  69265. // String returns the string representation
  69266. func (s LaunchTemplateAndOverridesResponse) String() string {
  69267. return awsutil.Prettify(s)
  69268. }
  69269. // GoString returns the string representation
  69270. func (s LaunchTemplateAndOverridesResponse) GoString() string {
  69271. return s.String()
  69272. }
  69273. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  69274. func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
  69275. s.LaunchTemplateSpecification = v
  69276. return s
  69277. }
  69278. // SetOverrides sets the Overrides field's value.
  69279. func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
  69280. s.Overrides = v
  69281. return s
  69282. }
  69283. // Describes a block device mapping.
  69284. type LaunchTemplateBlockDeviceMapping struct {
  69285. _ struct{} `type:"structure"`
  69286. // The device name.
  69287. DeviceName *string `locationName:"deviceName" type:"string"`
  69288. // Information about the block device for an EBS volume.
  69289. Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
  69290. // Suppresses the specified device included in the block device mapping of the
  69291. // AMI.
  69292. NoDevice *string `locationName:"noDevice" type:"string"`
  69293. // The virtual device name (ephemeralN).
  69294. VirtualName *string `locationName:"virtualName" type:"string"`
  69295. }
  69296. // String returns the string representation
  69297. func (s LaunchTemplateBlockDeviceMapping) String() string {
  69298. return awsutil.Prettify(s)
  69299. }
  69300. // GoString returns the string representation
  69301. func (s LaunchTemplateBlockDeviceMapping) GoString() string {
  69302. return s.String()
  69303. }
  69304. // SetDeviceName sets the DeviceName field's value.
  69305. func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
  69306. s.DeviceName = &v
  69307. return s
  69308. }
  69309. // SetEbs sets the Ebs field's value.
  69310. func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
  69311. s.Ebs = v
  69312. return s
  69313. }
  69314. // SetNoDevice sets the NoDevice field's value.
  69315. func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
  69316. s.NoDevice = &v
  69317. return s
  69318. }
  69319. // SetVirtualName sets the VirtualName field's value.
  69320. func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
  69321. s.VirtualName = &v
  69322. return s
  69323. }
  69324. // Describes a block device mapping.
  69325. type LaunchTemplateBlockDeviceMappingRequest struct {
  69326. _ struct{} `type:"structure"`
  69327. // The device name (for example, /dev/sdh or xvdh).
  69328. DeviceName *string `type:"string"`
  69329. // Parameters used to automatically set up EBS volumes when the instance is
  69330. // launched.
  69331. Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
  69332. // Suppresses the specified device included in the block device mapping of the
  69333. // AMI.
  69334. NoDevice *string `type:"string"`
  69335. // The virtual device name (ephemeralN). Instance store volumes are numbered
  69336. // starting from 0. An instance type with 2 available instance store volumes
  69337. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  69338. // instance store volumes depends on the instance type. After you connect to
  69339. // the instance, you must mount the volume.
  69340. VirtualName *string `type:"string"`
  69341. }
  69342. // String returns the string representation
  69343. func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
  69344. return awsutil.Prettify(s)
  69345. }
  69346. // GoString returns the string representation
  69347. func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
  69348. return s.String()
  69349. }
  69350. // SetDeviceName sets the DeviceName field's value.
  69351. func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  69352. s.DeviceName = &v
  69353. return s
  69354. }
  69355. // SetEbs sets the Ebs field's value.
  69356. func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
  69357. s.Ebs = v
  69358. return s
  69359. }
  69360. // SetNoDevice sets the NoDevice field's value.
  69361. func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
  69362. s.NoDevice = &v
  69363. return s
  69364. }
  69365. // SetVirtualName sets the VirtualName field's value.
  69366. func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  69367. s.VirtualName = &v
  69368. return s
  69369. }
  69370. // Describes an instance's Capacity Reservation targeting option. You can specify
  69371. // only one option at a time. Use the CapacityReservationPreference parameter
  69372. // to configure the instance to run in On-Demand capacity or to run in any open
  69373. // Capacity Reservation that has matching attributes (instance type, platform,
  69374. // Availability Zone). Use the CapacityReservationTarget parameter to explicitly
  69375. // target a specific Capacity Reservation.
  69376. type LaunchTemplateCapacityReservationSpecificationRequest struct {
  69377. _ struct{} `type:"structure"`
  69378. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  69379. // include:
  69380. //
  69381. // * open - The instance can run in any open Capacity Reservation that has
  69382. // matching attributes (instance type, platform, Availability Zone).
  69383. //
  69384. // * none - The instance avoids running in a Capacity Reservation even if
  69385. // one is available. The instance runs in On-Demand capacity.
  69386. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
  69387. // Information about the target Capacity Reservation.
  69388. CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
  69389. }
  69390. // String returns the string representation
  69391. func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
  69392. return awsutil.Prettify(s)
  69393. }
  69394. // GoString returns the string representation
  69395. func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
  69396. return s.String()
  69397. }
  69398. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  69399. func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
  69400. s.CapacityReservationPreference = &v
  69401. return s
  69402. }
  69403. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  69404. func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
  69405. s.CapacityReservationTarget = v
  69406. return s
  69407. }
  69408. // Information about the Capacity Reservation targeting option.
  69409. type LaunchTemplateCapacityReservationSpecificationResponse struct {
  69410. _ struct{} `type:"structure"`
  69411. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  69412. // include:
  69413. //
  69414. // * open - The instance can run in any open Capacity Reservation that has
  69415. // matching attributes (instance type, platform, Availability Zone).
  69416. //
  69417. // * none - The instance avoids running in a Capacity Reservation even if
  69418. // one is available. The instance runs in On-Demand capacity.
  69419. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
  69420. // Information about the target Capacity Reservation.
  69421. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
  69422. }
  69423. // String returns the string representation
  69424. func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
  69425. return awsutil.Prettify(s)
  69426. }
  69427. // GoString returns the string representation
  69428. func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
  69429. return s.String()
  69430. }
  69431. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  69432. func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
  69433. s.CapacityReservationPreference = &v
  69434. return s
  69435. }
  69436. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  69437. func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
  69438. s.CapacityReservationTarget = v
  69439. return s
  69440. }
  69441. // Describes a launch template and overrides.
  69442. type LaunchTemplateConfig struct {
  69443. _ struct{} `type:"structure"`
  69444. // The launch template.
  69445. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  69446. // Any parameters that you specify override the same parameters in the launch
  69447. // template.
  69448. Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  69449. }
  69450. // String returns the string representation
  69451. func (s LaunchTemplateConfig) String() string {
  69452. return awsutil.Prettify(s)
  69453. }
  69454. // GoString returns the string representation
  69455. func (s LaunchTemplateConfig) GoString() string {
  69456. return s.String()
  69457. }
  69458. // Validate inspects the fields of the type to determine if they are valid.
  69459. func (s *LaunchTemplateConfig) Validate() error {
  69460. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
  69461. if s.LaunchTemplateSpecification != nil {
  69462. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  69463. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  69464. }
  69465. }
  69466. if invalidParams.Len() > 0 {
  69467. return invalidParams
  69468. }
  69469. return nil
  69470. }
  69471. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  69472. func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
  69473. s.LaunchTemplateSpecification = v
  69474. return s
  69475. }
  69476. // SetOverrides sets the Overrides field's value.
  69477. func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
  69478. s.Overrides = v
  69479. return s
  69480. }
  69481. // The CPU options for the instance.
  69482. type LaunchTemplateCpuOptions struct {
  69483. _ struct{} `type:"structure"`
  69484. // The number of CPU cores for the instance.
  69485. CoreCount *int64 `locationName:"coreCount" type:"integer"`
  69486. // The number of threads per CPU core.
  69487. ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
  69488. }
  69489. // String returns the string representation
  69490. func (s LaunchTemplateCpuOptions) String() string {
  69491. return awsutil.Prettify(s)
  69492. }
  69493. // GoString returns the string representation
  69494. func (s LaunchTemplateCpuOptions) GoString() string {
  69495. return s.String()
  69496. }
  69497. // SetCoreCount sets the CoreCount field's value.
  69498. func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
  69499. s.CoreCount = &v
  69500. return s
  69501. }
  69502. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  69503. func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
  69504. s.ThreadsPerCore = &v
  69505. return s
  69506. }
  69507. // The CPU options for the instance. Both the core count and threads per core
  69508. // must be specified in the request.
  69509. type LaunchTemplateCpuOptionsRequest struct {
  69510. _ struct{} `type:"structure"`
  69511. // The number of CPU cores for the instance.
  69512. CoreCount *int64 `type:"integer"`
  69513. // The number of threads per CPU core. To disable multithreading for the instance,
  69514. // specify a value of 1. Otherwise, specify the default value of 2.
  69515. ThreadsPerCore *int64 `type:"integer"`
  69516. }
  69517. // String returns the string representation
  69518. func (s LaunchTemplateCpuOptionsRequest) String() string {
  69519. return awsutil.Prettify(s)
  69520. }
  69521. // GoString returns the string representation
  69522. func (s LaunchTemplateCpuOptionsRequest) GoString() string {
  69523. return s.String()
  69524. }
  69525. // SetCoreCount sets the CoreCount field's value.
  69526. func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
  69527. s.CoreCount = &v
  69528. return s
  69529. }
  69530. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  69531. func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
  69532. s.ThreadsPerCore = &v
  69533. return s
  69534. }
  69535. // Describes a block device for an EBS volume.
  69536. type LaunchTemplateEbsBlockDevice struct {
  69537. _ struct{} `type:"structure"`
  69538. // Indicates whether the EBS volume is deleted on instance termination.
  69539. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  69540. // Indicates whether the EBS volume is encrypted.
  69541. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  69542. // The number of I/O operations per second (IOPS) that the volume supports.
  69543. Iops *int64 `locationName:"iops" type:"integer"`
  69544. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  69545. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  69546. // The ID of the snapshot.
  69547. SnapshotId *string `locationName:"snapshotId" type:"string"`
  69548. // The size of the volume, in GiB.
  69549. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  69550. // The volume type.
  69551. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  69552. }
  69553. // String returns the string representation
  69554. func (s LaunchTemplateEbsBlockDevice) String() string {
  69555. return awsutil.Prettify(s)
  69556. }
  69557. // GoString returns the string representation
  69558. func (s LaunchTemplateEbsBlockDevice) GoString() string {
  69559. return s.String()
  69560. }
  69561. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  69562. func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
  69563. s.DeleteOnTermination = &v
  69564. return s
  69565. }
  69566. // SetEncrypted sets the Encrypted field's value.
  69567. func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
  69568. s.Encrypted = &v
  69569. return s
  69570. }
  69571. // SetIops sets the Iops field's value.
  69572. func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
  69573. s.Iops = &v
  69574. return s
  69575. }
  69576. // SetKmsKeyId sets the KmsKeyId field's value.
  69577. func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
  69578. s.KmsKeyId = &v
  69579. return s
  69580. }
  69581. // SetSnapshotId sets the SnapshotId field's value.
  69582. func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
  69583. s.SnapshotId = &v
  69584. return s
  69585. }
  69586. // SetVolumeSize sets the VolumeSize field's value.
  69587. func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
  69588. s.VolumeSize = &v
  69589. return s
  69590. }
  69591. // SetVolumeType sets the VolumeType field's value.
  69592. func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
  69593. s.VolumeType = &v
  69594. return s
  69595. }
  69596. // The parameters for a block device for an EBS volume.
  69597. type LaunchTemplateEbsBlockDeviceRequest struct {
  69598. _ struct{} `type:"structure"`
  69599. // Indicates whether the EBS volume is deleted on instance termination.
  69600. DeleteOnTermination *bool `type:"boolean"`
  69601. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  69602. // be attached to instances that support Amazon EBS encryption. If you are creating
  69603. // a volume from a snapshot, you can't specify an encryption value.
  69604. Encrypted *bool `type:"boolean"`
  69605. // The number of I/O operations per second (IOPS) that the volume supports.
  69606. // For io1, this represents the number of IOPS that are provisioned for the
  69607. // volume. For gp2, this represents the baseline performance of the volume and
  69608. // the rate at which the volume accumulates I/O credits for bursting. For more
  69609. // information about General Purpose SSD baseline performance, I/O credits,
  69610. // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  69611. // in the Amazon Elastic Compute Cloud User Guide.
  69612. //
  69613. // Condition: This parameter is required for requests to create io1 volumes;
  69614. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  69615. Iops *int64 `type:"integer"`
  69616. // The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for
  69617. // encryption.
  69618. KmsKeyId *string `type:"string"`
  69619. // The ID of the snapshot.
  69620. SnapshotId *string `type:"string"`
  69621. // The size of the volume, in GiB.
  69622. //
  69623. // Default: If you're creating the volume from a snapshot and don't specify
  69624. // a volume size, the default is the snapshot size.
  69625. VolumeSize *int64 `type:"integer"`
  69626. // The volume type.
  69627. VolumeType *string `type:"string" enum:"VolumeType"`
  69628. }
  69629. // String returns the string representation
  69630. func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
  69631. return awsutil.Prettify(s)
  69632. }
  69633. // GoString returns the string representation
  69634. func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
  69635. return s.String()
  69636. }
  69637. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  69638. func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  69639. s.DeleteOnTermination = &v
  69640. return s
  69641. }
  69642. // SetEncrypted sets the Encrypted field's value.
  69643. func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  69644. s.Encrypted = &v
  69645. return s
  69646. }
  69647. // SetIops sets the Iops field's value.
  69648. func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  69649. s.Iops = &v
  69650. return s
  69651. }
  69652. // SetKmsKeyId sets the KmsKeyId field's value.
  69653. func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  69654. s.KmsKeyId = &v
  69655. return s
  69656. }
  69657. // SetSnapshotId sets the SnapshotId field's value.
  69658. func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  69659. s.SnapshotId = &v
  69660. return s
  69661. }
  69662. // SetVolumeSize sets the VolumeSize field's value.
  69663. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  69664. s.VolumeSize = &v
  69665. return s
  69666. }
  69667. // SetVolumeType sets the VolumeType field's value.
  69668. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
  69669. s.VolumeType = &v
  69670. return s
  69671. }
  69672. // Describes an elastic inference accelerator.
  69673. type LaunchTemplateElasticInferenceAccelerator struct {
  69674. _ struct{} `type:"structure"`
  69675. // The number of elastic inference accelerators to attach to the instance.
  69676. //
  69677. // Default: 1
  69678. Count *int64 `min:"1" type:"integer"`
  69679. // The type of elastic inference accelerator. The possible values are eia1.medium,
  69680. // eia1.large, and eia1.xlarge.
  69681. //
  69682. // Type is a required field
  69683. Type *string `type:"string" required:"true"`
  69684. }
  69685. // String returns the string representation
  69686. func (s LaunchTemplateElasticInferenceAccelerator) String() string {
  69687. return awsutil.Prettify(s)
  69688. }
  69689. // GoString returns the string representation
  69690. func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
  69691. return s.String()
  69692. }
  69693. // Validate inspects the fields of the type to determine if they are valid.
  69694. func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
  69695. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
  69696. if s.Count != nil && *s.Count < 1 {
  69697. invalidParams.Add(request.NewErrParamMinValue("Count", 1))
  69698. }
  69699. if s.Type == nil {
  69700. invalidParams.Add(request.NewErrParamRequired("Type"))
  69701. }
  69702. if invalidParams.Len() > 0 {
  69703. return invalidParams
  69704. }
  69705. return nil
  69706. }
  69707. // SetCount sets the Count field's value.
  69708. func (s *LaunchTemplateElasticInferenceAccelerator) SetCount(v int64) *LaunchTemplateElasticInferenceAccelerator {
  69709. s.Count = &v
  69710. return s
  69711. }
  69712. // SetType sets the Type field's value.
  69713. func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
  69714. s.Type = &v
  69715. return s
  69716. }
  69717. // Describes an elastic inference accelerator.
  69718. type LaunchTemplateElasticInferenceAcceleratorResponse struct {
  69719. _ struct{} `type:"structure"`
  69720. // The number of elastic inference accelerators to attach to the instance.
  69721. //
  69722. // Default: 1
  69723. Count *int64 `locationName:"count" type:"integer"`
  69724. // The type of elastic inference accelerator. The possible values are eia1.medium,
  69725. // eia1.large, and eia1.xlarge.
  69726. Type *string `locationName:"type" type:"string"`
  69727. }
  69728. // String returns the string representation
  69729. func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
  69730. return awsutil.Prettify(s)
  69731. }
  69732. // GoString returns the string representation
  69733. func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
  69734. return s.String()
  69735. }
  69736. // SetCount sets the Count field's value.
  69737. func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetCount(v int64) *LaunchTemplateElasticInferenceAcceleratorResponse {
  69738. s.Count = &v
  69739. return s
  69740. }
  69741. // SetType sets the Type field's value.
  69742. func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
  69743. s.Type = &v
  69744. return s
  69745. }
  69746. // Indicates whether an instance is configured for hibernation.
  69747. type LaunchTemplateHibernationOptions struct {
  69748. _ struct{} `type:"structure"`
  69749. // If this parameter is set to true, the instance is enabled for hibernation;
  69750. // otherwise, it is not enabled for hibernation.
  69751. Configured *bool `locationName:"configured" type:"boolean"`
  69752. }
  69753. // String returns the string representation
  69754. func (s LaunchTemplateHibernationOptions) String() string {
  69755. return awsutil.Prettify(s)
  69756. }
  69757. // GoString returns the string representation
  69758. func (s LaunchTemplateHibernationOptions) GoString() string {
  69759. return s.String()
  69760. }
  69761. // SetConfigured sets the Configured field's value.
  69762. func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
  69763. s.Configured = &v
  69764. return s
  69765. }
  69766. // Indicates whether the instance is configured for hibernation. This parameter
  69767. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  69768. type LaunchTemplateHibernationOptionsRequest struct {
  69769. _ struct{} `type:"structure"`
  69770. // If you set this parameter to true, the instance is enabled for hibernation.
  69771. //
  69772. // Default: false
  69773. Configured *bool `type:"boolean"`
  69774. }
  69775. // String returns the string representation
  69776. func (s LaunchTemplateHibernationOptionsRequest) String() string {
  69777. return awsutil.Prettify(s)
  69778. }
  69779. // GoString returns the string representation
  69780. func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
  69781. return s.String()
  69782. }
  69783. // SetConfigured sets the Configured field's value.
  69784. func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
  69785. s.Configured = &v
  69786. return s
  69787. }
  69788. // Describes an IAM instance profile.
  69789. type LaunchTemplateIamInstanceProfileSpecification struct {
  69790. _ struct{} `type:"structure"`
  69791. // The Amazon Resource Name (ARN) of the instance profile.
  69792. Arn *string `locationName:"arn" type:"string"`
  69793. // The name of the instance profile.
  69794. Name *string `locationName:"name" type:"string"`
  69795. }
  69796. // String returns the string representation
  69797. func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
  69798. return awsutil.Prettify(s)
  69799. }
  69800. // GoString returns the string representation
  69801. func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
  69802. return s.String()
  69803. }
  69804. // SetArn sets the Arn field's value.
  69805. func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
  69806. s.Arn = &v
  69807. return s
  69808. }
  69809. // SetName sets the Name field's value.
  69810. func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
  69811. s.Name = &v
  69812. return s
  69813. }
  69814. // An IAM instance profile.
  69815. type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
  69816. _ struct{} `type:"structure"`
  69817. // The Amazon Resource Name (ARN) of the instance profile.
  69818. Arn *string `type:"string"`
  69819. // The name of the instance profile.
  69820. Name *string `type:"string"`
  69821. }
  69822. // String returns the string representation
  69823. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
  69824. return awsutil.Prettify(s)
  69825. }
  69826. // GoString returns the string representation
  69827. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
  69828. return s.String()
  69829. }
  69830. // SetArn sets the Arn field's value.
  69831. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  69832. s.Arn = &v
  69833. return s
  69834. }
  69835. // SetName sets the Name field's value.
  69836. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  69837. s.Name = &v
  69838. return s
  69839. }
  69840. // The market (purchasing) option for the instances.
  69841. type LaunchTemplateInstanceMarketOptions struct {
  69842. _ struct{} `type:"structure"`
  69843. // The market type.
  69844. MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
  69845. // The options for Spot Instances.
  69846. SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
  69847. }
  69848. // String returns the string representation
  69849. func (s LaunchTemplateInstanceMarketOptions) String() string {
  69850. return awsutil.Prettify(s)
  69851. }
  69852. // GoString returns the string representation
  69853. func (s LaunchTemplateInstanceMarketOptions) GoString() string {
  69854. return s.String()
  69855. }
  69856. // SetMarketType sets the MarketType field's value.
  69857. func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
  69858. s.MarketType = &v
  69859. return s
  69860. }
  69861. // SetSpotOptions sets the SpotOptions field's value.
  69862. func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
  69863. s.SpotOptions = v
  69864. return s
  69865. }
  69866. // The market (purchasing) option for the instances.
  69867. type LaunchTemplateInstanceMarketOptionsRequest struct {
  69868. _ struct{} `type:"structure"`
  69869. // The market type.
  69870. MarketType *string `type:"string" enum:"MarketType"`
  69871. // The options for Spot Instances.
  69872. SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
  69873. }
  69874. // String returns the string representation
  69875. func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
  69876. return awsutil.Prettify(s)
  69877. }
  69878. // GoString returns the string representation
  69879. func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
  69880. return s.String()
  69881. }
  69882. // SetMarketType sets the MarketType field's value.
  69883. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
  69884. s.MarketType = &v
  69885. return s
  69886. }
  69887. // SetSpotOptions sets the SpotOptions field's value.
  69888. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
  69889. s.SpotOptions = v
  69890. return s
  69891. }
  69892. // The metadata options for the instance. For more information, see Instance
  69893. // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  69894. // in the Amazon Elastic Compute Cloud User Guide.
  69895. type LaunchTemplateInstanceMetadataOptions struct {
  69896. _ struct{} `type:"structure"`
  69897. // This parameter enables or disables the HTTP metadata endpoint on your instances.
  69898. // If the parameter is not specified, the default state is enabled.
  69899. //
  69900. // If you specify a value of disabled, you will not be able to access your instance
  69901. // metadata.
  69902. HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
  69903. // The desired HTTP PUT response hop limit for instance metadata requests. The
  69904. // larger the number, the further instance metadata requests can travel.
  69905. //
  69906. // Default: 1
  69907. //
  69908. // Possible values: Integers from 1 to 64
  69909. HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
  69910. // The state of token usage for your instance metadata requests. If the parameter
  69911. // is not specified in the request, the default state is optional.
  69912. //
  69913. // If the state is optional, you can choose to retrieve instance metadata with
  69914. // or without a signed token header on your request. If you retrieve the IAM
  69915. // role credentials without a token, the version 1.0 role credentials are returned.
  69916. // If you retrieve the IAM role credentials using a valid signed token, the
  69917. // version 2.0 role credentials are returned.
  69918. //
  69919. // If the state is required, you must send a signed token header with any instance
  69920. // metadata retrieval requests. In this state, retrieving the IAM role credentials
  69921. // always returns the version 2.0 credentials; the version 1.0 credentials are
  69922. // not available.
  69923. HttpTokens *string `locationName:"httpTokens" type:"string" enum:"LaunchTemplateHttpTokensState"`
  69924. // The state of the metadata option changes.
  69925. //
  69926. // pending - The metadata options are being updated and the instance is not
  69927. // ready to process metadata traffic with the new selection.
  69928. //
  69929. // applied - The metadata options have been successfully applied on the instance.
  69930. State *string `locationName:"state" type:"string" enum:"LaunchTemplateInstanceMetadataOptionsState"`
  69931. }
  69932. // String returns the string representation
  69933. func (s LaunchTemplateInstanceMetadataOptions) String() string {
  69934. return awsutil.Prettify(s)
  69935. }
  69936. // GoString returns the string representation
  69937. func (s LaunchTemplateInstanceMetadataOptions) GoString() string {
  69938. return s.String()
  69939. }
  69940. // SetHttpEndpoint sets the HttpEndpoint field's value.
  69941. func (s *LaunchTemplateInstanceMetadataOptions) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptions {
  69942. s.HttpEndpoint = &v
  69943. return s
  69944. }
  69945. // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
  69946. func (s *LaunchTemplateInstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptions {
  69947. s.HttpPutResponseHopLimit = &v
  69948. return s
  69949. }
  69950. // SetHttpTokens sets the HttpTokens field's value.
  69951. func (s *LaunchTemplateInstanceMetadataOptions) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptions {
  69952. s.HttpTokens = &v
  69953. return s
  69954. }
  69955. // SetState sets the State field's value.
  69956. func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTemplateInstanceMetadataOptions {
  69957. s.State = &v
  69958. return s
  69959. }
  69960. // The metadata options for the instance. For more information, see Instance
  69961. // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  69962. // in the Amazon Elastic Compute Cloud User Guide.
  69963. type LaunchTemplateInstanceMetadataOptionsRequest struct {
  69964. _ struct{} `type:"structure"`
  69965. // This parameter enables or disables the HTTP metadata endpoint on your instances.
  69966. // If the parameter is not specified, the default state is enabled.
  69967. //
  69968. // If you specify a value of disabled, you will not be able to access your instance
  69969. // metadata.
  69970. HttpEndpoint *string `type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
  69971. // The desired HTTP PUT response hop limit for instance metadata requests. The
  69972. // larger the number, the further instance metadata requests can travel.
  69973. //
  69974. // Default: 1
  69975. //
  69976. // Possible values: Integers from 1 to 64
  69977. HttpPutResponseHopLimit *int64 `type:"integer"`
  69978. // The state of token usage for your instance metadata requests. If the parameter
  69979. // is not specified in the request, the default state is optional.
  69980. //
  69981. // If the state is optional, you can choose to retrieve instance metadata with
  69982. // or without a signed token header on your request. If you retrieve the IAM
  69983. // role credentials without a token, the version 1.0 role credentials are returned.
  69984. // If you retrieve the IAM role credentials using a valid signed token, the
  69985. // version 2.0 role credentials are returned.
  69986. //
  69987. // If the state is required, you must send a signed token header with any instance
  69988. // metadata retrieval requests. In this state, retrieving the IAM role credentials
  69989. // always returns the version 2.0 credentials; the version 1.0 credentials are
  69990. // not available.
  69991. HttpTokens *string `type:"string" enum:"LaunchTemplateHttpTokensState"`
  69992. }
  69993. // String returns the string representation
  69994. func (s LaunchTemplateInstanceMetadataOptionsRequest) String() string {
  69995. return awsutil.Prettify(s)
  69996. }
  69997. // GoString returns the string representation
  69998. func (s LaunchTemplateInstanceMetadataOptionsRequest) GoString() string {
  69999. return s.String()
  70000. }
  70001. // SetHttpEndpoint sets the HttpEndpoint field's value.
  70002. func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
  70003. s.HttpEndpoint = &v
  70004. return s
  70005. }
  70006. // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
  70007. func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptionsRequest {
  70008. s.HttpPutResponseHopLimit = &v
  70009. return s
  70010. }
  70011. // SetHttpTokens sets the HttpTokens field's value.
  70012. func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
  70013. s.HttpTokens = &v
  70014. return s
  70015. }
  70016. // Describes a network interface.
  70017. type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
  70018. _ struct{} `type:"structure"`
  70019. // Indicates whether to associate a public IPv4 address with eth0 for a new
  70020. // network interface.
  70021. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  70022. // Indicates whether the network interface is deleted when the instance is terminated.
  70023. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  70024. // A description for the network interface.
  70025. Description *string `locationName:"description" type:"string"`
  70026. // The device index for the network interface attachment.
  70027. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  70028. // The IDs of one or more security groups.
  70029. Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
  70030. // The type of network interface.
  70031. InterfaceType *string `locationName:"interfaceType" type:"string"`
  70032. // The number of IPv6 addresses for the network interface.
  70033. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  70034. // The IPv6 addresses for the network interface.
  70035. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  70036. // The ID of the network interface.
  70037. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  70038. // The primary private IPv4 address of the network interface.
  70039. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  70040. // One or more private IPv4 addresses.
  70041. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  70042. // The number of secondary private IPv4 addresses for the network interface.
  70043. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  70044. // The ID of the subnet for the network interface.
  70045. SubnetId *string `locationName:"subnetId" type:"string"`
  70046. }
  70047. // String returns the string representation
  70048. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
  70049. return awsutil.Prettify(s)
  70050. }
  70051. // GoString returns the string representation
  70052. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
  70053. return s.String()
  70054. }
  70055. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  70056. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70057. s.AssociatePublicIpAddress = &v
  70058. return s
  70059. }
  70060. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  70061. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70062. s.DeleteOnTermination = &v
  70063. return s
  70064. }
  70065. // SetDescription sets the Description field's value.
  70066. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70067. s.Description = &v
  70068. return s
  70069. }
  70070. // SetDeviceIndex sets the DeviceIndex field's value.
  70071. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70072. s.DeviceIndex = &v
  70073. return s
  70074. }
  70075. // SetGroups sets the Groups field's value.
  70076. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70077. s.Groups = v
  70078. return s
  70079. }
  70080. // SetInterfaceType sets the InterfaceType field's value.
  70081. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70082. s.InterfaceType = &v
  70083. return s
  70084. }
  70085. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  70086. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70087. s.Ipv6AddressCount = &v
  70088. return s
  70089. }
  70090. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  70091. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70092. s.Ipv6Addresses = v
  70093. return s
  70094. }
  70095. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  70096. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70097. s.NetworkInterfaceId = &v
  70098. return s
  70099. }
  70100. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  70101. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70102. s.PrivateIpAddress = &v
  70103. return s
  70104. }
  70105. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  70106. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70107. s.PrivateIpAddresses = v
  70108. return s
  70109. }
  70110. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  70111. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70112. s.SecondaryPrivateIpAddressCount = &v
  70113. return s
  70114. }
  70115. // SetSubnetId sets the SubnetId field's value.
  70116. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  70117. s.SubnetId = &v
  70118. return s
  70119. }
  70120. // The parameters for a network interface.
  70121. type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
  70122. _ struct{} `type:"structure"`
  70123. // Associates a public IPv4 address with eth0 for a new network interface.
  70124. AssociatePublicIpAddress *bool `type:"boolean"`
  70125. // Indicates whether the network interface is deleted when the instance is terminated.
  70126. DeleteOnTermination *bool `type:"boolean"`
  70127. // A description for the network interface.
  70128. Description *string `type:"string"`
  70129. // The device index for the network interface attachment.
  70130. DeviceIndex *int64 `type:"integer"`
  70131. // The IDs of one or more security groups.
  70132. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  70133. // The type of network interface. To create an Elastic Fabric Adapter (EFA),
  70134. // specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
  70135. // in the Amazon Elastic Compute Cloud User Guide.
  70136. //
  70137. // If you are not creating an EFA, specify interface or omit this parameter.
  70138. //
  70139. // Valid values: interface | efa
  70140. InterfaceType *string `type:"string"`
  70141. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  70142. // automatically selects the IPv6 addresses from the subnet range. You can't
  70143. // use this option if specifying specific IPv6 addresses.
  70144. Ipv6AddressCount *int64 `type:"integer"`
  70145. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  70146. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  70147. Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
  70148. // The ID of the network interface.
  70149. NetworkInterfaceId *string `type:"string"`
  70150. // The primary private IPv4 address of the network interface.
  70151. PrivateIpAddress *string `type:"string"`
  70152. // One or more private IPv4 addresses.
  70153. PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
  70154. // The number of secondary private IPv4 addresses to assign to a network interface.
  70155. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  70156. // The ID of the subnet for the network interface.
  70157. SubnetId *string `type:"string"`
  70158. }
  70159. // String returns the string representation
  70160. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
  70161. return awsutil.Prettify(s)
  70162. }
  70163. // GoString returns the string representation
  70164. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
  70165. return s.String()
  70166. }
  70167. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  70168. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70169. s.AssociatePublicIpAddress = &v
  70170. return s
  70171. }
  70172. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  70173. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70174. s.DeleteOnTermination = &v
  70175. return s
  70176. }
  70177. // SetDescription sets the Description field's value.
  70178. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70179. s.Description = &v
  70180. return s
  70181. }
  70182. // SetDeviceIndex sets the DeviceIndex field's value.
  70183. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70184. s.DeviceIndex = &v
  70185. return s
  70186. }
  70187. // SetGroups sets the Groups field's value.
  70188. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70189. s.Groups = v
  70190. return s
  70191. }
  70192. // SetInterfaceType sets the InterfaceType field's value.
  70193. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70194. s.InterfaceType = &v
  70195. return s
  70196. }
  70197. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  70198. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70199. s.Ipv6AddressCount = &v
  70200. return s
  70201. }
  70202. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  70203. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70204. s.Ipv6Addresses = v
  70205. return s
  70206. }
  70207. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  70208. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70209. s.NetworkInterfaceId = &v
  70210. return s
  70211. }
  70212. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  70213. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70214. s.PrivateIpAddress = &v
  70215. return s
  70216. }
  70217. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  70218. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70219. s.PrivateIpAddresses = v
  70220. return s
  70221. }
  70222. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  70223. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70224. s.SecondaryPrivateIpAddressCount = &v
  70225. return s
  70226. }
  70227. // SetSubnetId sets the SubnetId field's value.
  70228. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  70229. s.SubnetId = &v
  70230. return s
  70231. }
  70232. // Describes a license configuration.
  70233. type LaunchTemplateLicenseConfiguration struct {
  70234. _ struct{} `type:"structure"`
  70235. // The Amazon Resource Name (ARN) of the license configuration.
  70236. LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
  70237. }
  70238. // String returns the string representation
  70239. func (s LaunchTemplateLicenseConfiguration) String() string {
  70240. return awsutil.Prettify(s)
  70241. }
  70242. // GoString returns the string representation
  70243. func (s LaunchTemplateLicenseConfiguration) GoString() string {
  70244. return s.String()
  70245. }
  70246. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  70247. func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
  70248. s.LicenseConfigurationArn = &v
  70249. return s
  70250. }
  70251. // Describes a license configuration.
  70252. type LaunchTemplateLicenseConfigurationRequest struct {
  70253. _ struct{} `type:"structure"`
  70254. // The Amazon Resource Name (ARN) of the license configuration.
  70255. LicenseConfigurationArn *string `type:"string"`
  70256. }
  70257. // String returns the string representation
  70258. func (s LaunchTemplateLicenseConfigurationRequest) String() string {
  70259. return awsutil.Prettify(s)
  70260. }
  70261. // GoString returns the string representation
  70262. func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
  70263. return s.String()
  70264. }
  70265. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  70266. func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
  70267. s.LicenseConfigurationArn = &v
  70268. return s
  70269. }
  70270. // Describes overrides for a launch template.
  70271. type LaunchTemplateOverrides struct {
  70272. _ struct{} `type:"structure"`
  70273. // The Availability Zone in which to launch the instances.
  70274. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  70275. // The instance type.
  70276. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  70277. // The priority for the launch template override. If OnDemandAllocationStrategy
  70278. // is set to prioritized, Spot Fleet uses priority to determine which launch
  70279. // template override to use first in fulfilling On-Demand capacity. The highest
  70280. // priority is launched first. Valid values are whole numbers starting at 0.
  70281. // The lower the number, the higher the priority. If no number is set, the launch
  70282. // template override has the lowest priority.
  70283. Priority *float64 `locationName:"priority" type:"double"`
  70284. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  70285. SpotPrice *string `locationName:"spotPrice" type:"string"`
  70286. // The ID of the subnet in which to launch the instances.
  70287. SubnetId *string `locationName:"subnetId" type:"string"`
  70288. // The number of units provided by the specified instance type.
  70289. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  70290. }
  70291. // String returns the string representation
  70292. func (s LaunchTemplateOverrides) String() string {
  70293. return awsutil.Prettify(s)
  70294. }
  70295. // GoString returns the string representation
  70296. func (s LaunchTemplateOverrides) GoString() string {
  70297. return s.String()
  70298. }
  70299. // SetAvailabilityZone sets the AvailabilityZone field's value.
  70300. func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
  70301. s.AvailabilityZone = &v
  70302. return s
  70303. }
  70304. // SetInstanceType sets the InstanceType field's value.
  70305. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
  70306. s.InstanceType = &v
  70307. return s
  70308. }
  70309. // SetPriority sets the Priority field's value.
  70310. func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
  70311. s.Priority = &v
  70312. return s
  70313. }
  70314. // SetSpotPrice sets the SpotPrice field's value.
  70315. func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
  70316. s.SpotPrice = &v
  70317. return s
  70318. }
  70319. // SetSubnetId sets the SubnetId field's value.
  70320. func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
  70321. s.SubnetId = &v
  70322. return s
  70323. }
  70324. // SetWeightedCapacity sets the WeightedCapacity field's value.
  70325. func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
  70326. s.WeightedCapacity = &v
  70327. return s
  70328. }
  70329. // Describes the placement of an instance.
  70330. type LaunchTemplatePlacement struct {
  70331. _ struct{} `type:"structure"`
  70332. // The affinity setting for the instance on the Dedicated Host.
  70333. Affinity *string `locationName:"affinity" type:"string"`
  70334. // The Availability Zone of the instance.
  70335. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  70336. // The name of the placement group for the instance.
  70337. GroupName *string `locationName:"groupName" type:"string"`
  70338. // The ID of the Dedicated Host for the instance.
  70339. HostId *string `locationName:"hostId" type:"string"`
  70340. // The ARN of the host resource group in which to launch the instances.
  70341. HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
  70342. // The number of the partition the instance should launch in. Valid only if
  70343. // the placement group strategy is set to partition.
  70344. PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
  70345. // Reserved for future use.
  70346. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  70347. // The tenancy of the instance (if the instance is running in a VPC). An instance
  70348. // with a tenancy of dedicated runs on single-tenant hardware.
  70349. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  70350. }
  70351. // String returns the string representation
  70352. func (s LaunchTemplatePlacement) String() string {
  70353. return awsutil.Prettify(s)
  70354. }
  70355. // GoString returns the string representation
  70356. func (s LaunchTemplatePlacement) GoString() string {
  70357. return s.String()
  70358. }
  70359. // SetAffinity sets the Affinity field's value.
  70360. func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
  70361. s.Affinity = &v
  70362. return s
  70363. }
  70364. // SetAvailabilityZone sets the AvailabilityZone field's value.
  70365. func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
  70366. s.AvailabilityZone = &v
  70367. return s
  70368. }
  70369. // SetGroupName sets the GroupName field's value.
  70370. func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
  70371. s.GroupName = &v
  70372. return s
  70373. }
  70374. // SetHostId sets the HostId field's value.
  70375. func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
  70376. s.HostId = &v
  70377. return s
  70378. }
  70379. // SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
  70380. func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
  70381. s.HostResourceGroupArn = &v
  70382. return s
  70383. }
  70384. // SetPartitionNumber sets the PartitionNumber field's value.
  70385. func (s *LaunchTemplatePlacement) SetPartitionNumber(v int64) *LaunchTemplatePlacement {
  70386. s.PartitionNumber = &v
  70387. return s
  70388. }
  70389. // SetSpreadDomain sets the SpreadDomain field's value.
  70390. func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
  70391. s.SpreadDomain = &v
  70392. return s
  70393. }
  70394. // SetTenancy sets the Tenancy field's value.
  70395. func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
  70396. s.Tenancy = &v
  70397. return s
  70398. }
  70399. // Describes the placement of an instance.
  70400. type LaunchTemplatePlacementRequest struct {
  70401. _ struct{} `type:"structure"`
  70402. // The affinity setting for an instance on a Dedicated Host.
  70403. Affinity *string `type:"string"`
  70404. // The Availability Zone for the instance.
  70405. AvailabilityZone *string `type:"string"`
  70406. // The name of the placement group for the instance.
  70407. GroupName *string `type:"string"`
  70408. // The ID of the Dedicated Host for the instance.
  70409. HostId *string `type:"string"`
  70410. // The ARN of the host resource group in which to launch the instances. If you
  70411. // specify a host resource group ARN, omit the Tenancy parameter or set it to
  70412. // host.
  70413. HostResourceGroupArn *string `type:"string"`
  70414. // The number of the partition the instance should launch in. Valid only if
  70415. // the placement group strategy is set to partition.
  70416. PartitionNumber *int64 `type:"integer"`
  70417. // Reserved for future use.
  70418. SpreadDomain *string `type:"string"`
  70419. // The tenancy of the instance (if the instance is running in a VPC). An instance
  70420. // with a tenancy of dedicated runs on single-tenant hardware.
  70421. Tenancy *string `type:"string" enum:"Tenancy"`
  70422. }
  70423. // String returns the string representation
  70424. func (s LaunchTemplatePlacementRequest) String() string {
  70425. return awsutil.Prettify(s)
  70426. }
  70427. // GoString returns the string representation
  70428. func (s LaunchTemplatePlacementRequest) GoString() string {
  70429. return s.String()
  70430. }
  70431. // SetAffinity sets the Affinity field's value.
  70432. func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
  70433. s.Affinity = &v
  70434. return s
  70435. }
  70436. // SetAvailabilityZone sets the AvailabilityZone field's value.
  70437. func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
  70438. s.AvailabilityZone = &v
  70439. return s
  70440. }
  70441. // SetGroupName sets the GroupName field's value.
  70442. func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
  70443. s.GroupName = &v
  70444. return s
  70445. }
  70446. // SetHostId sets the HostId field's value.
  70447. func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
  70448. s.HostId = &v
  70449. return s
  70450. }
  70451. // SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
  70452. func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
  70453. s.HostResourceGroupArn = &v
  70454. return s
  70455. }
  70456. // SetPartitionNumber sets the PartitionNumber field's value.
  70457. func (s *LaunchTemplatePlacementRequest) SetPartitionNumber(v int64) *LaunchTemplatePlacementRequest {
  70458. s.PartitionNumber = &v
  70459. return s
  70460. }
  70461. // SetSpreadDomain sets the SpreadDomain field's value.
  70462. func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
  70463. s.SpreadDomain = &v
  70464. return s
  70465. }
  70466. // SetTenancy sets the Tenancy field's value.
  70467. func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
  70468. s.Tenancy = &v
  70469. return s
  70470. }
  70471. // The launch template to use. You must specify either the launch template ID
  70472. // or launch template name in the request, but not both.
  70473. type LaunchTemplateSpecification struct {
  70474. _ struct{} `type:"structure"`
  70475. // The ID of the launch template.
  70476. LaunchTemplateId *string `type:"string"`
  70477. // The name of the launch template.
  70478. LaunchTemplateName *string `type:"string"`
  70479. // The version number of the launch template.
  70480. //
  70481. // Default: The default version for the launch template.
  70482. Version *string `type:"string"`
  70483. }
  70484. // String returns the string representation
  70485. func (s LaunchTemplateSpecification) String() string {
  70486. return awsutil.Prettify(s)
  70487. }
  70488. // GoString returns the string representation
  70489. func (s LaunchTemplateSpecification) GoString() string {
  70490. return s.String()
  70491. }
  70492. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  70493. func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
  70494. s.LaunchTemplateId = &v
  70495. return s
  70496. }
  70497. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  70498. func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
  70499. s.LaunchTemplateName = &v
  70500. return s
  70501. }
  70502. // SetVersion sets the Version field's value.
  70503. func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
  70504. s.Version = &v
  70505. return s
  70506. }
  70507. // The options for Spot Instances.
  70508. type LaunchTemplateSpotMarketOptions struct {
  70509. _ struct{} `type:"structure"`
  70510. // The required duration for the Spot Instances (also known as Spot blocks),
  70511. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  70512. // or 360).
  70513. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  70514. // The behavior when a Spot Instance is interrupted.
  70515. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  70516. // The maximum hourly price you're willing to pay for the Spot Instances.
  70517. MaxPrice *string `locationName:"maxPrice" type:"string"`
  70518. // The Spot Instance request type.
  70519. SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
  70520. // The end date of the request. For a one-time request, the request remains
  70521. // active until all instances launch, the request is canceled, or this date
  70522. // is reached. If the request is persistent, it remains active until it is canceled
  70523. // or this date and time is reached.
  70524. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  70525. }
  70526. // String returns the string representation
  70527. func (s LaunchTemplateSpotMarketOptions) String() string {
  70528. return awsutil.Prettify(s)
  70529. }
  70530. // GoString returns the string representation
  70531. func (s LaunchTemplateSpotMarketOptions) GoString() string {
  70532. return s.String()
  70533. }
  70534. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  70535. func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
  70536. s.BlockDurationMinutes = &v
  70537. return s
  70538. }
  70539. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  70540. func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
  70541. s.InstanceInterruptionBehavior = &v
  70542. return s
  70543. }
  70544. // SetMaxPrice sets the MaxPrice field's value.
  70545. func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
  70546. s.MaxPrice = &v
  70547. return s
  70548. }
  70549. // SetSpotInstanceType sets the SpotInstanceType field's value.
  70550. func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
  70551. s.SpotInstanceType = &v
  70552. return s
  70553. }
  70554. // SetValidUntil sets the ValidUntil field's value.
  70555. func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
  70556. s.ValidUntil = &v
  70557. return s
  70558. }
  70559. // The options for Spot Instances.
  70560. type LaunchTemplateSpotMarketOptionsRequest struct {
  70561. _ struct{} `type:"structure"`
  70562. // The required duration for the Spot Instances (also known as Spot blocks),
  70563. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  70564. // or 360).
  70565. BlockDurationMinutes *int64 `type:"integer"`
  70566. // The behavior when a Spot Instance is interrupted. The default is terminate.
  70567. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  70568. // The maximum hourly price you're willing to pay for the Spot Instances.
  70569. MaxPrice *string `type:"string"`
  70570. // The Spot Instance request type.
  70571. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  70572. // The end date of the request. For a one-time request, the request remains
  70573. // active until all instances launch, the request is canceled, or this date
  70574. // is reached. If the request is persistent, it remains active until it is canceled
  70575. // or this date and time is reached. The default end date is 7 days from the
  70576. // current date.
  70577. ValidUntil *time.Time `type:"timestamp"`
  70578. }
  70579. // String returns the string representation
  70580. func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
  70581. return awsutil.Prettify(s)
  70582. }
  70583. // GoString returns the string representation
  70584. func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
  70585. return s.String()
  70586. }
  70587. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  70588. func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
  70589. s.BlockDurationMinutes = &v
  70590. return s
  70591. }
  70592. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  70593. func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
  70594. s.InstanceInterruptionBehavior = &v
  70595. return s
  70596. }
  70597. // SetMaxPrice sets the MaxPrice field's value.
  70598. func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
  70599. s.MaxPrice = &v
  70600. return s
  70601. }
  70602. // SetSpotInstanceType sets the SpotInstanceType field's value.
  70603. func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
  70604. s.SpotInstanceType = &v
  70605. return s
  70606. }
  70607. // SetValidUntil sets the ValidUntil field's value.
  70608. func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
  70609. s.ValidUntil = &v
  70610. return s
  70611. }
  70612. // The tag specification for the launch template.
  70613. type LaunchTemplateTagSpecification struct {
  70614. _ struct{} `type:"structure"`
  70615. // The type of resource.
  70616. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  70617. // The tags for the resource.
  70618. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  70619. }
  70620. // String returns the string representation
  70621. func (s LaunchTemplateTagSpecification) String() string {
  70622. return awsutil.Prettify(s)
  70623. }
  70624. // GoString returns the string representation
  70625. func (s LaunchTemplateTagSpecification) GoString() string {
  70626. return s.String()
  70627. }
  70628. // SetResourceType sets the ResourceType field's value.
  70629. func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
  70630. s.ResourceType = &v
  70631. return s
  70632. }
  70633. // SetTags sets the Tags field's value.
  70634. func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
  70635. s.Tags = v
  70636. return s
  70637. }
  70638. // The tags specification for the launch template.
  70639. type LaunchTemplateTagSpecificationRequest struct {
  70640. _ struct{} `type:"structure"`
  70641. // The type of resource to tag. Currently, the resource types that support tagging
  70642. // on creation are instance and volume. To tag a resource after it has been
  70643. // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
  70644. ResourceType *string `type:"string" enum:"ResourceType"`
  70645. // The tags to apply to the resource.
  70646. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  70647. }
  70648. // String returns the string representation
  70649. func (s LaunchTemplateTagSpecificationRequest) String() string {
  70650. return awsutil.Prettify(s)
  70651. }
  70652. // GoString returns the string representation
  70653. func (s LaunchTemplateTagSpecificationRequest) GoString() string {
  70654. return s.String()
  70655. }
  70656. // SetResourceType sets the ResourceType field's value.
  70657. func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
  70658. s.ResourceType = &v
  70659. return s
  70660. }
  70661. // SetTags sets the Tags field's value.
  70662. func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
  70663. s.Tags = v
  70664. return s
  70665. }
  70666. // Describes a launch template version.
  70667. type LaunchTemplateVersion struct {
  70668. _ struct{} `type:"structure"`
  70669. // The time the version was created.
  70670. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  70671. // The principal that created the version.
  70672. CreatedBy *string `locationName:"createdBy" type:"string"`
  70673. // Indicates whether the version is the default version.
  70674. DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
  70675. // Information about the launch template.
  70676. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  70677. // The ID of the launch template.
  70678. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  70679. // The name of the launch template.
  70680. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  70681. // The description for the version.
  70682. VersionDescription *string `locationName:"versionDescription" type:"string"`
  70683. // The version number.
  70684. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  70685. }
  70686. // String returns the string representation
  70687. func (s LaunchTemplateVersion) String() string {
  70688. return awsutil.Prettify(s)
  70689. }
  70690. // GoString returns the string representation
  70691. func (s LaunchTemplateVersion) GoString() string {
  70692. return s.String()
  70693. }
  70694. // SetCreateTime sets the CreateTime field's value.
  70695. func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
  70696. s.CreateTime = &v
  70697. return s
  70698. }
  70699. // SetCreatedBy sets the CreatedBy field's value.
  70700. func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
  70701. s.CreatedBy = &v
  70702. return s
  70703. }
  70704. // SetDefaultVersion sets the DefaultVersion field's value.
  70705. func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
  70706. s.DefaultVersion = &v
  70707. return s
  70708. }
  70709. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  70710. func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
  70711. s.LaunchTemplateData = v
  70712. return s
  70713. }
  70714. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  70715. func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
  70716. s.LaunchTemplateId = &v
  70717. return s
  70718. }
  70719. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  70720. func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
  70721. s.LaunchTemplateName = &v
  70722. return s
  70723. }
  70724. // SetVersionDescription sets the VersionDescription field's value.
  70725. func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
  70726. s.VersionDescription = &v
  70727. return s
  70728. }
  70729. // SetVersionNumber sets the VersionNumber field's value.
  70730. func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
  70731. s.VersionNumber = &v
  70732. return s
  70733. }
  70734. // Describes the monitoring for the instance.
  70735. type LaunchTemplatesMonitoring struct {
  70736. _ struct{} `type:"structure"`
  70737. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  70738. // is enabled.
  70739. Enabled *bool `locationName:"enabled" type:"boolean"`
  70740. }
  70741. // String returns the string representation
  70742. func (s LaunchTemplatesMonitoring) String() string {
  70743. return awsutil.Prettify(s)
  70744. }
  70745. // GoString returns the string representation
  70746. func (s LaunchTemplatesMonitoring) GoString() string {
  70747. return s.String()
  70748. }
  70749. // SetEnabled sets the Enabled field's value.
  70750. func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
  70751. s.Enabled = &v
  70752. return s
  70753. }
  70754. // Describes the monitoring for the instance.
  70755. type LaunchTemplatesMonitoringRequest struct {
  70756. _ struct{} `type:"structure"`
  70757. // Specify true to enable detailed monitoring. Otherwise, basic monitoring is
  70758. // enabled.
  70759. Enabled *bool `type:"boolean"`
  70760. }
  70761. // String returns the string representation
  70762. func (s LaunchTemplatesMonitoringRequest) String() string {
  70763. return awsutil.Prettify(s)
  70764. }
  70765. // GoString returns the string representation
  70766. func (s LaunchTemplatesMonitoringRequest) GoString() string {
  70767. return s.String()
  70768. }
  70769. // SetEnabled sets the Enabled field's value.
  70770. func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
  70771. s.Enabled = &v
  70772. return s
  70773. }
  70774. // Describes a license configuration.
  70775. type LicenseConfiguration struct {
  70776. _ struct{} `type:"structure"`
  70777. // The Amazon Resource Name (ARN) of the license configuration.
  70778. LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
  70779. }
  70780. // String returns the string representation
  70781. func (s LicenseConfiguration) String() string {
  70782. return awsutil.Prettify(s)
  70783. }
  70784. // GoString returns the string representation
  70785. func (s LicenseConfiguration) GoString() string {
  70786. return s.String()
  70787. }
  70788. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  70789. func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
  70790. s.LicenseConfigurationArn = &v
  70791. return s
  70792. }
  70793. // Describes a license configuration.
  70794. type LicenseConfigurationRequest struct {
  70795. _ struct{} `type:"structure"`
  70796. // The Amazon Resource Name (ARN) of the license configuration.
  70797. LicenseConfigurationArn *string `type:"string"`
  70798. }
  70799. // String returns the string representation
  70800. func (s LicenseConfigurationRequest) String() string {
  70801. return awsutil.Prettify(s)
  70802. }
  70803. // GoString returns the string representation
  70804. func (s LicenseConfigurationRequest) GoString() string {
  70805. return s.String()
  70806. }
  70807. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  70808. func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
  70809. s.LicenseConfigurationArn = &v
  70810. return s
  70811. }
  70812. // Describes the Classic Load Balancers and target groups to attach to a Spot
  70813. // Fleet request.
  70814. type LoadBalancersConfig struct {
  70815. _ struct{} `type:"structure"`
  70816. // The Classic Load Balancers.
  70817. ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
  70818. // The target groups.
  70819. TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
  70820. }
  70821. // String returns the string representation
  70822. func (s LoadBalancersConfig) String() string {
  70823. return awsutil.Prettify(s)
  70824. }
  70825. // GoString returns the string representation
  70826. func (s LoadBalancersConfig) GoString() string {
  70827. return s.String()
  70828. }
  70829. // Validate inspects the fields of the type to determine if they are valid.
  70830. func (s *LoadBalancersConfig) Validate() error {
  70831. invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
  70832. if s.ClassicLoadBalancersConfig != nil {
  70833. if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
  70834. invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
  70835. }
  70836. }
  70837. if s.TargetGroupsConfig != nil {
  70838. if err := s.TargetGroupsConfig.Validate(); err != nil {
  70839. invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
  70840. }
  70841. }
  70842. if invalidParams.Len() > 0 {
  70843. return invalidParams
  70844. }
  70845. return nil
  70846. }
  70847. // SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
  70848. func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
  70849. s.ClassicLoadBalancersConfig = v
  70850. return s
  70851. }
  70852. // SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
  70853. func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
  70854. s.TargetGroupsConfig = v
  70855. return s
  70856. }
  70857. // Describes a load permission.
  70858. type LoadPermission struct {
  70859. _ struct{} `type:"structure"`
  70860. // The name of the group.
  70861. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  70862. // The AWS account ID.
  70863. UserId *string `locationName:"userId" type:"string"`
  70864. }
  70865. // String returns the string representation
  70866. func (s LoadPermission) String() string {
  70867. return awsutil.Prettify(s)
  70868. }
  70869. // GoString returns the string representation
  70870. func (s LoadPermission) GoString() string {
  70871. return s.String()
  70872. }
  70873. // SetGroup sets the Group field's value.
  70874. func (s *LoadPermission) SetGroup(v string) *LoadPermission {
  70875. s.Group = &v
  70876. return s
  70877. }
  70878. // SetUserId sets the UserId field's value.
  70879. func (s *LoadPermission) SetUserId(v string) *LoadPermission {
  70880. s.UserId = &v
  70881. return s
  70882. }
  70883. // Describes modifications to the load permissions of an Amazon FPGA image (AFI).
  70884. type LoadPermissionModifications struct {
  70885. _ struct{} `type:"structure"`
  70886. // The load permissions to add.
  70887. Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  70888. // The load permissions to remove.
  70889. Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  70890. }
  70891. // String returns the string representation
  70892. func (s LoadPermissionModifications) String() string {
  70893. return awsutil.Prettify(s)
  70894. }
  70895. // GoString returns the string representation
  70896. func (s LoadPermissionModifications) GoString() string {
  70897. return s.String()
  70898. }
  70899. // SetAdd sets the Add field's value.
  70900. func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
  70901. s.Add = v
  70902. return s
  70903. }
  70904. // SetRemove sets the Remove field's value.
  70905. func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
  70906. s.Remove = v
  70907. return s
  70908. }
  70909. // Describes a load permission.
  70910. type LoadPermissionRequest struct {
  70911. _ struct{} `type:"structure"`
  70912. // The name of the group.
  70913. Group *string `type:"string" enum:"PermissionGroup"`
  70914. // The AWS account ID.
  70915. UserId *string `type:"string"`
  70916. }
  70917. // String returns the string representation
  70918. func (s LoadPermissionRequest) String() string {
  70919. return awsutil.Prettify(s)
  70920. }
  70921. // GoString returns the string representation
  70922. func (s LoadPermissionRequest) GoString() string {
  70923. return s.String()
  70924. }
  70925. // SetGroup sets the Group field's value.
  70926. func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
  70927. s.Group = &v
  70928. return s
  70929. }
  70930. // SetUserId sets the UserId field's value.
  70931. func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
  70932. s.UserId = &v
  70933. return s
  70934. }
  70935. // Describes a local gateway.
  70936. type LocalGateway struct {
  70937. _ struct{} `type:"structure"`
  70938. // The ID of the local gateway.
  70939. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  70940. // The Amazon Resource Name (ARN) of the Outpost.
  70941. OutpostArn *string `locationName:"outpostArn" type:"string"`
  70942. // The ID of the AWS account ID that owns the local gateway.
  70943. OwnerId *string `locationName:"ownerId" type:"string"`
  70944. // The state of the local gateway.
  70945. State *string `locationName:"state" type:"string"`
  70946. // The tags assigned to the local gateway.
  70947. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  70948. }
  70949. // String returns the string representation
  70950. func (s LocalGateway) String() string {
  70951. return awsutil.Prettify(s)
  70952. }
  70953. // GoString returns the string representation
  70954. func (s LocalGateway) GoString() string {
  70955. return s.String()
  70956. }
  70957. // SetLocalGatewayId sets the LocalGatewayId field's value.
  70958. func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
  70959. s.LocalGatewayId = &v
  70960. return s
  70961. }
  70962. // SetOutpostArn sets the OutpostArn field's value.
  70963. func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
  70964. s.OutpostArn = &v
  70965. return s
  70966. }
  70967. // SetOwnerId sets the OwnerId field's value.
  70968. func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
  70969. s.OwnerId = &v
  70970. return s
  70971. }
  70972. // SetState sets the State field's value.
  70973. func (s *LocalGateway) SetState(v string) *LocalGateway {
  70974. s.State = &v
  70975. return s
  70976. }
  70977. // SetTags sets the Tags field's value.
  70978. func (s *LocalGateway) SetTags(v []*Tag) *LocalGateway {
  70979. s.Tags = v
  70980. return s
  70981. }
  70982. // Describes a route for a local gateway route table.
  70983. type LocalGatewayRoute struct {
  70984. _ struct{} `type:"structure"`
  70985. // The CIDR block used for destination matches.
  70986. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  70987. // The ID of the local gateway route table.
  70988. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  70989. // The ID of the virtual interface group.
  70990. LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
  70991. // The state of the route.
  70992. State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
  70993. // The route type.
  70994. Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
  70995. }
  70996. // String returns the string representation
  70997. func (s LocalGatewayRoute) String() string {
  70998. return awsutil.Prettify(s)
  70999. }
  71000. // GoString returns the string representation
  71001. func (s LocalGatewayRoute) GoString() string {
  71002. return s.String()
  71003. }
  71004. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  71005. func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
  71006. s.DestinationCidrBlock = &v
  71007. return s
  71008. }
  71009. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  71010. func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
  71011. s.LocalGatewayRouteTableId = &v
  71012. return s
  71013. }
  71014. // SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
  71015. func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
  71016. s.LocalGatewayVirtualInterfaceGroupId = &v
  71017. return s
  71018. }
  71019. // SetState sets the State field's value.
  71020. func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
  71021. s.State = &v
  71022. return s
  71023. }
  71024. // SetType sets the Type field's value.
  71025. func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
  71026. s.Type = &v
  71027. return s
  71028. }
  71029. // Describes a local gateway route table.
  71030. type LocalGatewayRouteTable struct {
  71031. _ struct{} `type:"structure"`
  71032. // The ID of the local gateway.
  71033. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  71034. // The ID of the local gateway route table.
  71035. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  71036. // The Amazon Resource Name (ARN) of the Outpost.
  71037. OutpostArn *string `locationName:"outpostArn" type:"string"`
  71038. // The state of the local gateway route table.
  71039. State *string `locationName:"state" type:"string"`
  71040. // The tags assigned to the local gateway route table.
  71041. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71042. }
  71043. // String returns the string representation
  71044. func (s LocalGatewayRouteTable) String() string {
  71045. return awsutil.Prettify(s)
  71046. }
  71047. // GoString returns the string representation
  71048. func (s LocalGatewayRouteTable) GoString() string {
  71049. return s.String()
  71050. }
  71051. // SetLocalGatewayId sets the LocalGatewayId field's value.
  71052. func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
  71053. s.LocalGatewayId = &v
  71054. return s
  71055. }
  71056. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  71057. func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
  71058. s.LocalGatewayRouteTableId = &v
  71059. return s
  71060. }
  71061. // SetOutpostArn sets the OutpostArn field's value.
  71062. func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
  71063. s.OutpostArn = &v
  71064. return s
  71065. }
  71066. // SetState sets the State field's value.
  71067. func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
  71068. s.State = &v
  71069. return s
  71070. }
  71071. // SetTags sets the Tags field's value.
  71072. func (s *LocalGatewayRouteTable) SetTags(v []*Tag) *LocalGatewayRouteTable {
  71073. s.Tags = v
  71074. return s
  71075. }
  71076. // Describes an association between a local gateway route table and a virtual
  71077. // interface group.
  71078. type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
  71079. _ struct{} `type:"structure"`
  71080. // The ID of the local gateway.
  71081. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  71082. // The ID of the local gateway route table.
  71083. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  71084. // The ID of the association.
  71085. LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
  71086. // The ID of the virtual interface group.
  71087. LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
  71088. // The state of the association.
  71089. State *string `locationName:"state" type:"string"`
  71090. // The tags assigned to the association.
  71091. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71092. }
  71093. // String returns the string representation
  71094. func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
  71095. return awsutil.Prettify(s)
  71096. }
  71097. // GoString returns the string representation
  71098. func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
  71099. return s.String()
  71100. }
  71101. // SetLocalGatewayId sets the LocalGatewayId field's value.
  71102. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71103. s.LocalGatewayId = &v
  71104. return s
  71105. }
  71106. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  71107. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71108. s.LocalGatewayRouteTableId = &v
  71109. return s
  71110. }
  71111. // SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
  71112. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71113. s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
  71114. return s
  71115. }
  71116. // SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
  71117. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71118. s.LocalGatewayVirtualInterfaceGroupId = &v
  71119. return s
  71120. }
  71121. // SetState sets the State field's value.
  71122. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71123. s.State = &v
  71124. return s
  71125. }
  71126. // SetTags sets the Tags field's value.
  71127. func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
  71128. s.Tags = v
  71129. return s
  71130. }
  71131. // Describes an association between a local gateway route table and a VPC.
  71132. type LocalGatewayRouteTableVpcAssociation struct {
  71133. _ struct{} `type:"structure"`
  71134. // The ID of the local gateway.
  71135. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  71136. // The ID of the local gateway route table.
  71137. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
  71138. // The ID of the association.
  71139. LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
  71140. // The state of the association.
  71141. State *string `locationName:"state" type:"string"`
  71142. // The tags assigned to the association.
  71143. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71144. // The ID of the VPC.
  71145. VpcId *string `locationName:"vpcId" type:"string"`
  71146. }
  71147. // String returns the string representation
  71148. func (s LocalGatewayRouteTableVpcAssociation) String() string {
  71149. return awsutil.Prettify(s)
  71150. }
  71151. // GoString returns the string representation
  71152. func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
  71153. return s.String()
  71154. }
  71155. // SetLocalGatewayId sets the LocalGatewayId field's value.
  71156. func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
  71157. s.LocalGatewayId = &v
  71158. return s
  71159. }
  71160. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  71161. func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
  71162. s.LocalGatewayRouteTableId = &v
  71163. return s
  71164. }
  71165. // SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
  71166. func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
  71167. s.LocalGatewayRouteTableVpcAssociationId = &v
  71168. return s
  71169. }
  71170. // SetState sets the State field's value.
  71171. func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
  71172. s.State = &v
  71173. return s
  71174. }
  71175. // SetTags sets the Tags field's value.
  71176. func (s *LocalGatewayRouteTableVpcAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVpcAssociation {
  71177. s.Tags = v
  71178. return s
  71179. }
  71180. // SetVpcId sets the VpcId field's value.
  71181. func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
  71182. s.VpcId = &v
  71183. return s
  71184. }
  71185. // Describes a local gateway virtual interface.
  71186. type LocalGatewayVirtualInterface struct {
  71187. _ struct{} `type:"structure"`
  71188. // The local address.
  71189. LocalAddress *string `locationName:"localAddress" type:"string"`
  71190. // The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
  71191. // gateway.
  71192. LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
  71193. // The ID of the local gateway.
  71194. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  71195. // The ID of the virtual interface.
  71196. LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
  71197. // The peer address.
  71198. PeerAddress *string `locationName:"peerAddress" type:"string"`
  71199. // The peer BGP ASN.
  71200. PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
  71201. // The tags assigned to the virtual interface.
  71202. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71203. // The ID of the VLAN.
  71204. Vlan *int64 `locationName:"vlan" type:"integer"`
  71205. }
  71206. // String returns the string representation
  71207. func (s LocalGatewayVirtualInterface) String() string {
  71208. return awsutil.Prettify(s)
  71209. }
  71210. // GoString returns the string representation
  71211. func (s LocalGatewayVirtualInterface) GoString() string {
  71212. return s.String()
  71213. }
  71214. // SetLocalAddress sets the LocalAddress field's value.
  71215. func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
  71216. s.LocalAddress = &v
  71217. return s
  71218. }
  71219. // SetLocalBgpAsn sets the LocalBgpAsn field's value.
  71220. func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
  71221. s.LocalBgpAsn = &v
  71222. return s
  71223. }
  71224. // SetLocalGatewayId sets the LocalGatewayId field's value.
  71225. func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
  71226. s.LocalGatewayId = &v
  71227. return s
  71228. }
  71229. // SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
  71230. func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
  71231. s.LocalGatewayVirtualInterfaceId = &v
  71232. return s
  71233. }
  71234. // SetPeerAddress sets the PeerAddress field's value.
  71235. func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
  71236. s.PeerAddress = &v
  71237. return s
  71238. }
  71239. // SetPeerBgpAsn sets the PeerBgpAsn field's value.
  71240. func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
  71241. s.PeerBgpAsn = &v
  71242. return s
  71243. }
  71244. // SetTags sets the Tags field's value.
  71245. func (s *LocalGatewayVirtualInterface) SetTags(v []*Tag) *LocalGatewayVirtualInterface {
  71246. s.Tags = v
  71247. return s
  71248. }
  71249. // SetVlan sets the Vlan field's value.
  71250. func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
  71251. s.Vlan = &v
  71252. return s
  71253. }
  71254. // Describes a local gateway virtual interface group.
  71255. type LocalGatewayVirtualInterfaceGroup struct {
  71256. _ struct{} `type:"structure"`
  71257. // The ID of the local gateway.
  71258. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  71259. // The ID of the virtual interface group.
  71260. LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
  71261. // The IDs of the virtual interfaces.
  71262. LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
  71263. // The tags assigned to the virtual interface group.
  71264. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71265. }
  71266. // String returns the string representation
  71267. func (s LocalGatewayVirtualInterfaceGroup) String() string {
  71268. return awsutil.Prettify(s)
  71269. }
  71270. // GoString returns the string representation
  71271. func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
  71272. return s.String()
  71273. }
  71274. // SetLocalGatewayId sets the LocalGatewayId field's value.
  71275. func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
  71276. s.LocalGatewayId = &v
  71277. return s
  71278. }
  71279. // SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
  71280. func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
  71281. s.LocalGatewayVirtualInterfaceGroupId = &v
  71282. return s
  71283. }
  71284. // SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
  71285. func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
  71286. s.LocalGatewayVirtualInterfaceIds = v
  71287. return s
  71288. }
  71289. // SetTags sets the Tags field's value.
  71290. func (s *LocalGatewayVirtualInterfaceGroup) SetTags(v []*Tag) *LocalGatewayVirtualInterfaceGroup {
  71291. s.Tags = v
  71292. return s
  71293. }
  71294. // Describes the memory for the instance type.
  71295. type MemoryInfo struct {
  71296. _ struct{} `type:"structure"`
  71297. // Size of the memory, in MiB.
  71298. SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
  71299. }
  71300. // String returns the string representation
  71301. func (s MemoryInfo) String() string {
  71302. return awsutil.Prettify(s)
  71303. }
  71304. // GoString returns the string representation
  71305. func (s MemoryInfo) GoString() string {
  71306. return s.String()
  71307. }
  71308. // SetSizeInMiB sets the SizeInMiB field's value.
  71309. func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
  71310. s.SizeInMiB = &v
  71311. return s
  71312. }
  71313. type ModifyCapacityReservationInput struct {
  71314. _ struct{} `type:"structure"`
  71315. // The ID of the Capacity Reservation.
  71316. //
  71317. // CapacityReservationId is a required field
  71318. CapacityReservationId *string `type:"string" required:"true"`
  71319. // Checks whether you have the required permissions for the action, without
  71320. // actually making the request, and provides an error response. If you have
  71321. // the required permissions, the error response is DryRunOperation. Otherwise,
  71322. // it is UnauthorizedOperation.
  71323. DryRun *bool `type:"boolean"`
  71324. // The date and time at which the Capacity Reservation expires. When a Capacity
  71325. // Reservation expires, the reserved capacity is released and you can no longer
  71326. // launch instances into it. The Capacity Reservation's state changes to expired
  71327. // when it reaches its end date and time.
  71328. //
  71329. // The Capacity Reservation is cancelled within an hour from the specified time.
  71330. // For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
  71331. // is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
  71332. //
  71333. // You must provide an EndDate value if EndDateType is limited. Omit EndDate
  71334. // if EndDateType is unlimited.
  71335. EndDate *time.Time `type:"timestamp"`
  71336. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  71337. // can have one of the following end types:
  71338. //
  71339. // * unlimited - The Capacity Reservation remains active until you explicitly
  71340. // cancel it. Do not provide an EndDate value if EndDateType is unlimited.
  71341. //
  71342. // * limited - The Capacity Reservation expires automatically at a specified
  71343. // date and time. You must provide an EndDate value if EndDateType is limited.
  71344. EndDateType *string `type:"string" enum:"EndDateType"`
  71345. // The number of instances for which to reserve capacity.
  71346. InstanceCount *int64 `type:"integer"`
  71347. }
  71348. // String returns the string representation
  71349. func (s ModifyCapacityReservationInput) String() string {
  71350. return awsutil.Prettify(s)
  71351. }
  71352. // GoString returns the string representation
  71353. func (s ModifyCapacityReservationInput) GoString() string {
  71354. return s.String()
  71355. }
  71356. // Validate inspects the fields of the type to determine if they are valid.
  71357. func (s *ModifyCapacityReservationInput) Validate() error {
  71358. invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
  71359. if s.CapacityReservationId == nil {
  71360. invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
  71361. }
  71362. if invalidParams.Len() > 0 {
  71363. return invalidParams
  71364. }
  71365. return nil
  71366. }
  71367. // SetCapacityReservationId sets the CapacityReservationId field's value.
  71368. func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
  71369. s.CapacityReservationId = &v
  71370. return s
  71371. }
  71372. // SetDryRun sets the DryRun field's value.
  71373. func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
  71374. s.DryRun = &v
  71375. return s
  71376. }
  71377. // SetEndDate sets the EndDate field's value.
  71378. func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
  71379. s.EndDate = &v
  71380. return s
  71381. }
  71382. // SetEndDateType sets the EndDateType field's value.
  71383. func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
  71384. s.EndDateType = &v
  71385. return s
  71386. }
  71387. // SetInstanceCount sets the InstanceCount field's value.
  71388. func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
  71389. s.InstanceCount = &v
  71390. return s
  71391. }
  71392. type ModifyCapacityReservationOutput struct {
  71393. _ struct{} `type:"structure"`
  71394. // Returns true if the request succeeds; otherwise, it returns an error.
  71395. Return *bool `locationName:"return" type:"boolean"`
  71396. }
  71397. // String returns the string representation
  71398. func (s ModifyCapacityReservationOutput) String() string {
  71399. return awsutil.Prettify(s)
  71400. }
  71401. // GoString returns the string representation
  71402. func (s ModifyCapacityReservationOutput) GoString() string {
  71403. return s.String()
  71404. }
  71405. // SetReturn sets the Return field's value.
  71406. func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
  71407. s.Return = &v
  71408. return s
  71409. }
  71410. type ModifyClientVpnEndpointInput struct {
  71411. _ struct{} `type:"structure"`
  71412. // The ID of the Client VPN endpoint to modify.
  71413. //
  71414. // ClientVpnEndpointId is a required field
  71415. ClientVpnEndpointId *string `type:"string" required:"true"`
  71416. // Information about the client connection logging options.
  71417. //
  71418. // If you enable client connection logging, data about client connections is
  71419. // sent to a Cloudwatch Logs log stream. The following information is logged:
  71420. //
  71421. // * Client connection requests
  71422. //
  71423. // * Client connection results (successful and unsuccessful)
  71424. //
  71425. // * Reasons for unsuccessful client connection requests
  71426. //
  71427. // * Client connection termination time
  71428. ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
  71429. // A brief description of the Client VPN endpoint.
  71430. Description *string `type:"string"`
  71431. // Information about the DNS servers to be used by Client VPN connections. A
  71432. // Client VPN endpoint can have up to two DNS servers.
  71433. DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
  71434. // Checks whether you have the required permissions for the action, without
  71435. // actually making the request, and provides an error response. If you have
  71436. // the required permissions, the error response is DryRunOperation. Otherwise,
  71437. // it is UnauthorizedOperation.
  71438. DryRun *bool `type:"boolean"`
  71439. // The ARN of the server certificate to be used. The server certificate must
  71440. // be provisioned in AWS Certificate Manager (ACM).
  71441. ServerCertificateArn *string `type:"string"`
  71442. // Indicates whether the VPN is split-tunnel.
  71443. //
  71444. // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
  71445. // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
  71446. // in the AWS Client VPN Administrator Guide.
  71447. SplitTunnel *bool `type:"boolean"`
  71448. }
  71449. // String returns the string representation
  71450. func (s ModifyClientVpnEndpointInput) String() string {
  71451. return awsutil.Prettify(s)
  71452. }
  71453. // GoString returns the string representation
  71454. func (s ModifyClientVpnEndpointInput) GoString() string {
  71455. return s.String()
  71456. }
  71457. // Validate inspects the fields of the type to determine if they are valid.
  71458. func (s *ModifyClientVpnEndpointInput) Validate() error {
  71459. invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
  71460. if s.ClientVpnEndpointId == nil {
  71461. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  71462. }
  71463. if invalidParams.Len() > 0 {
  71464. return invalidParams
  71465. }
  71466. return nil
  71467. }
  71468. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  71469. func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
  71470. s.ClientVpnEndpointId = &v
  71471. return s
  71472. }
  71473. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  71474. func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
  71475. s.ConnectionLogOptions = v
  71476. return s
  71477. }
  71478. // SetDescription sets the Description field's value.
  71479. func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
  71480. s.Description = &v
  71481. return s
  71482. }
  71483. // SetDnsServers sets the DnsServers field's value.
  71484. func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
  71485. s.DnsServers = v
  71486. return s
  71487. }
  71488. // SetDryRun sets the DryRun field's value.
  71489. func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
  71490. s.DryRun = &v
  71491. return s
  71492. }
  71493. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  71494. func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
  71495. s.ServerCertificateArn = &v
  71496. return s
  71497. }
  71498. // SetSplitTunnel sets the SplitTunnel field's value.
  71499. func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput {
  71500. s.SplitTunnel = &v
  71501. return s
  71502. }
  71503. type ModifyClientVpnEndpointOutput struct {
  71504. _ struct{} `type:"structure"`
  71505. // Returns true if the request succeeds; otherwise, it returns an error.
  71506. Return *bool `locationName:"return" type:"boolean"`
  71507. }
  71508. // String returns the string representation
  71509. func (s ModifyClientVpnEndpointOutput) String() string {
  71510. return awsutil.Prettify(s)
  71511. }
  71512. // GoString returns the string representation
  71513. func (s ModifyClientVpnEndpointOutput) GoString() string {
  71514. return s.String()
  71515. }
  71516. // SetReturn sets the Return field's value.
  71517. func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
  71518. s.Return = &v
  71519. return s
  71520. }
  71521. type ModifyDefaultCreditSpecificationInput struct {
  71522. _ struct{} `type:"structure"`
  71523. // The credit option for CPU usage of the instance family.
  71524. //
  71525. // Valid Values: standard | unlimited
  71526. //
  71527. // CpuCredits is a required field
  71528. CpuCredits *string `type:"string" required:"true"`
  71529. // Checks whether you have the required permissions for the action, without
  71530. // actually making the request, and provides an error response. If you have
  71531. // the required permissions, the error response is DryRunOperation. Otherwise,
  71532. // it is UnauthorizedOperation.
  71533. DryRun *bool `type:"boolean"`
  71534. // The instance family.
  71535. //
  71536. // InstanceFamily is a required field
  71537. InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
  71538. }
  71539. // String returns the string representation
  71540. func (s ModifyDefaultCreditSpecificationInput) String() string {
  71541. return awsutil.Prettify(s)
  71542. }
  71543. // GoString returns the string representation
  71544. func (s ModifyDefaultCreditSpecificationInput) GoString() string {
  71545. return s.String()
  71546. }
  71547. // Validate inspects the fields of the type to determine if they are valid.
  71548. func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
  71549. invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
  71550. if s.CpuCredits == nil {
  71551. invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
  71552. }
  71553. if s.InstanceFamily == nil {
  71554. invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
  71555. }
  71556. if invalidParams.Len() > 0 {
  71557. return invalidParams
  71558. }
  71559. return nil
  71560. }
  71561. // SetCpuCredits sets the CpuCredits field's value.
  71562. func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
  71563. s.CpuCredits = &v
  71564. return s
  71565. }
  71566. // SetDryRun sets the DryRun field's value.
  71567. func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
  71568. s.DryRun = &v
  71569. return s
  71570. }
  71571. // SetInstanceFamily sets the InstanceFamily field's value.
  71572. func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
  71573. s.InstanceFamily = &v
  71574. return s
  71575. }
  71576. type ModifyDefaultCreditSpecificationOutput struct {
  71577. _ struct{} `type:"structure"`
  71578. // The default credit option for CPU usage of the instance family.
  71579. InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
  71580. }
  71581. // String returns the string representation
  71582. func (s ModifyDefaultCreditSpecificationOutput) String() string {
  71583. return awsutil.Prettify(s)
  71584. }
  71585. // GoString returns the string representation
  71586. func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
  71587. return s.String()
  71588. }
  71589. // SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
  71590. func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
  71591. s.InstanceFamilyCreditSpecification = v
  71592. return s
  71593. }
  71594. type ModifyEbsDefaultKmsKeyIdInput struct {
  71595. _ struct{} `type:"structure"`
  71596. // Checks whether you have the required permissions for the action, without
  71597. // actually making the request, and provides an error response. If you have
  71598. // the required permissions, the error response is DryRunOperation. Otherwise,
  71599. // it is UnauthorizedOperation.
  71600. DryRun *bool `type:"boolean"`
  71601. // The identifier of the AWS Key Management Service (AWS KMS) customer master
  71602. // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
  71603. // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
  71604. // state must be true.
  71605. //
  71606. // You can specify the CMK using any of the following:
  71607. //
  71608. // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
  71609. //
  71610. // * Key alias. For example, alias/ExampleAlias.
  71611. //
  71612. // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  71613. //
  71614. // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  71615. //
  71616. // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
  71617. // alias, or ARN that is not valid, the action can appear to complete, but eventually
  71618. // fails.
  71619. //
  71620. // Amazon EBS does not support asymmetric CMKs.
  71621. //
  71622. // KmsKeyId is a required field
  71623. KmsKeyId *string `type:"string" required:"true"`
  71624. }
  71625. // String returns the string representation
  71626. func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
  71627. return awsutil.Prettify(s)
  71628. }
  71629. // GoString returns the string representation
  71630. func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
  71631. return s.String()
  71632. }
  71633. // Validate inspects the fields of the type to determine if they are valid.
  71634. func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
  71635. invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
  71636. if s.KmsKeyId == nil {
  71637. invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
  71638. }
  71639. if invalidParams.Len() > 0 {
  71640. return invalidParams
  71641. }
  71642. return nil
  71643. }
  71644. // SetDryRun sets the DryRun field's value.
  71645. func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
  71646. s.DryRun = &v
  71647. return s
  71648. }
  71649. // SetKmsKeyId sets the KmsKeyId field's value.
  71650. func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
  71651. s.KmsKeyId = &v
  71652. return s
  71653. }
  71654. type ModifyEbsDefaultKmsKeyIdOutput struct {
  71655. _ struct{} `type:"structure"`
  71656. // The Amazon Resource Name (ARN) of the default CMK for encryption by default.
  71657. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  71658. }
  71659. // String returns the string representation
  71660. func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
  71661. return awsutil.Prettify(s)
  71662. }
  71663. // GoString returns the string representation
  71664. func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
  71665. return s.String()
  71666. }
  71667. // SetKmsKeyId sets the KmsKeyId field's value.
  71668. func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
  71669. s.KmsKeyId = &v
  71670. return s
  71671. }
  71672. type ModifyFleetInput struct {
  71673. _ struct{} `type:"structure"`
  71674. // Checks whether you have the required permissions for the action, without
  71675. // actually making the request, and provides an error response. If you have
  71676. // the required permissions, the error response is DryRunOperation. Otherwise,
  71677. // it is UnauthorizedOperation.
  71678. DryRun *bool `type:"boolean"`
  71679. // Indicates whether running instances should be terminated if the total target
  71680. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  71681. // Fleet.
  71682. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  71683. // The ID of the EC2 Fleet.
  71684. //
  71685. // FleetId is a required field
  71686. FleetId *string `type:"string" required:"true"`
  71687. // The size of the EC2 Fleet.
  71688. //
  71689. // TargetCapacitySpecification is a required field
  71690. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  71691. }
  71692. // String returns the string representation
  71693. func (s ModifyFleetInput) String() string {
  71694. return awsutil.Prettify(s)
  71695. }
  71696. // GoString returns the string representation
  71697. func (s ModifyFleetInput) GoString() string {
  71698. return s.String()
  71699. }
  71700. // Validate inspects the fields of the type to determine if they are valid.
  71701. func (s *ModifyFleetInput) Validate() error {
  71702. invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
  71703. if s.FleetId == nil {
  71704. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  71705. }
  71706. if s.TargetCapacitySpecification == nil {
  71707. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  71708. }
  71709. if s.TargetCapacitySpecification != nil {
  71710. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  71711. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  71712. }
  71713. }
  71714. if invalidParams.Len() > 0 {
  71715. return invalidParams
  71716. }
  71717. return nil
  71718. }
  71719. // SetDryRun sets the DryRun field's value.
  71720. func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
  71721. s.DryRun = &v
  71722. return s
  71723. }
  71724. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  71725. func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
  71726. s.ExcessCapacityTerminationPolicy = &v
  71727. return s
  71728. }
  71729. // SetFleetId sets the FleetId field's value.
  71730. func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
  71731. s.FleetId = &v
  71732. return s
  71733. }
  71734. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  71735. func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
  71736. s.TargetCapacitySpecification = v
  71737. return s
  71738. }
  71739. type ModifyFleetOutput struct {
  71740. _ struct{} `type:"structure"`
  71741. // Is true if the request succeeds, and an error otherwise.
  71742. Return *bool `locationName:"return" type:"boolean"`
  71743. }
  71744. // String returns the string representation
  71745. func (s ModifyFleetOutput) String() string {
  71746. return awsutil.Prettify(s)
  71747. }
  71748. // GoString returns the string representation
  71749. func (s ModifyFleetOutput) GoString() string {
  71750. return s.String()
  71751. }
  71752. // SetReturn sets the Return field's value.
  71753. func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
  71754. s.Return = &v
  71755. return s
  71756. }
  71757. type ModifyFpgaImageAttributeInput struct {
  71758. _ struct{} `type:"structure"`
  71759. // The name of the attribute.
  71760. Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
  71761. // A description for the AFI.
  71762. Description *string `type:"string"`
  71763. // Checks whether you have the required permissions for the action, without
  71764. // actually making the request, and provides an error response. If you have
  71765. // the required permissions, the error response is DryRunOperation. Otherwise,
  71766. // it is UnauthorizedOperation.
  71767. DryRun *bool `type:"boolean"`
  71768. // The ID of the AFI.
  71769. //
  71770. // FpgaImageId is a required field
  71771. FpgaImageId *string `type:"string" required:"true"`
  71772. // The load permission for the AFI.
  71773. LoadPermission *LoadPermissionModifications `type:"structure"`
  71774. // A name for the AFI.
  71775. Name *string `type:"string"`
  71776. // The operation type.
  71777. OperationType *string `type:"string" enum:"OperationType"`
  71778. // The product codes. After you add a product code to an AFI, it can't be removed.
  71779. // This parameter is valid only when modifying the productCodes attribute.
  71780. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  71781. // The user groups. This parameter is valid only when modifying the loadPermission
  71782. // attribute.
  71783. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  71784. // The AWS account IDs. This parameter is valid only when modifying the loadPermission
  71785. // attribute.
  71786. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  71787. }
  71788. // String returns the string representation
  71789. func (s ModifyFpgaImageAttributeInput) String() string {
  71790. return awsutil.Prettify(s)
  71791. }
  71792. // GoString returns the string representation
  71793. func (s ModifyFpgaImageAttributeInput) GoString() string {
  71794. return s.String()
  71795. }
  71796. // Validate inspects the fields of the type to determine if they are valid.
  71797. func (s *ModifyFpgaImageAttributeInput) Validate() error {
  71798. invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
  71799. if s.FpgaImageId == nil {
  71800. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  71801. }
  71802. if invalidParams.Len() > 0 {
  71803. return invalidParams
  71804. }
  71805. return nil
  71806. }
  71807. // SetAttribute sets the Attribute field's value.
  71808. func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
  71809. s.Attribute = &v
  71810. return s
  71811. }
  71812. // SetDescription sets the Description field's value.
  71813. func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
  71814. s.Description = &v
  71815. return s
  71816. }
  71817. // SetDryRun sets the DryRun field's value.
  71818. func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
  71819. s.DryRun = &v
  71820. return s
  71821. }
  71822. // SetFpgaImageId sets the FpgaImageId field's value.
  71823. func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
  71824. s.FpgaImageId = &v
  71825. return s
  71826. }
  71827. // SetLoadPermission sets the LoadPermission field's value.
  71828. func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
  71829. s.LoadPermission = v
  71830. return s
  71831. }
  71832. // SetName sets the Name field's value.
  71833. func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
  71834. s.Name = &v
  71835. return s
  71836. }
  71837. // SetOperationType sets the OperationType field's value.
  71838. func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
  71839. s.OperationType = &v
  71840. return s
  71841. }
  71842. // SetProductCodes sets the ProductCodes field's value.
  71843. func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
  71844. s.ProductCodes = v
  71845. return s
  71846. }
  71847. // SetUserGroups sets the UserGroups field's value.
  71848. func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
  71849. s.UserGroups = v
  71850. return s
  71851. }
  71852. // SetUserIds sets the UserIds field's value.
  71853. func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
  71854. s.UserIds = v
  71855. return s
  71856. }
  71857. type ModifyFpgaImageAttributeOutput struct {
  71858. _ struct{} `type:"structure"`
  71859. // Information about the attribute.
  71860. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  71861. }
  71862. // String returns the string representation
  71863. func (s ModifyFpgaImageAttributeOutput) String() string {
  71864. return awsutil.Prettify(s)
  71865. }
  71866. // GoString returns the string representation
  71867. func (s ModifyFpgaImageAttributeOutput) GoString() string {
  71868. return s.String()
  71869. }
  71870. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  71871. func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
  71872. s.FpgaImageAttribute = v
  71873. return s
  71874. }
  71875. type ModifyHostsInput struct {
  71876. _ struct{} `type:"structure"`
  71877. // Specify whether to enable or disable auto-placement.
  71878. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  71879. // The IDs of the Dedicated Hosts to modify.
  71880. //
  71881. // HostIds is a required field
  71882. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  71883. // Indicates whether to enable or disable host recovery for the Dedicated Host.
  71884. // For more information, see Host Recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
  71885. // in the Amazon Elastic Compute Cloud User Guide.
  71886. HostRecovery *string `type:"string" enum:"HostRecovery"`
  71887. // Specifies the instance family to be supported by the Dedicated Host. Specify
  71888. // this parameter to modify a Dedicated Host to support multiple instance types
  71889. // within its current instance family.
  71890. //
  71891. // If you want to modify a Dedicated Host to support a specific instance type
  71892. // only, omit this parameter and specify InstanceType instead. You cannot specify
  71893. // InstanceFamily and InstanceType in the same request.
  71894. InstanceFamily *string `type:"string"`
  71895. // Specifies the instance type to be supported by the Dedicated Host. Specify
  71896. // this parameter to modify a Dedicated Host to support only a specific instance
  71897. // type.
  71898. //
  71899. // If you want to modify a Dedicated Host to support multiple instance types
  71900. // in its current instance family, omit this parameter and specify InstanceFamily
  71901. // instead. You cannot specify InstanceType and InstanceFamily in the same request.
  71902. InstanceType *string `type:"string"`
  71903. }
  71904. // String returns the string representation
  71905. func (s ModifyHostsInput) String() string {
  71906. return awsutil.Prettify(s)
  71907. }
  71908. // GoString returns the string representation
  71909. func (s ModifyHostsInput) GoString() string {
  71910. return s.String()
  71911. }
  71912. // Validate inspects the fields of the type to determine if they are valid.
  71913. func (s *ModifyHostsInput) Validate() error {
  71914. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  71915. if s.HostIds == nil {
  71916. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  71917. }
  71918. if invalidParams.Len() > 0 {
  71919. return invalidParams
  71920. }
  71921. return nil
  71922. }
  71923. // SetAutoPlacement sets the AutoPlacement field's value.
  71924. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  71925. s.AutoPlacement = &v
  71926. return s
  71927. }
  71928. // SetHostIds sets the HostIds field's value.
  71929. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  71930. s.HostIds = v
  71931. return s
  71932. }
  71933. // SetHostRecovery sets the HostRecovery field's value.
  71934. func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput {
  71935. s.HostRecovery = &v
  71936. return s
  71937. }
  71938. // SetInstanceFamily sets the InstanceFamily field's value.
  71939. func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput {
  71940. s.InstanceFamily = &v
  71941. return s
  71942. }
  71943. // SetInstanceType sets the InstanceType field's value.
  71944. func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput {
  71945. s.InstanceType = &v
  71946. return s
  71947. }
  71948. type ModifyHostsOutput struct {
  71949. _ struct{} `type:"structure"`
  71950. // The IDs of the Dedicated Hosts that were successfully modified.
  71951. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  71952. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  71953. // the setting you requested can be used.
  71954. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  71955. }
  71956. // String returns the string representation
  71957. func (s ModifyHostsOutput) String() string {
  71958. return awsutil.Prettify(s)
  71959. }
  71960. // GoString returns the string representation
  71961. func (s ModifyHostsOutput) GoString() string {
  71962. return s.String()
  71963. }
  71964. // SetSuccessful sets the Successful field's value.
  71965. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  71966. s.Successful = v
  71967. return s
  71968. }
  71969. // SetUnsuccessful sets the Unsuccessful field's value.
  71970. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  71971. s.Unsuccessful = v
  71972. return s
  71973. }
  71974. type ModifyIdFormatInput struct {
  71975. _ struct{} `type:"structure"`
  71976. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  71977. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  71978. // | image | import-task | internet-gateway | network-acl | network-acl-association
  71979. // | network-interface | network-interface-attachment | prefix-list | route-table
  71980. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  71981. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  71982. // | vpn-connection | vpn-gateway.
  71983. //
  71984. // Alternatively, use the all-current option to include all resource types that
  71985. // are currently within their opt-in period for longer IDs.
  71986. //
  71987. // Resource is a required field
  71988. Resource *string `type:"string" required:"true"`
  71989. // Indicate whether the resource should use longer IDs (17-character IDs).
  71990. //
  71991. // UseLongIds is a required field
  71992. UseLongIds *bool `type:"boolean" required:"true"`
  71993. }
  71994. // String returns the string representation
  71995. func (s ModifyIdFormatInput) String() string {
  71996. return awsutil.Prettify(s)
  71997. }
  71998. // GoString returns the string representation
  71999. func (s ModifyIdFormatInput) GoString() string {
  72000. return s.String()
  72001. }
  72002. // Validate inspects the fields of the type to determine if they are valid.
  72003. func (s *ModifyIdFormatInput) Validate() error {
  72004. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  72005. if s.Resource == nil {
  72006. invalidParams.Add(request.NewErrParamRequired("Resource"))
  72007. }
  72008. if s.UseLongIds == nil {
  72009. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  72010. }
  72011. if invalidParams.Len() > 0 {
  72012. return invalidParams
  72013. }
  72014. return nil
  72015. }
  72016. // SetResource sets the Resource field's value.
  72017. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  72018. s.Resource = &v
  72019. return s
  72020. }
  72021. // SetUseLongIds sets the UseLongIds field's value.
  72022. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  72023. s.UseLongIds = &v
  72024. return s
  72025. }
  72026. type ModifyIdFormatOutput struct {
  72027. _ struct{} `type:"structure"`
  72028. }
  72029. // String returns the string representation
  72030. func (s ModifyIdFormatOutput) String() string {
  72031. return awsutil.Prettify(s)
  72032. }
  72033. // GoString returns the string representation
  72034. func (s ModifyIdFormatOutput) GoString() string {
  72035. return s.String()
  72036. }
  72037. type ModifyIdentityIdFormatInput struct {
  72038. _ struct{} `type:"structure"`
  72039. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  72040. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  72041. // the root user of the account.
  72042. //
  72043. // PrincipalArn is a required field
  72044. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  72045. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  72046. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  72047. // | image | import-task | internet-gateway | network-acl | network-acl-association
  72048. // | network-interface | network-interface-attachment | prefix-list | route-table
  72049. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  72050. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  72051. // | vpn-connection | vpn-gateway.
  72052. //
  72053. // Alternatively, use the all-current option to include all resource types that
  72054. // are currently within their opt-in period for longer IDs.
  72055. //
  72056. // Resource is a required field
  72057. Resource *string `locationName:"resource" type:"string" required:"true"`
  72058. // Indicates whether the resource should use longer IDs (17-character IDs)
  72059. //
  72060. // UseLongIds is a required field
  72061. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  72062. }
  72063. // String returns the string representation
  72064. func (s ModifyIdentityIdFormatInput) String() string {
  72065. return awsutil.Prettify(s)
  72066. }
  72067. // GoString returns the string representation
  72068. func (s ModifyIdentityIdFormatInput) GoString() string {
  72069. return s.String()
  72070. }
  72071. // Validate inspects the fields of the type to determine if they are valid.
  72072. func (s *ModifyIdentityIdFormatInput) Validate() error {
  72073. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  72074. if s.PrincipalArn == nil {
  72075. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  72076. }
  72077. if s.Resource == nil {
  72078. invalidParams.Add(request.NewErrParamRequired("Resource"))
  72079. }
  72080. if s.UseLongIds == nil {
  72081. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  72082. }
  72083. if invalidParams.Len() > 0 {
  72084. return invalidParams
  72085. }
  72086. return nil
  72087. }
  72088. // SetPrincipalArn sets the PrincipalArn field's value.
  72089. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  72090. s.PrincipalArn = &v
  72091. return s
  72092. }
  72093. // SetResource sets the Resource field's value.
  72094. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  72095. s.Resource = &v
  72096. return s
  72097. }
  72098. // SetUseLongIds sets the UseLongIds field's value.
  72099. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  72100. s.UseLongIds = &v
  72101. return s
  72102. }
  72103. type ModifyIdentityIdFormatOutput struct {
  72104. _ struct{} `type:"structure"`
  72105. }
  72106. // String returns the string representation
  72107. func (s ModifyIdentityIdFormatOutput) String() string {
  72108. return awsutil.Prettify(s)
  72109. }
  72110. // GoString returns the string representation
  72111. func (s ModifyIdentityIdFormatOutput) GoString() string {
  72112. return s.String()
  72113. }
  72114. // Contains the parameters for ModifyImageAttribute.
  72115. type ModifyImageAttributeInput struct {
  72116. _ struct{} `type:"structure"`
  72117. // The name of the attribute to modify. The valid values are description, launchPermission,
  72118. // and productCodes.
  72119. Attribute *string `type:"string"`
  72120. // A new description for the AMI.
  72121. Description *AttributeValue `type:"structure"`
  72122. // Checks whether you have the required permissions for the action, without
  72123. // actually making the request, and provides an error response. If you have
  72124. // the required permissions, the error response is DryRunOperation. Otherwise,
  72125. // it is UnauthorizedOperation.
  72126. DryRun *bool `locationName:"dryRun" type:"boolean"`
  72127. // The ID of the AMI.
  72128. //
  72129. // ImageId is a required field
  72130. ImageId *string `type:"string" required:"true"`
  72131. // A new launch permission for the AMI.
  72132. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  72133. // The operation type. This parameter can be used only when the Attribute parameter
  72134. // is launchPermission.
  72135. OperationType *string `type:"string" enum:"OperationType"`
  72136. // The DevPay product codes. After you add a product code to an AMI, it can't
  72137. // be removed.
  72138. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  72139. // The user groups. This parameter can be used only when the Attribute parameter
  72140. // is launchPermission.
  72141. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  72142. // The AWS account IDs. This parameter can be used only when the Attribute parameter
  72143. // is launchPermission.
  72144. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  72145. // The value of the attribute being modified. This parameter can be used only
  72146. // when the Attribute parameter is description or productCodes.
  72147. Value *string `type:"string"`
  72148. }
  72149. // String returns the string representation
  72150. func (s ModifyImageAttributeInput) String() string {
  72151. return awsutil.Prettify(s)
  72152. }
  72153. // GoString returns the string representation
  72154. func (s ModifyImageAttributeInput) GoString() string {
  72155. return s.String()
  72156. }
  72157. // Validate inspects the fields of the type to determine if they are valid.
  72158. func (s *ModifyImageAttributeInput) Validate() error {
  72159. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  72160. if s.ImageId == nil {
  72161. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  72162. }
  72163. if invalidParams.Len() > 0 {
  72164. return invalidParams
  72165. }
  72166. return nil
  72167. }
  72168. // SetAttribute sets the Attribute field's value.
  72169. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  72170. s.Attribute = &v
  72171. return s
  72172. }
  72173. // SetDescription sets the Description field's value.
  72174. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  72175. s.Description = v
  72176. return s
  72177. }
  72178. // SetDryRun sets the DryRun field's value.
  72179. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  72180. s.DryRun = &v
  72181. return s
  72182. }
  72183. // SetImageId sets the ImageId field's value.
  72184. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  72185. s.ImageId = &v
  72186. return s
  72187. }
  72188. // SetLaunchPermission sets the LaunchPermission field's value.
  72189. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  72190. s.LaunchPermission = v
  72191. return s
  72192. }
  72193. // SetOperationType sets the OperationType field's value.
  72194. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  72195. s.OperationType = &v
  72196. return s
  72197. }
  72198. // SetProductCodes sets the ProductCodes field's value.
  72199. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  72200. s.ProductCodes = v
  72201. return s
  72202. }
  72203. // SetUserGroups sets the UserGroups field's value.
  72204. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  72205. s.UserGroups = v
  72206. return s
  72207. }
  72208. // SetUserIds sets the UserIds field's value.
  72209. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  72210. s.UserIds = v
  72211. return s
  72212. }
  72213. // SetValue sets the Value field's value.
  72214. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  72215. s.Value = &v
  72216. return s
  72217. }
  72218. type ModifyImageAttributeOutput struct {
  72219. _ struct{} `type:"structure"`
  72220. }
  72221. // String returns the string representation
  72222. func (s ModifyImageAttributeOutput) String() string {
  72223. return awsutil.Prettify(s)
  72224. }
  72225. // GoString returns the string representation
  72226. func (s ModifyImageAttributeOutput) GoString() string {
  72227. return s.String()
  72228. }
  72229. type ModifyInstanceAttributeInput struct {
  72230. _ struct{} `type:"structure"`
  72231. // The name of the attribute.
  72232. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  72233. // Modifies the DeleteOnTermination attribute for volumes that are currently
  72234. // attached. The volume must be owned by the caller. If no value is specified
  72235. // for DeleteOnTermination, the default is true and the volume is deleted when
  72236. // the instance is terminated.
  72237. //
  72238. // To add instance store volumes to an Amazon EBS-backed instance, you must
  72239. // add them when you launch the instance. For more information, see Updating
  72240. // the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  72241. // in the Amazon Elastic Compute Cloud User Guide.
  72242. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  72243. // If the value is true, you can't terminate the instance using the Amazon EC2
  72244. // console, CLI, or API; otherwise, you can. You cannot use this parameter for
  72245. // Spot Instances.
  72246. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  72247. // Checks whether you have the required permissions for the action, without
  72248. // actually making the request, and provides an error response. If you have
  72249. // the required permissions, the error response is DryRunOperation. Otherwise,
  72250. // it is UnauthorizedOperation.
  72251. DryRun *bool `locationName:"dryRun" type:"boolean"`
  72252. // Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
  72253. // provides dedicated throughput to Amazon EBS and an optimized configuration
  72254. // stack to provide optimal EBS I/O performance. This optimization isn't available
  72255. // with all instance types. Additional usage charges apply when using an EBS
  72256. // Optimized instance.
  72257. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  72258. // Set to true to enable enhanced networking with ENA for the instance.
  72259. //
  72260. // This option is supported only for HVM instances. Specifying this option with
  72261. // a PV instance can make it unreachable.
  72262. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  72263. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  72264. // least one security group, even if it's just the default security group for
  72265. // the VPC. You must specify the security group ID, not the security group name.
  72266. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  72267. // The ID of the instance.
  72268. //
  72269. // InstanceId is a required field
  72270. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  72271. // Specifies whether an instance stops or terminates when you initiate shutdown
  72272. // from the instance (using the operating system command for system shutdown).
  72273. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  72274. // Changes the instance type to the specified value. For more information, see
  72275. // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  72276. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  72277. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  72278. // Changes the instance's kernel to the specified value. We recommend that you
  72279. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  72280. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  72281. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  72282. // Changes the instance's RAM disk to the specified value. We recommend that
  72283. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  72284. // PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  72285. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  72286. // Specifies whether source/destination checking is enabled. A value of true
  72287. // means that checking is enabled, and false means that checking is disabled.
  72288. // This value must be false for a NAT instance to perform NAT.
  72289. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  72290. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  72291. // Function interface for the instance.
  72292. //
  72293. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  72294. // Function interface at this time.
  72295. //
  72296. // This option is supported only for HVM instances. Specifying this option with
  72297. // a PV instance can make it unreachable.
  72298. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  72299. // Changes the instance's user data to the specified value. If you are using
  72300. // an AWS SDK or command line tool, base64-encoding is performed for you, and
  72301. // you can load the text from a file. Otherwise, you must provide base64-encoded
  72302. // text.
  72303. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  72304. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  72305. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  72306. Value *string `locationName:"value" type:"string"`
  72307. }
  72308. // String returns the string representation
  72309. func (s ModifyInstanceAttributeInput) String() string {
  72310. return awsutil.Prettify(s)
  72311. }
  72312. // GoString returns the string representation
  72313. func (s ModifyInstanceAttributeInput) GoString() string {
  72314. return s.String()
  72315. }
  72316. // Validate inspects the fields of the type to determine if they are valid.
  72317. func (s *ModifyInstanceAttributeInput) Validate() error {
  72318. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  72319. if s.InstanceId == nil {
  72320. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  72321. }
  72322. if invalidParams.Len() > 0 {
  72323. return invalidParams
  72324. }
  72325. return nil
  72326. }
  72327. // SetAttribute sets the Attribute field's value.
  72328. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  72329. s.Attribute = &v
  72330. return s
  72331. }
  72332. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  72333. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  72334. s.BlockDeviceMappings = v
  72335. return s
  72336. }
  72337. // SetDisableApiTermination sets the DisableApiTermination field's value.
  72338. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  72339. s.DisableApiTermination = v
  72340. return s
  72341. }
  72342. // SetDryRun sets the DryRun field's value.
  72343. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  72344. s.DryRun = &v
  72345. return s
  72346. }
  72347. // SetEbsOptimized sets the EbsOptimized field's value.
  72348. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  72349. s.EbsOptimized = v
  72350. return s
  72351. }
  72352. // SetEnaSupport sets the EnaSupport field's value.
  72353. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  72354. s.EnaSupport = v
  72355. return s
  72356. }
  72357. // SetGroups sets the Groups field's value.
  72358. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  72359. s.Groups = v
  72360. return s
  72361. }
  72362. // SetInstanceId sets the InstanceId field's value.
  72363. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  72364. s.InstanceId = &v
  72365. return s
  72366. }
  72367. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  72368. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  72369. s.InstanceInitiatedShutdownBehavior = v
  72370. return s
  72371. }
  72372. // SetInstanceType sets the InstanceType field's value.
  72373. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  72374. s.InstanceType = v
  72375. return s
  72376. }
  72377. // SetKernel sets the Kernel field's value.
  72378. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  72379. s.Kernel = v
  72380. return s
  72381. }
  72382. // SetRamdisk sets the Ramdisk field's value.
  72383. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  72384. s.Ramdisk = v
  72385. return s
  72386. }
  72387. // SetSourceDestCheck sets the SourceDestCheck field's value.
  72388. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  72389. s.SourceDestCheck = v
  72390. return s
  72391. }
  72392. // SetSriovNetSupport sets the SriovNetSupport field's value.
  72393. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  72394. s.SriovNetSupport = v
  72395. return s
  72396. }
  72397. // SetUserData sets the UserData field's value.
  72398. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  72399. s.UserData = v
  72400. return s
  72401. }
  72402. // SetValue sets the Value field's value.
  72403. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  72404. s.Value = &v
  72405. return s
  72406. }
  72407. type ModifyInstanceAttributeOutput struct {
  72408. _ struct{} `type:"structure"`
  72409. }
  72410. // String returns the string representation
  72411. func (s ModifyInstanceAttributeOutput) String() string {
  72412. return awsutil.Prettify(s)
  72413. }
  72414. // GoString returns the string representation
  72415. func (s ModifyInstanceAttributeOutput) GoString() string {
  72416. return s.String()
  72417. }
  72418. type ModifyInstanceCapacityReservationAttributesInput struct {
  72419. _ struct{} `type:"structure"`
  72420. // Information about the Capacity Reservation targeting option.
  72421. //
  72422. // CapacityReservationSpecification is a required field
  72423. CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
  72424. // Checks whether you have the required permissions for the action, without
  72425. // actually making the request, and provides an error response. If you have
  72426. // the required permissions, the error response is DryRunOperation. Otherwise,
  72427. // it is UnauthorizedOperation.
  72428. DryRun *bool `type:"boolean"`
  72429. // The ID of the instance to be modified.
  72430. //
  72431. // InstanceId is a required field
  72432. InstanceId *string `type:"string" required:"true"`
  72433. }
  72434. // String returns the string representation
  72435. func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
  72436. return awsutil.Prettify(s)
  72437. }
  72438. // GoString returns the string representation
  72439. func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
  72440. return s.String()
  72441. }
  72442. // Validate inspects the fields of the type to determine if they are valid.
  72443. func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
  72444. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
  72445. if s.CapacityReservationSpecification == nil {
  72446. invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
  72447. }
  72448. if s.InstanceId == nil {
  72449. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  72450. }
  72451. if invalidParams.Len() > 0 {
  72452. return invalidParams
  72453. }
  72454. return nil
  72455. }
  72456. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  72457. func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
  72458. s.CapacityReservationSpecification = v
  72459. return s
  72460. }
  72461. // SetDryRun sets the DryRun field's value.
  72462. func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
  72463. s.DryRun = &v
  72464. return s
  72465. }
  72466. // SetInstanceId sets the InstanceId field's value.
  72467. func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
  72468. s.InstanceId = &v
  72469. return s
  72470. }
  72471. type ModifyInstanceCapacityReservationAttributesOutput struct {
  72472. _ struct{} `type:"structure"`
  72473. // Returns true if the request succeeds; otherwise, it returns an error.
  72474. Return *bool `locationName:"return" type:"boolean"`
  72475. }
  72476. // String returns the string representation
  72477. func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
  72478. return awsutil.Prettify(s)
  72479. }
  72480. // GoString returns the string representation
  72481. func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
  72482. return s.String()
  72483. }
  72484. // SetReturn sets the Return field's value.
  72485. func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
  72486. s.Return = &v
  72487. return s
  72488. }
  72489. type ModifyInstanceCreditSpecificationInput struct {
  72490. _ struct{} `type:"structure"`
  72491. // A unique, case-sensitive token that you provide to ensure idempotency of
  72492. // your modification request. For more information, see Ensuring Idempotency
  72493. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  72494. ClientToken *string `type:"string"`
  72495. // Checks whether you have the required permissions for the action, without
  72496. // actually making the request, and provides an error response. If you have
  72497. // the required permissions, the error response is DryRunOperation. Otherwise,
  72498. // it is UnauthorizedOperation.
  72499. DryRun *bool `type:"boolean"`
  72500. // Information about the credit option for CPU usage.
  72501. //
  72502. // InstanceCreditSpecifications is a required field
  72503. InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
  72504. }
  72505. // String returns the string representation
  72506. func (s ModifyInstanceCreditSpecificationInput) String() string {
  72507. return awsutil.Prettify(s)
  72508. }
  72509. // GoString returns the string representation
  72510. func (s ModifyInstanceCreditSpecificationInput) GoString() string {
  72511. return s.String()
  72512. }
  72513. // Validate inspects the fields of the type to determine if they are valid.
  72514. func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
  72515. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
  72516. if s.InstanceCreditSpecifications == nil {
  72517. invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
  72518. }
  72519. if invalidParams.Len() > 0 {
  72520. return invalidParams
  72521. }
  72522. return nil
  72523. }
  72524. // SetClientToken sets the ClientToken field's value.
  72525. func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
  72526. s.ClientToken = &v
  72527. return s
  72528. }
  72529. // SetDryRun sets the DryRun field's value.
  72530. func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
  72531. s.DryRun = &v
  72532. return s
  72533. }
  72534. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  72535. func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
  72536. s.InstanceCreditSpecifications = v
  72537. return s
  72538. }
  72539. type ModifyInstanceCreditSpecificationOutput struct {
  72540. _ struct{} `type:"structure"`
  72541. // Information about the instances whose credit option for CPU usage was successfully
  72542. // modified.
  72543. SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  72544. // Information about the instances whose credit option for CPU usage was not
  72545. // modified.
  72546. UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  72547. }
  72548. // String returns the string representation
  72549. func (s ModifyInstanceCreditSpecificationOutput) String() string {
  72550. return awsutil.Prettify(s)
  72551. }
  72552. // GoString returns the string representation
  72553. func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
  72554. return s.String()
  72555. }
  72556. // SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
  72557. func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  72558. s.SuccessfulInstanceCreditSpecifications = v
  72559. return s
  72560. }
  72561. // SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
  72562. func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  72563. s.UnsuccessfulInstanceCreditSpecifications = v
  72564. return s
  72565. }
  72566. type ModifyInstanceEventStartTimeInput struct {
  72567. _ struct{} `type:"structure"`
  72568. // Checks whether you have the required permissions for the action, without
  72569. // actually making the request, and provides an error response. If you have
  72570. // the required permissions, the error response is DryRunOperation. Otherwise,
  72571. // it is UnauthorizedOperation.
  72572. DryRun *bool `type:"boolean"`
  72573. // The ID of the event whose date and time you are modifying.
  72574. //
  72575. // InstanceEventId is a required field
  72576. InstanceEventId *string `type:"string" required:"true"`
  72577. // The ID of the instance with the scheduled event.
  72578. //
  72579. // InstanceId is a required field
  72580. InstanceId *string `type:"string" required:"true"`
  72581. // The new date and time when the event will take place.
  72582. //
  72583. // NotBefore is a required field
  72584. NotBefore *time.Time `type:"timestamp" required:"true"`
  72585. }
  72586. // String returns the string representation
  72587. func (s ModifyInstanceEventStartTimeInput) String() string {
  72588. return awsutil.Prettify(s)
  72589. }
  72590. // GoString returns the string representation
  72591. func (s ModifyInstanceEventStartTimeInput) GoString() string {
  72592. return s.String()
  72593. }
  72594. // Validate inspects the fields of the type to determine if they are valid.
  72595. func (s *ModifyInstanceEventStartTimeInput) Validate() error {
  72596. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
  72597. if s.InstanceEventId == nil {
  72598. invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
  72599. }
  72600. if s.InstanceId == nil {
  72601. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  72602. }
  72603. if s.NotBefore == nil {
  72604. invalidParams.Add(request.NewErrParamRequired("NotBefore"))
  72605. }
  72606. if invalidParams.Len() > 0 {
  72607. return invalidParams
  72608. }
  72609. return nil
  72610. }
  72611. // SetDryRun sets the DryRun field's value.
  72612. func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
  72613. s.DryRun = &v
  72614. return s
  72615. }
  72616. // SetInstanceEventId sets the InstanceEventId field's value.
  72617. func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
  72618. s.InstanceEventId = &v
  72619. return s
  72620. }
  72621. // SetInstanceId sets the InstanceId field's value.
  72622. func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
  72623. s.InstanceId = &v
  72624. return s
  72625. }
  72626. // SetNotBefore sets the NotBefore field's value.
  72627. func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
  72628. s.NotBefore = &v
  72629. return s
  72630. }
  72631. type ModifyInstanceEventStartTimeOutput struct {
  72632. _ struct{} `type:"structure"`
  72633. // Describes a scheduled event for an instance.
  72634. Event *InstanceStatusEvent `locationName:"event" type:"structure"`
  72635. }
  72636. // String returns the string representation
  72637. func (s ModifyInstanceEventStartTimeOutput) String() string {
  72638. return awsutil.Prettify(s)
  72639. }
  72640. // GoString returns the string representation
  72641. func (s ModifyInstanceEventStartTimeOutput) GoString() string {
  72642. return s.String()
  72643. }
  72644. // SetEvent sets the Event field's value.
  72645. func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
  72646. s.Event = v
  72647. return s
  72648. }
  72649. type ModifyInstanceMetadataOptionsInput struct {
  72650. _ struct{} `type:"structure"`
  72651. // Checks whether you have the required permissions for the action, without
  72652. // actually making the request, and provides an error response. If you have
  72653. // the required permissions, the error response is DryRunOperation. Otherwise,
  72654. // it is UnauthorizedOperation.
  72655. DryRun *bool `type:"boolean"`
  72656. // This parameter enables or disables the HTTP metadata endpoint on your instances.
  72657. // If the parameter is not specified, the existing state is maintained.
  72658. //
  72659. // If you specify a value of disabled, you will not be able to access your instance
  72660. // metadata.
  72661. HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
  72662. // The desired HTTP PUT response hop limit for instance metadata requests. The
  72663. // larger the number, the further instance metadata requests can travel. If
  72664. // no parameter is specified, the existing state is maintained.
  72665. //
  72666. // Possible values: Integers from 1 to 64
  72667. HttpPutResponseHopLimit *int64 `type:"integer"`
  72668. // The state of token usage for your instance metadata requests. If the parameter
  72669. // is not specified in the request, the default state is optional.
  72670. //
  72671. // If the state is optional, you can choose to retrieve instance metadata with
  72672. // or without a signed token header on your request. If you retrieve the IAM
  72673. // role credentials without a token, the version 1.0 role credentials are returned.
  72674. // If you retrieve the IAM role credentials using a valid signed token, the
  72675. // version 2.0 role credentials are returned.
  72676. //
  72677. // If the state is required, you must send a signed token header with any instance
  72678. // metadata retrieval requests. In this state, retrieving the IAM role credential
  72679. // always returns the version 2.0 credentials; the version 1.0 credentials are
  72680. // not available.
  72681. HttpTokens *string `type:"string" enum:"HttpTokensState"`
  72682. // The ID of the instance.
  72683. //
  72684. // InstanceId is a required field
  72685. InstanceId *string `type:"string" required:"true"`
  72686. }
  72687. // String returns the string representation
  72688. func (s ModifyInstanceMetadataOptionsInput) String() string {
  72689. return awsutil.Prettify(s)
  72690. }
  72691. // GoString returns the string representation
  72692. func (s ModifyInstanceMetadataOptionsInput) GoString() string {
  72693. return s.String()
  72694. }
  72695. // Validate inspects the fields of the type to determine if they are valid.
  72696. func (s *ModifyInstanceMetadataOptionsInput) Validate() error {
  72697. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceMetadataOptionsInput"}
  72698. if s.InstanceId == nil {
  72699. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  72700. }
  72701. if invalidParams.Len() > 0 {
  72702. return invalidParams
  72703. }
  72704. return nil
  72705. }
  72706. // SetDryRun sets the DryRun field's value.
  72707. func (s *ModifyInstanceMetadataOptionsInput) SetDryRun(v bool) *ModifyInstanceMetadataOptionsInput {
  72708. s.DryRun = &v
  72709. return s
  72710. }
  72711. // SetHttpEndpoint sets the HttpEndpoint field's value.
  72712. func (s *ModifyInstanceMetadataOptionsInput) SetHttpEndpoint(v string) *ModifyInstanceMetadataOptionsInput {
  72713. s.HttpEndpoint = &v
  72714. return s
  72715. }
  72716. // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
  72717. func (s *ModifyInstanceMetadataOptionsInput) SetHttpPutResponseHopLimit(v int64) *ModifyInstanceMetadataOptionsInput {
  72718. s.HttpPutResponseHopLimit = &v
  72719. return s
  72720. }
  72721. // SetHttpTokens sets the HttpTokens field's value.
  72722. func (s *ModifyInstanceMetadataOptionsInput) SetHttpTokens(v string) *ModifyInstanceMetadataOptionsInput {
  72723. s.HttpTokens = &v
  72724. return s
  72725. }
  72726. // SetInstanceId sets the InstanceId field's value.
  72727. func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsInput {
  72728. s.InstanceId = &v
  72729. return s
  72730. }
  72731. type ModifyInstanceMetadataOptionsOutput struct {
  72732. _ struct{} `type:"structure"`
  72733. // The ID of the instance.
  72734. InstanceId *string `locationName:"instanceId" type:"string"`
  72735. // The metadata options for the instance.
  72736. InstanceMetadataOptions *InstanceMetadataOptionsResponse `locationName:"instanceMetadataOptions" type:"structure"`
  72737. }
  72738. // String returns the string representation
  72739. func (s ModifyInstanceMetadataOptionsOutput) String() string {
  72740. return awsutil.Prettify(s)
  72741. }
  72742. // GoString returns the string representation
  72743. func (s ModifyInstanceMetadataOptionsOutput) GoString() string {
  72744. return s.String()
  72745. }
  72746. // SetInstanceId sets the InstanceId field's value.
  72747. func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsOutput {
  72748. s.InstanceId = &v
  72749. return s
  72750. }
  72751. // SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
  72752. func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceMetadataOptions(v *InstanceMetadataOptionsResponse) *ModifyInstanceMetadataOptionsOutput {
  72753. s.InstanceMetadataOptions = v
  72754. return s
  72755. }
  72756. type ModifyInstancePlacementInput struct {
  72757. _ struct{} `type:"structure"`
  72758. // The affinity setting for the instance.
  72759. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  72760. // The name of the placement group in which to place the instance. For spread
  72761. // placement groups, the instance must have a tenancy of default. For cluster
  72762. // and partition placement groups, the instance must have a tenancy of default
  72763. // or dedicated.
  72764. //
  72765. // To remove an instance from a placement group, specify an empty string ("").
  72766. GroupName *string `type:"string"`
  72767. // The ID of the Dedicated Host with which to associate the instance.
  72768. HostId *string `locationName:"hostId" type:"string"`
  72769. // The ARN of the host resource group in which to place the instance.
  72770. HostResourceGroupArn *string `type:"string"`
  72771. // The ID of the instance that you are modifying.
  72772. //
  72773. // InstanceId is a required field
  72774. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  72775. // Reserved for future use.
  72776. PartitionNumber *int64 `type:"integer"`
  72777. // The tenancy for the instance.
  72778. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  72779. }
  72780. // String returns the string representation
  72781. func (s ModifyInstancePlacementInput) String() string {
  72782. return awsutil.Prettify(s)
  72783. }
  72784. // GoString returns the string representation
  72785. func (s ModifyInstancePlacementInput) GoString() string {
  72786. return s.String()
  72787. }
  72788. // Validate inspects the fields of the type to determine if they are valid.
  72789. func (s *ModifyInstancePlacementInput) Validate() error {
  72790. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  72791. if s.InstanceId == nil {
  72792. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  72793. }
  72794. if invalidParams.Len() > 0 {
  72795. return invalidParams
  72796. }
  72797. return nil
  72798. }
  72799. // SetAffinity sets the Affinity field's value.
  72800. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  72801. s.Affinity = &v
  72802. return s
  72803. }
  72804. // SetGroupName sets the GroupName field's value.
  72805. func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
  72806. s.GroupName = &v
  72807. return s
  72808. }
  72809. // SetHostId sets the HostId field's value.
  72810. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  72811. s.HostId = &v
  72812. return s
  72813. }
  72814. // SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
  72815. func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
  72816. s.HostResourceGroupArn = &v
  72817. return s
  72818. }
  72819. // SetInstanceId sets the InstanceId field's value.
  72820. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  72821. s.InstanceId = &v
  72822. return s
  72823. }
  72824. // SetPartitionNumber sets the PartitionNumber field's value.
  72825. func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
  72826. s.PartitionNumber = &v
  72827. return s
  72828. }
  72829. // SetTenancy sets the Tenancy field's value.
  72830. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  72831. s.Tenancy = &v
  72832. return s
  72833. }
  72834. type ModifyInstancePlacementOutput struct {
  72835. _ struct{} `type:"structure"`
  72836. // Is true if the request succeeds, and an error otherwise.
  72837. Return *bool `locationName:"return" type:"boolean"`
  72838. }
  72839. // String returns the string representation
  72840. func (s ModifyInstancePlacementOutput) String() string {
  72841. return awsutil.Prettify(s)
  72842. }
  72843. // GoString returns the string representation
  72844. func (s ModifyInstancePlacementOutput) GoString() string {
  72845. return s.String()
  72846. }
  72847. // SetReturn sets the Return field's value.
  72848. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  72849. s.Return = &v
  72850. return s
  72851. }
  72852. type ModifyLaunchTemplateInput struct {
  72853. _ struct{} `type:"structure"`
  72854. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  72855. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  72856. //
  72857. // Constraint: Maximum 128 ASCII characters.
  72858. ClientToken *string `type:"string"`
  72859. // The version number of the launch template to set as the default version.
  72860. DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
  72861. // Checks whether you have the required permissions for the action, without
  72862. // actually making the request, and provides an error response. If you have
  72863. // the required permissions, the error response is DryRunOperation. Otherwise,
  72864. // it is UnauthorizedOperation.
  72865. DryRun *bool `type:"boolean"`
  72866. // The ID of the launch template. You must specify either the launch template
  72867. // ID or launch template name in the request.
  72868. LaunchTemplateId *string `type:"string"`
  72869. // The name of the launch template. You must specify either the launch template
  72870. // ID or launch template name in the request.
  72871. LaunchTemplateName *string `min:"3" type:"string"`
  72872. }
  72873. // String returns the string representation
  72874. func (s ModifyLaunchTemplateInput) String() string {
  72875. return awsutil.Prettify(s)
  72876. }
  72877. // GoString returns the string representation
  72878. func (s ModifyLaunchTemplateInput) GoString() string {
  72879. return s.String()
  72880. }
  72881. // Validate inspects the fields of the type to determine if they are valid.
  72882. func (s *ModifyLaunchTemplateInput) Validate() error {
  72883. invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
  72884. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  72885. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  72886. }
  72887. if invalidParams.Len() > 0 {
  72888. return invalidParams
  72889. }
  72890. return nil
  72891. }
  72892. // SetClientToken sets the ClientToken field's value.
  72893. func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
  72894. s.ClientToken = &v
  72895. return s
  72896. }
  72897. // SetDefaultVersion sets the DefaultVersion field's value.
  72898. func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
  72899. s.DefaultVersion = &v
  72900. return s
  72901. }
  72902. // SetDryRun sets the DryRun field's value.
  72903. func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
  72904. s.DryRun = &v
  72905. return s
  72906. }
  72907. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  72908. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
  72909. s.LaunchTemplateId = &v
  72910. return s
  72911. }
  72912. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  72913. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
  72914. s.LaunchTemplateName = &v
  72915. return s
  72916. }
  72917. type ModifyLaunchTemplateOutput struct {
  72918. _ struct{} `type:"structure"`
  72919. // Information about the launch template.
  72920. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  72921. }
  72922. // String returns the string representation
  72923. func (s ModifyLaunchTemplateOutput) String() string {
  72924. return awsutil.Prettify(s)
  72925. }
  72926. // GoString returns the string representation
  72927. func (s ModifyLaunchTemplateOutput) GoString() string {
  72928. return s.String()
  72929. }
  72930. // SetLaunchTemplate sets the LaunchTemplate field's value.
  72931. func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
  72932. s.LaunchTemplate = v
  72933. return s
  72934. }
  72935. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  72936. type ModifyNetworkInterfaceAttributeInput struct {
  72937. _ struct{} `type:"structure"`
  72938. // Information about the interface attachment. If modifying the 'delete on termination'
  72939. // attribute, you must specify the ID of the interface attachment.
  72940. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  72941. // A description for the network interface.
  72942. Description *AttributeValue `locationName:"description" type:"structure"`
  72943. // Checks whether you have the required permissions for the action, without
  72944. // actually making the request, and provides an error response. If you have
  72945. // the required permissions, the error response is DryRunOperation. Otherwise,
  72946. // it is UnauthorizedOperation.
  72947. DryRun *bool `locationName:"dryRun" type:"boolean"`
  72948. // Changes the security groups for the network interface. The new set of groups
  72949. // you specify replaces the current set. You must specify at least one group,
  72950. // even if it's just the default security group in the VPC. You must specify
  72951. // the ID of the security group, not the name.
  72952. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  72953. // The ID of the network interface.
  72954. //
  72955. // NetworkInterfaceId is a required field
  72956. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  72957. // Indicates whether source/destination checking is enabled. A value of true
  72958. // means checking is enabled, and false means checking is disabled. This value
  72959. // must be false for a NAT instance to perform NAT. For more information, see
  72960. // NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  72961. // in the Amazon Virtual Private Cloud User Guide.
  72962. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  72963. }
  72964. // String returns the string representation
  72965. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  72966. return awsutil.Prettify(s)
  72967. }
  72968. // GoString returns the string representation
  72969. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  72970. return s.String()
  72971. }
  72972. // Validate inspects the fields of the type to determine if they are valid.
  72973. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  72974. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  72975. if s.NetworkInterfaceId == nil {
  72976. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  72977. }
  72978. if invalidParams.Len() > 0 {
  72979. return invalidParams
  72980. }
  72981. return nil
  72982. }
  72983. // SetAttachment sets the Attachment field's value.
  72984. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  72985. s.Attachment = v
  72986. return s
  72987. }
  72988. // SetDescription sets the Description field's value.
  72989. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  72990. s.Description = v
  72991. return s
  72992. }
  72993. // SetDryRun sets the DryRun field's value.
  72994. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  72995. s.DryRun = &v
  72996. return s
  72997. }
  72998. // SetGroups sets the Groups field's value.
  72999. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  73000. s.Groups = v
  73001. return s
  73002. }
  73003. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  73004. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  73005. s.NetworkInterfaceId = &v
  73006. return s
  73007. }
  73008. // SetSourceDestCheck sets the SourceDestCheck field's value.
  73009. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  73010. s.SourceDestCheck = v
  73011. return s
  73012. }
  73013. type ModifyNetworkInterfaceAttributeOutput struct {
  73014. _ struct{} `type:"structure"`
  73015. }
  73016. // String returns the string representation
  73017. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  73018. return awsutil.Prettify(s)
  73019. }
  73020. // GoString returns the string representation
  73021. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  73022. return s.String()
  73023. }
  73024. // Contains the parameters for ModifyReservedInstances.
  73025. type ModifyReservedInstancesInput struct {
  73026. _ struct{} `type:"structure"`
  73027. // A unique, case-sensitive token you provide to ensure idempotency of your
  73028. // modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  73029. ClientToken *string `locationName:"clientToken" type:"string"`
  73030. // The IDs of the Reserved Instances to modify.
  73031. //
  73032. // ReservedInstancesIds is a required field
  73033. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  73034. // The configuration settings for the Reserved Instances to modify.
  73035. //
  73036. // TargetConfigurations is a required field
  73037. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  73038. }
  73039. // String returns the string representation
  73040. func (s ModifyReservedInstancesInput) String() string {
  73041. return awsutil.Prettify(s)
  73042. }
  73043. // GoString returns the string representation
  73044. func (s ModifyReservedInstancesInput) GoString() string {
  73045. return s.String()
  73046. }
  73047. // Validate inspects the fields of the type to determine if they are valid.
  73048. func (s *ModifyReservedInstancesInput) Validate() error {
  73049. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  73050. if s.ReservedInstancesIds == nil {
  73051. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  73052. }
  73053. if s.TargetConfigurations == nil {
  73054. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  73055. }
  73056. if invalidParams.Len() > 0 {
  73057. return invalidParams
  73058. }
  73059. return nil
  73060. }
  73061. // SetClientToken sets the ClientToken field's value.
  73062. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  73063. s.ClientToken = &v
  73064. return s
  73065. }
  73066. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  73067. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  73068. s.ReservedInstancesIds = v
  73069. return s
  73070. }
  73071. // SetTargetConfigurations sets the TargetConfigurations field's value.
  73072. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  73073. s.TargetConfigurations = v
  73074. return s
  73075. }
  73076. // Contains the output of ModifyReservedInstances.
  73077. type ModifyReservedInstancesOutput struct {
  73078. _ struct{} `type:"structure"`
  73079. // The ID for the modification.
  73080. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  73081. }
  73082. // String returns the string representation
  73083. func (s ModifyReservedInstancesOutput) String() string {
  73084. return awsutil.Prettify(s)
  73085. }
  73086. // GoString returns the string representation
  73087. func (s ModifyReservedInstancesOutput) GoString() string {
  73088. return s.String()
  73089. }
  73090. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  73091. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  73092. s.ReservedInstancesModificationId = &v
  73093. return s
  73094. }
  73095. type ModifySnapshotAttributeInput struct {
  73096. _ struct{} `type:"structure"`
  73097. // The snapshot attribute to modify. Only volume creation permissions can be
  73098. // modified.
  73099. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  73100. // A JSON representation of the snapshot attribute modification.
  73101. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  73102. // Checks whether you have the required permissions for the action, without
  73103. // actually making the request, and provides an error response. If you have
  73104. // the required permissions, the error response is DryRunOperation. Otherwise,
  73105. // it is UnauthorizedOperation.
  73106. DryRun *bool `locationName:"dryRun" type:"boolean"`
  73107. // The group to modify for the snapshot.
  73108. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  73109. // The type of operation to perform to the attribute.
  73110. OperationType *string `type:"string" enum:"OperationType"`
  73111. // The ID of the snapshot.
  73112. //
  73113. // SnapshotId is a required field
  73114. SnapshotId *string `type:"string" required:"true"`
  73115. // The account ID to modify for the snapshot.
  73116. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  73117. }
  73118. // String returns the string representation
  73119. func (s ModifySnapshotAttributeInput) String() string {
  73120. return awsutil.Prettify(s)
  73121. }
  73122. // GoString returns the string representation
  73123. func (s ModifySnapshotAttributeInput) GoString() string {
  73124. return s.String()
  73125. }
  73126. // Validate inspects the fields of the type to determine if they are valid.
  73127. func (s *ModifySnapshotAttributeInput) Validate() error {
  73128. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  73129. if s.SnapshotId == nil {
  73130. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  73131. }
  73132. if invalidParams.Len() > 0 {
  73133. return invalidParams
  73134. }
  73135. return nil
  73136. }
  73137. // SetAttribute sets the Attribute field's value.
  73138. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  73139. s.Attribute = &v
  73140. return s
  73141. }
  73142. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  73143. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  73144. s.CreateVolumePermission = v
  73145. return s
  73146. }
  73147. // SetDryRun sets the DryRun field's value.
  73148. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  73149. s.DryRun = &v
  73150. return s
  73151. }
  73152. // SetGroupNames sets the GroupNames field's value.
  73153. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  73154. s.GroupNames = v
  73155. return s
  73156. }
  73157. // SetOperationType sets the OperationType field's value.
  73158. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  73159. s.OperationType = &v
  73160. return s
  73161. }
  73162. // SetSnapshotId sets the SnapshotId field's value.
  73163. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  73164. s.SnapshotId = &v
  73165. return s
  73166. }
  73167. // SetUserIds sets the UserIds field's value.
  73168. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  73169. s.UserIds = v
  73170. return s
  73171. }
  73172. type ModifySnapshotAttributeOutput struct {
  73173. _ struct{} `type:"structure"`
  73174. }
  73175. // String returns the string representation
  73176. func (s ModifySnapshotAttributeOutput) String() string {
  73177. return awsutil.Prettify(s)
  73178. }
  73179. // GoString returns the string representation
  73180. func (s ModifySnapshotAttributeOutput) GoString() string {
  73181. return s.String()
  73182. }
  73183. // Contains the parameters for ModifySpotFleetRequest.
  73184. type ModifySpotFleetRequestInput struct {
  73185. _ struct{} `type:"structure"`
  73186. // Indicates whether running Spot Instances should be terminated if the target
  73187. // capacity of the Spot Fleet request is decreased below the current size of
  73188. // the Spot Fleet.
  73189. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  73190. // The number of On-Demand Instances in the fleet.
  73191. OnDemandTargetCapacity *int64 `type:"integer"`
  73192. // The ID of the Spot Fleet request.
  73193. //
  73194. // SpotFleetRequestId is a required field
  73195. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  73196. // The size of the fleet.
  73197. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  73198. }
  73199. // String returns the string representation
  73200. func (s ModifySpotFleetRequestInput) String() string {
  73201. return awsutil.Prettify(s)
  73202. }
  73203. // GoString returns the string representation
  73204. func (s ModifySpotFleetRequestInput) GoString() string {
  73205. return s.String()
  73206. }
  73207. // Validate inspects the fields of the type to determine if they are valid.
  73208. func (s *ModifySpotFleetRequestInput) Validate() error {
  73209. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  73210. if s.SpotFleetRequestId == nil {
  73211. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  73212. }
  73213. if invalidParams.Len() > 0 {
  73214. return invalidParams
  73215. }
  73216. return nil
  73217. }
  73218. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  73219. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  73220. s.ExcessCapacityTerminationPolicy = &v
  73221. return s
  73222. }
  73223. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  73224. func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  73225. s.OnDemandTargetCapacity = &v
  73226. return s
  73227. }
  73228. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  73229. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  73230. s.SpotFleetRequestId = &v
  73231. return s
  73232. }
  73233. // SetTargetCapacity sets the TargetCapacity field's value.
  73234. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  73235. s.TargetCapacity = &v
  73236. return s
  73237. }
  73238. // Contains the output of ModifySpotFleetRequest.
  73239. type ModifySpotFleetRequestOutput struct {
  73240. _ struct{} `type:"structure"`
  73241. // Is true if the request succeeds, and an error otherwise.
  73242. Return *bool `locationName:"return" type:"boolean"`
  73243. }
  73244. // String returns the string representation
  73245. func (s ModifySpotFleetRequestOutput) String() string {
  73246. return awsutil.Prettify(s)
  73247. }
  73248. // GoString returns the string representation
  73249. func (s ModifySpotFleetRequestOutput) GoString() string {
  73250. return s.String()
  73251. }
  73252. // SetReturn sets the Return field's value.
  73253. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  73254. s.Return = &v
  73255. return s
  73256. }
  73257. type ModifySubnetAttributeInput struct {
  73258. _ struct{} `type:"structure"`
  73259. // Specify true to indicate that network interfaces created in the specified
  73260. // subnet should be assigned an IPv6 address. This includes a network interface
  73261. // that's created when launching an instance into the subnet (the instance therefore
  73262. // receives an IPv6 address).
  73263. //
  73264. // If you enable the IPv6 addressing feature for your subnet, your network interface
  73265. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  73266. // or later of the Amazon EC2 API.
  73267. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  73268. // Specify true to indicate that ENIs attached to instances created in the specified
  73269. // subnet should be assigned a public IPv4 address.
  73270. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  73271. // The ID of the subnet.
  73272. //
  73273. // SubnetId is a required field
  73274. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  73275. }
  73276. // String returns the string representation
  73277. func (s ModifySubnetAttributeInput) String() string {
  73278. return awsutil.Prettify(s)
  73279. }
  73280. // GoString returns the string representation
  73281. func (s ModifySubnetAttributeInput) GoString() string {
  73282. return s.String()
  73283. }
  73284. // Validate inspects the fields of the type to determine if they are valid.
  73285. func (s *ModifySubnetAttributeInput) Validate() error {
  73286. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  73287. if s.SubnetId == nil {
  73288. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  73289. }
  73290. if invalidParams.Len() > 0 {
  73291. return invalidParams
  73292. }
  73293. return nil
  73294. }
  73295. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  73296. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  73297. s.AssignIpv6AddressOnCreation = v
  73298. return s
  73299. }
  73300. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  73301. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  73302. s.MapPublicIpOnLaunch = v
  73303. return s
  73304. }
  73305. // SetSubnetId sets the SubnetId field's value.
  73306. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  73307. s.SubnetId = &v
  73308. return s
  73309. }
  73310. type ModifySubnetAttributeOutput struct {
  73311. _ struct{} `type:"structure"`
  73312. }
  73313. // String returns the string representation
  73314. func (s ModifySubnetAttributeOutput) String() string {
  73315. return awsutil.Prettify(s)
  73316. }
  73317. // GoString returns the string representation
  73318. func (s ModifySubnetAttributeOutput) GoString() string {
  73319. return s.String()
  73320. }
  73321. type ModifyTrafficMirrorFilterNetworkServicesInput struct {
  73322. _ struct{} `type:"structure"`
  73323. // The network service, for example Amazon DNS, that you want to mirror.
  73324. AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"`
  73325. // Checks whether you have the required permissions for the action, without
  73326. // actually making the request, and provides an error response. If you have
  73327. // the required permissions, the error response is DryRunOperation. Otherwise,
  73328. // it is UnauthorizedOperation.
  73329. DryRun *bool `type:"boolean"`
  73330. // The network service, for example Amazon DNS, that you no longer want to mirror.
  73331. RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"`
  73332. // The ID of the Traffic Mirror filter.
  73333. //
  73334. // TrafficMirrorFilterId is a required field
  73335. TrafficMirrorFilterId *string `type:"string" required:"true"`
  73336. }
  73337. // String returns the string representation
  73338. func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string {
  73339. return awsutil.Prettify(s)
  73340. }
  73341. // GoString returns the string representation
  73342. func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string {
  73343. return s.String()
  73344. }
  73345. // Validate inspects the fields of the type to determine if they are valid.
  73346. func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error {
  73347. invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"}
  73348. if s.TrafficMirrorFilterId == nil {
  73349. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
  73350. }
  73351. if invalidParams.Len() > 0 {
  73352. return invalidParams
  73353. }
  73354. return nil
  73355. }
  73356. // SetAddNetworkServices sets the AddNetworkServices field's value.
  73357. func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
  73358. s.AddNetworkServices = v
  73359. return s
  73360. }
  73361. // SetDryRun sets the DryRun field's value.
  73362. func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput {
  73363. s.DryRun = &v
  73364. return s
  73365. }
  73366. // SetRemoveNetworkServices sets the RemoveNetworkServices field's value.
  73367. func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
  73368. s.RemoveNetworkServices = v
  73369. return s
  73370. }
  73371. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  73372. func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput {
  73373. s.TrafficMirrorFilterId = &v
  73374. return s
  73375. }
  73376. type ModifyTrafficMirrorFilterNetworkServicesOutput struct {
  73377. _ struct{} `type:"structure"`
  73378. // The Traffic Mirror filter that the network service is associated with.
  73379. TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
  73380. }
  73381. // String returns the string representation
  73382. func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string {
  73383. return awsutil.Prettify(s)
  73384. }
  73385. // GoString returns the string representation
  73386. func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string {
  73387. return s.String()
  73388. }
  73389. // SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
  73390. func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput {
  73391. s.TrafficMirrorFilter = v
  73392. return s
  73393. }
  73394. type ModifyTrafficMirrorFilterRuleInput struct {
  73395. _ struct{} `type:"structure"`
  73396. // The description to assign to the Traffic Mirror rule.
  73397. Description *string `type:"string"`
  73398. // The destination CIDR block to assign to the Traffic Mirror rule.
  73399. DestinationCidrBlock *string `type:"string"`
  73400. // The destination ports that are associated with the Traffic Mirror rule.
  73401. DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
  73402. // Checks whether you have the required permissions for the action, without
  73403. // actually making the request, and provides an error response. If you have
  73404. // the required permissions, the error response is DryRunOperation. Otherwise,
  73405. // it is UnauthorizedOperation.
  73406. DryRun *bool `type:"boolean"`
  73407. // The protocol, for example TCP, to assign to the Traffic Mirror rule.
  73408. Protocol *int64 `type:"integer"`
  73409. // The properties that you want to remove from the Traffic Mirror filter rule.
  73410. //
  73411. // When you remove a property from a Traffic Mirror filter rule, the property
  73412. // is set to the default.
  73413. RemoveFields []*string `locationName:"RemoveField" type:"list"`
  73414. // The action to assign to the rule.
  73415. RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"`
  73416. // The number of the Traffic Mirror rule. This number must be unique for each
  73417. // Traffic Mirror rule in a given direction. The rules are processed in ascending
  73418. // order by rule number.
  73419. RuleNumber *int64 `type:"integer"`
  73420. // The source CIDR block to assign to the Traffic Mirror rule.
  73421. SourceCidrBlock *string `type:"string"`
  73422. // The port range to assign to the Traffic Mirror rule.
  73423. SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
  73424. // The type of traffic (ingress | egress) to assign to the rule.
  73425. TrafficDirection *string `type:"string" enum:"TrafficDirection"`
  73426. // The ID of the Traffic Mirror rule.
  73427. //
  73428. // TrafficMirrorFilterRuleId is a required field
  73429. TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
  73430. }
  73431. // String returns the string representation
  73432. func (s ModifyTrafficMirrorFilterRuleInput) String() string {
  73433. return awsutil.Prettify(s)
  73434. }
  73435. // GoString returns the string representation
  73436. func (s ModifyTrafficMirrorFilterRuleInput) GoString() string {
  73437. return s.String()
  73438. }
  73439. // Validate inspects the fields of the type to determine if they are valid.
  73440. func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error {
  73441. invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"}
  73442. if s.TrafficMirrorFilterRuleId == nil {
  73443. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
  73444. }
  73445. if invalidParams.Len() > 0 {
  73446. return invalidParams
  73447. }
  73448. return nil
  73449. }
  73450. // SetDescription sets the Description field's value.
  73451. func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput {
  73452. s.Description = &v
  73453. return s
  73454. }
  73455. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  73456. func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
  73457. s.DestinationCidrBlock = &v
  73458. return s
  73459. }
  73460. // SetDestinationPortRange sets the DestinationPortRange field's value.
  73461. func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
  73462. s.DestinationPortRange = v
  73463. return s
  73464. }
  73465. // SetDryRun sets the DryRun field's value.
  73466. func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput {
  73467. s.DryRun = &v
  73468. return s
  73469. }
  73470. // SetProtocol sets the Protocol field's value.
  73471. func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput {
  73472. s.Protocol = &v
  73473. return s
  73474. }
  73475. // SetRemoveFields sets the RemoveFields field's value.
  73476. func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput {
  73477. s.RemoveFields = v
  73478. return s
  73479. }
  73480. // SetRuleAction sets the RuleAction field's value.
  73481. func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput {
  73482. s.RuleAction = &v
  73483. return s
  73484. }
  73485. // SetRuleNumber sets the RuleNumber field's value.
  73486. func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput {
  73487. s.RuleNumber = &v
  73488. return s
  73489. }
  73490. // SetSourceCidrBlock sets the SourceCidrBlock field's value.
  73491. func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
  73492. s.SourceCidrBlock = &v
  73493. return s
  73494. }
  73495. // SetSourcePortRange sets the SourcePortRange field's value.
  73496. func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
  73497. s.SourcePortRange = v
  73498. return s
  73499. }
  73500. // SetTrafficDirection sets the TrafficDirection field's value.
  73501. func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput {
  73502. s.TrafficDirection = &v
  73503. return s
  73504. }
  73505. // SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
  73506. func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput {
  73507. s.TrafficMirrorFilterRuleId = &v
  73508. return s
  73509. }
  73510. type ModifyTrafficMirrorFilterRuleOutput struct {
  73511. _ struct{} `type:"structure"`
  73512. // Modifies a Traffic Mirror rule.
  73513. TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
  73514. }
  73515. // String returns the string representation
  73516. func (s ModifyTrafficMirrorFilterRuleOutput) String() string {
  73517. return awsutil.Prettify(s)
  73518. }
  73519. // GoString returns the string representation
  73520. func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string {
  73521. return s.String()
  73522. }
  73523. // SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
  73524. func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput {
  73525. s.TrafficMirrorFilterRule = v
  73526. return s
  73527. }
  73528. type ModifyTrafficMirrorSessionInput struct {
  73529. _ struct{} `type:"structure"`
  73530. // The description to assign to the Traffic Mirror session.
  73531. Description *string `type:"string"`
  73532. // Checks whether you have the required permissions for the action, without
  73533. // actually making the request, and provides an error response. If you have
  73534. // the required permissions, the error response is DryRunOperation. Otherwise,
  73535. // it is UnauthorizedOperation.
  73536. DryRun *bool `type:"boolean"`
  73537. // The number of bytes in each packet to mirror. These are bytes after the VXLAN
  73538. // header. To mirror a subset, set this to the length (in bytes) to mirror.
  73539. // For example, if you set this value to 100, then the first 100 bytes that
  73540. // meet the filter criteria are copied to the target. Do not specify this parameter
  73541. // when you want to mirror the entire packet.
  73542. PacketLength *int64 `type:"integer"`
  73543. // The properties that you want to remove from the Traffic Mirror session.
  73544. //
  73545. // When you remove a property from a Traffic Mirror session, the property is
  73546. // set to the default.
  73547. RemoveFields []*string `locationName:"RemoveField" type:"list"`
  73548. // The session number determines the order in which sessions are evaluated when
  73549. // an interface is used by multiple sessions. The first session with a matching
  73550. // filter is the one that mirrors the packets.
  73551. //
  73552. // Valid values are 1-32766.
  73553. SessionNumber *int64 `type:"integer"`
  73554. // The ID of the Traffic Mirror filter.
  73555. TrafficMirrorFilterId *string `type:"string"`
  73556. // The ID of the Traffic Mirror session.
  73557. //
  73558. // TrafficMirrorSessionId is a required field
  73559. TrafficMirrorSessionId *string `type:"string" required:"true"`
  73560. // The Traffic Mirror target. The target must be in the same VPC as the source,
  73561. // or have a VPC peering connection with the source.
  73562. TrafficMirrorTargetId *string `type:"string"`
  73563. // The virtual network ID of the Traffic Mirror session.
  73564. VirtualNetworkId *int64 `type:"integer"`
  73565. }
  73566. // String returns the string representation
  73567. func (s ModifyTrafficMirrorSessionInput) String() string {
  73568. return awsutil.Prettify(s)
  73569. }
  73570. // GoString returns the string representation
  73571. func (s ModifyTrafficMirrorSessionInput) GoString() string {
  73572. return s.String()
  73573. }
  73574. // Validate inspects the fields of the type to determine if they are valid.
  73575. func (s *ModifyTrafficMirrorSessionInput) Validate() error {
  73576. invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"}
  73577. if s.TrafficMirrorSessionId == nil {
  73578. invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
  73579. }
  73580. if invalidParams.Len() > 0 {
  73581. return invalidParams
  73582. }
  73583. return nil
  73584. }
  73585. // SetDescription sets the Description field's value.
  73586. func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput {
  73587. s.Description = &v
  73588. return s
  73589. }
  73590. // SetDryRun sets the DryRun field's value.
  73591. func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput {
  73592. s.DryRun = &v
  73593. return s
  73594. }
  73595. // SetPacketLength sets the PacketLength field's value.
  73596. func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput {
  73597. s.PacketLength = &v
  73598. return s
  73599. }
  73600. // SetRemoveFields sets the RemoveFields field's value.
  73601. func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput {
  73602. s.RemoveFields = v
  73603. return s
  73604. }
  73605. // SetSessionNumber sets the SessionNumber field's value.
  73606. func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput {
  73607. s.SessionNumber = &v
  73608. return s
  73609. }
  73610. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  73611. func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput {
  73612. s.TrafficMirrorFilterId = &v
  73613. return s
  73614. }
  73615. // SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
  73616. func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput {
  73617. s.TrafficMirrorSessionId = &v
  73618. return s
  73619. }
  73620. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  73621. func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput {
  73622. s.TrafficMirrorTargetId = &v
  73623. return s
  73624. }
  73625. // SetVirtualNetworkId sets the VirtualNetworkId field's value.
  73626. func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput {
  73627. s.VirtualNetworkId = &v
  73628. return s
  73629. }
  73630. type ModifyTrafficMirrorSessionOutput struct {
  73631. _ struct{} `type:"structure"`
  73632. // Information about the Traffic Mirror session.
  73633. TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
  73634. }
  73635. // String returns the string representation
  73636. func (s ModifyTrafficMirrorSessionOutput) String() string {
  73637. return awsutil.Prettify(s)
  73638. }
  73639. // GoString returns the string representation
  73640. func (s ModifyTrafficMirrorSessionOutput) GoString() string {
  73641. return s.String()
  73642. }
  73643. // SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
  73644. func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput {
  73645. s.TrafficMirrorSession = v
  73646. return s
  73647. }
  73648. type ModifyTransitGatewayVpcAttachmentInput struct {
  73649. _ struct{} `type:"structure"`
  73650. // The IDs of one or more subnets to add. You can specify at most one subnet
  73651. // per Availability Zone.
  73652. AddSubnetIds []*string `locationNameList:"item" type:"list"`
  73653. // Checks whether you have the required permissions for the action, without
  73654. // actually making the request, and provides an error response. If you have
  73655. // the required permissions, the error response is DryRunOperation. Otherwise,
  73656. // it is UnauthorizedOperation.
  73657. DryRun *bool `type:"boolean"`
  73658. // The new VPC attachment options.
  73659. //
  73660. // You cannot modify the IPv6 options.
  73661. Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
  73662. // The IDs of one or more subnets to remove.
  73663. RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
  73664. // The ID of the attachment.
  73665. //
  73666. // TransitGatewayAttachmentId is a required field
  73667. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  73668. }
  73669. // String returns the string representation
  73670. func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
  73671. return awsutil.Prettify(s)
  73672. }
  73673. // GoString returns the string representation
  73674. func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
  73675. return s.String()
  73676. }
  73677. // Validate inspects the fields of the type to determine if they are valid.
  73678. func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
  73679. invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
  73680. if s.TransitGatewayAttachmentId == nil {
  73681. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  73682. }
  73683. if invalidParams.Len() > 0 {
  73684. return invalidParams
  73685. }
  73686. return nil
  73687. }
  73688. // SetAddSubnetIds sets the AddSubnetIds field's value.
  73689. func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
  73690. s.AddSubnetIds = v
  73691. return s
  73692. }
  73693. // SetDryRun sets the DryRun field's value.
  73694. func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
  73695. s.DryRun = &v
  73696. return s
  73697. }
  73698. // SetOptions sets the Options field's value.
  73699. func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
  73700. s.Options = v
  73701. return s
  73702. }
  73703. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  73704. func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
  73705. s.RemoveSubnetIds = v
  73706. return s
  73707. }
  73708. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  73709. func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
  73710. s.TransitGatewayAttachmentId = &v
  73711. return s
  73712. }
  73713. type ModifyTransitGatewayVpcAttachmentOutput struct {
  73714. _ struct{} `type:"structure"`
  73715. // Information about the modified attachment.
  73716. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  73717. }
  73718. // String returns the string representation
  73719. func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
  73720. return awsutil.Prettify(s)
  73721. }
  73722. // GoString returns the string representation
  73723. func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
  73724. return s.String()
  73725. }
  73726. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  73727. func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
  73728. s.TransitGatewayVpcAttachment = v
  73729. return s
  73730. }
  73731. // Describes the options for a VPC attachment.
  73732. type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
  73733. _ struct{} `type:"structure"`
  73734. // Enable or disable DNS support. The default is enable.
  73735. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  73736. // Enable or disable IPv6 support. The default is enable.
  73737. Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
  73738. }
  73739. // String returns the string representation
  73740. func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
  73741. return awsutil.Prettify(s)
  73742. }
  73743. // GoString returns the string representation
  73744. func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
  73745. return s.String()
  73746. }
  73747. // SetDnsSupport sets the DnsSupport field's value.
  73748. func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
  73749. s.DnsSupport = &v
  73750. return s
  73751. }
  73752. // SetIpv6Support sets the Ipv6Support field's value.
  73753. func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
  73754. s.Ipv6Support = &v
  73755. return s
  73756. }
  73757. type ModifyVolumeAttributeInput struct {
  73758. _ struct{} `type:"structure"`
  73759. // Indicates whether the volume should be auto-enabled for I/O operations.
  73760. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  73761. // Checks whether you have the required permissions for the action, without
  73762. // actually making the request, and provides an error response. If you have
  73763. // the required permissions, the error response is DryRunOperation. Otherwise,
  73764. // it is UnauthorizedOperation.
  73765. DryRun *bool `locationName:"dryRun" type:"boolean"`
  73766. // The ID of the volume.
  73767. //
  73768. // VolumeId is a required field
  73769. VolumeId *string `type:"string" required:"true"`
  73770. }
  73771. // String returns the string representation
  73772. func (s ModifyVolumeAttributeInput) String() string {
  73773. return awsutil.Prettify(s)
  73774. }
  73775. // GoString returns the string representation
  73776. func (s ModifyVolumeAttributeInput) GoString() string {
  73777. return s.String()
  73778. }
  73779. // Validate inspects the fields of the type to determine if they are valid.
  73780. func (s *ModifyVolumeAttributeInput) Validate() error {
  73781. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  73782. if s.VolumeId == nil {
  73783. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  73784. }
  73785. if invalidParams.Len() > 0 {
  73786. return invalidParams
  73787. }
  73788. return nil
  73789. }
  73790. // SetAutoEnableIO sets the AutoEnableIO field's value.
  73791. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  73792. s.AutoEnableIO = v
  73793. return s
  73794. }
  73795. // SetDryRun sets the DryRun field's value.
  73796. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  73797. s.DryRun = &v
  73798. return s
  73799. }
  73800. // SetVolumeId sets the VolumeId field's value.
  73801. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  73802. s.VolumeId = &v
  73803. return s
  73804. }
  73805. type ModifyVolumeAttributeOutput struct {
  73806. _ struct{} `type:"structure"`
  73807. }
  73808. // String returns the string representation
  73809. func (s ModifyVolumeAttributeOutput) String() string {
  73810. return awsutil.Prettify(s)
  73811. }
  73812. // GoString returns the string representation
  73813. func (s ModifyVolumeAttributeOutput) GoString() string {
  73814. return s.String()
  73815. }
  73816. type ModifyVolumeInput struct {
  73817. _ struct{} `type:"structure"`
  73818. // Checks whether you have the required permissions for the action, without
  73819. // actually making the request, and provides an error response. If you have
  73820. // the required permissions, the error response is DryRunOperation. Otherwise,
  73821. // it is UnauthorizedOperation.
  73822. DryRun *bool `type:"boolean"`
  73823. // The target IOPS rate of the volume.
  73824. //
  73825. // This is only valid for Provisioned IOPS SSD (io1) volumes. For more information,
  73826. // see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  73827. //
  73828. // Default: If no IOPS value is specified, the existing value is retained.
  73829. Iops *int64 `type:"integer"`
  73830. // The target size of the volume, in GiB. The target volume size must be greater
  73831. // than or equal to than the existing size of the volume. For information about
  73832. // available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  73833. //
  73834. // Default: If no size is specified, the existing size is retained.
  73835. Size *int64 `type:"integer"`
  73836. // The ID of the volume.
  73837. //
  73838. // VolumeId is a required field
  73839. VolumeId *string `type:"string" required:"true"`
  73840. // The target EBS volume type of the volume.
  73841. //
  73842. // Default: If no type is specified, the existing type is retained.
  73843. VolumeType *string `type:"string" enum:"VolumeType"`
  73844. }
  73845. // String returns the string representation
  73846. func (s ModifyVolumeInput) String() string {
  73847. return awsutil.Prettify(s)
  73848. }
  73849. // GoString returns the string representation
  73850. func (s ModifyVolumeInput) GoString() string {
  73851. return s.String()
  73852. }
  73853. // Validate inspects the fields of the type to determine if they are valid.
  73854. func (s *ModifyVolumeInput) Validate() error {
  73855. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  73856. if s.VolumeId == nil {
  73857. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  73858. }
  73859. if invalidParams.Len() > 0 {
  73860. return invalidParams
  73861. }
  73862. return nil
  73863. }
  73864. // SetDryRun sets the DryRun field's value.
  73865. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  73866. s.DryRun = &v
  73867. return s
  73868. }
  73869. // SetIops sets the Iops field's value.
  73870. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  73871. s.Iops = &v
  73872. return s
  73873. }
  73874. // SetSize sets the Size field's value.
  73875. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  73876. s.Size = &v
  73877. return s
  73878. }
  73879. // SetVolumeId sets the VolumeId field's value.
  73880. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  73881. s.VolumeId = &v
  73882. return s
  73883. }
  73884. // SetVolumeType sets the VolumeType field's value.
  73885. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  73886. s.VolumeType = &v
  73887. return s
  73888. }
  73889. type ModifyVolumeOutput struct {
  73890. _ struct{} `type:"structure"`
  73891. // Information about the volume modification.
  73892. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  73893. }
  73894. // String returns the string representation
  73895. func (s ModifyVolumeOutput) String() string {
  73896. return awsutil.Prettify(s)
  73897. }
  73898. // GoString returns the string representation
  73899. func (s ModifyVolumeOutput) GoString() string {
  73900. return s.String()
  73901. }
  73902. // SetVolumeModification sets the VolumeModification field's value.
  73903. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  73904. s.VolumeModification = v
  73905. return s
  73906. }
  73907. type ModifyVpcAttributeInput struct {
  73908. _ struct{} `type:"structure"`
  73909. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  73910. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  73911. //
  73912. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  73913. // same request. Use separate requests for each attribute. You can only enable
  73914. // DNS hostnames if you've enabled DNS support.
  73915. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  73916. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  73917. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  73918. // or the reserved IP address at the base of the VPC network range "plus two"
  73919. // succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
  73920. // public DNS hostnames to IP addresses is not enabled.
  73921. //
  73922. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  73923. // same request. Use separate requests for each attribute.
  73924. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  73925. // The ID of the VPC.
  73926. //
  73927. // VpcId is a required field
  73928. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  73929. }
  73930. // String returns the string representation
  73931. func (s ModifyVpcAttributeInput) String() string {
  73932. return awsutil.Prettify(s)
  73933. }
  73934. // GoString returns the string representation
  73935. func (s ModifyVpcAttributeInput) GoString() string {
  73936. return s.String()
  73937. }
  73938. // Validate inspects the fields of the type to determine if they are valid.
  73939. func (s *ModifyVpcAttributeInput) Validate() error {
  73940. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  73941. if s.VpcId == nil {
  73942. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  73943. }
  73944. if invalidParams.Len() > 0 {
  73945. return invalidParams
  73946. }
  73947. return nil
  73948. }
  73949. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  73950. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  73951. s.EnableDnsHostnames = v
  73952. return s
  73953. }
  73954. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  73955. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  73956. s.EnableDnsSupport = v
  73957. return s
  73958. }
  73959. // SetVpcId sets the VpcId field's value.
  73960. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  73961. s.VpcId = &v
  73962. return s
  73963. }
  73964. type ModifyVpcAttributeOutput struct {
  73965. _ struct{} `type:"structure"`
  73966. }
  73967. // String returns the string representation
  73968. func (s ModifyVpcAttributeOutput) String() string {
  73969. return awsutil.Prettify(s)
  73970. }
  73971. // GoString returns the string representation
  73972. func (s ModifyVpcAttributeOutput) GoString() string {
  73973. return s.String()
  73974. }
  73975. type ModifyVpcEndpointConnectionNotificationInput struct {
  73976. _ struct{} `type:"structure"`
  73977. // One or more events for the endpoint. Valid values are Accept, Connect, Delete,
  73978. // and Reject.
  73979. ConnectionEvents []*string `locationNameList:"item" type:"list"`
  73980. // The ARN for the SNS topic for the notification.
  73981. ConnectionNotificationArn *string `type:"string"`
  73982. // The ID of the notification.
  73983. //
  73984. // ConnectionNotificationId is a required field
  73985. ConnectionNotificationId *string `type:"string" required:"true"`
  73986. // Checks whether you have the required permissions for the action, without
  73987. // actually making the request, and provides an error response. If you have
  73988. // the required permissions, the error response is DryRunOperation. Otherwise,
  73989. // it is UnauthorizedOperation.
  73990. DryRun *bool `type:"boolean"`
  73991. }
  73992. // String returns the string representation
  73993. func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
  73994. return awsutil.Prettify(s)
  73995. }
  73996. // GoString returns the string representation
  73997. func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
  73998. return s.String()
  73999. }
  74000. // Validate inspects the fields of the type to determine if they are valid.
  74001. func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
  74002. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
  74003. if s.ConnectionNotificationId == nil {
  74004. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
  74005. }
  74006. if invalidParams.Len() > 0 {
  74007. return invalidParams
  74008. }
  74009. return nil
  74010. }
  74011. // SetConnectionEvents sets the ConnectionEvents field's value.
  74012. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
  74013. s.ConnectionEvents = v
  74014. return s
  74015. }
  74016. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  74017. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
  74018. s.ConnectionNotificationArn = &v
  74019. return s
  74020. }
  74021. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  74022. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
  74023. s.ConnectionNotificationId = &v
  74024. return s
  74025. }
  74026. // SetDryRun sets the DryRun field's value.
  74027. func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
  74028. s.DryRun = &v
  74029. return s
  74030. }
  74031. type ModifyVpcEndpointConnectionNotificationOutput struct {
  74032. _ struct{} `type:"structure"`
  74033. // Returns true if the request succeeds; otherwise, it returns an error.
  74034. ReturnValue *bool `locationName:"return" type:"boolean"`
  74035. }
  74036. // String returns the string representation
  74037. func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
  74038. return awsutil.Prettify(s)
  74039. }
  74040. // GoString returns the string representation
  74041. func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
  74042. return s.String()
  74043. }
  74044. // SetReturnValue sets the ReturnValue field's value.
  74045. func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
  74046. s.ReturnValue = &v
  74047. return s
  74048. }
  74049. // Contains the parameters for ModifyVpcEndpoint.
  74050. type ModifyVpcEndpointInput struct {
  74051. _ struct{} `type:"structure"`
  74052. // (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
  74053. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  74054. // (Interface endpoint) One or more security group IDs to associate with the
  74055. // network interface.
  74056. AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
  74057. // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
  74058. AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
  74059. // Checks whether you have the required permissions for the action, without
  74060. // actually making the request, and provides an error response. If you have
  74061. // the required permissions, the error response is DryRunOperation. Otherwise,
  74062. // it is UnauthorizedOperation.
  74063. DryRun *bool `type:"boolean"`
  74064. // A policy to attach to the endpoint that controls access to the service. The
  74065. // policy must be in valid JSON format.
  74066. PolicyDocument *string `type:"string"`
  74067. // (Interface endpoint) Indicates whether a private hosted zone is associated
  74068. // with the VPC.
  74069. PrivateDnsEnabled *bool `type:"boolean"`
  74070. // (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
  74071. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  74072. // (Interface endpoint) One or more security group IDs to disassociate from
  74073. // the network interface.
  74074. RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
  74075. // (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
  74076. RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
  74077. // (Gateway endpoint) Specify true to reset the policy document to the default
  74078. // policy. The default policy allows full access to the service.
  74079. ResetPolicy *bool `type:"boolean"`
  74080. // The ID of the endpoint.
  74081. //
  74082. // VpcEndpointId is a required field
  74083. VpcEndpointId *string `type:"string" required:"true"`
  74084. }
  74085. // String returns the string representation
  74086. func (s ModifyVpcEndpointInput) String() string {
  74087. return awsutil.Prettify(s)
  74088. }
  74089. // GoString returns the string representation
  74090. func (s ModifyVpcEndpointInput) GoString() string {
  74091. return s.String()
  74092. }
  74093. // Validate inspects the fields of the type to determine if they are valid.
  74094. func (s *ModifyVpcEndpointInput) Validate() error {
  74095. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  74096. if s.VpcEndpointId == nil {
  74097. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  74098. }
  74099. if invalidParams.Len() > 0 {
  74100. return invalidParams
  74101. }
  74102. return nil
  74103. }
  74104. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  74105. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  74106. s.AddRouteTableIds = v
  74107. return s
  74108. }
  74109. // SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
  74110. func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  74111. s.AddSecurityGroupIds = v
  74112. return s
  74113. }
  74114. // SetAddSubnetIds sets the AddSubnetIds field's value.
  74115. func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
  74116. s.AddSubnetIds = v
  74117. return s
  74118. }
  74119. // SetDryRun sets the DryRun field's value.
  74120. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  74121. s.DryRun = &v
  74122. return s
  74123. }
  74124. // SetPolicyDocument sets the PolicyDocument field's value.
  74125. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  74126. s.PolicyDocument = &v
  74127. return s
  74128. }
  74129. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  74130. func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
  74131. s.PrivateDnsEnabled = &v
  74132. return s
  74133. }
  74134. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  74135. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  74136. s.RemoveRouteTableIds = v
  74137. return s
  74138. }
  74139. // SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
  74140. func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  74141. s.RemoveSecurityGroupIds = v
  74142. return s
  74143. }
  74144. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  74145. func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
  74146. s.RemoveSubnetIds = v
  74147. return s
  74148. }
  74149. // SetResetPolicy sets the ResetPolicy field's value.
  74150. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  74151. s.ResetPolicy = &v
  74152. return s
  74153. }
  74154. // SetVpcEndpointId sets the VpcEndpointId field's value.
  74155. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  74156. s.VpcEndpointId = &v
  74157. return s
  74158. }
  74159. type ModifyVpcEndpointOutput struct {
  74160. _ struct{} `type:"structure"`
  74161. // Returns true if the request succeeds; otherwise, it returns an error.
  74162. Return *bool `locationName:"return" type:"boolean"`
  74163. }
  74164. // String returns the string representation
  74165. func (s ModifyVpcEndpointOutput) String() string {
  74166. return awsutil.Prettify(s)
  74167. }
  74168. // GoString returns the string representation
  74169. func (s ModifyVpcEndpointOutput) GoString() string {
  74170. return s.String()
  74171. }
  74172. // SetReturn sets the Return field's value.
  74173. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  74174. s.Return = &v
  74175. return s
  74176. }
  74177. type ModifyVpcEndpointServiceConfigurationInput struct {
  74178. _ struct{} `type:"structure"`
  74179. // Indicates whether requests to create an endpoint to your service must be
  74180. // accepted.
  74181. AcceptanceRequired *bool `type:"boolean"`
  74182. // The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
  74183. // service configuration.
  74184. AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  74185. // Checks whether you have the required permissions for the action, without
  74186. // actually making the request, and provides an error response. If you have
  74187. // the required permissions, the error response is DryRunOperation. Otherwise,
  74188. // it is UnauthorizedOperation.
  74189. DryRun *bool `type:"boolean"`
  74190. // The private DNS name to assign to the endpoint service.
  74191. PrivateDnsName *string `type:"string"`
  74192. // The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
  74193. // your service configuration.
  74194. RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  74195. // Removes the private DNS name of the endpoint service.
  74196. RemovePrivateDnsName *bool `type:"boolean"`
  74197. // The ID of the service.
  74198. //
  74199. // ServiceId is a required field
  74200. ServiceId *string `type:"string" required:"true"`
  74201. }
  74202. // String returns the string representation
  74203. func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
  74204. return awsutil.Prettify(s)
  74205. }
  74206. // GoString returns the string representation
  74207. func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
  74208. return s.String()
  74209. }
  74210. // Validate inspects the fields of the type to determine if they are valid.
  74211. func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
  74212. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
  74213. if s.ServiceId == nil {
  74214. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  74215. }
  74216. if invalidParams.Len() > 0 {
  74217. return invalidParams
  74218. }
  74219. return nil
  74220. }
  74221. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  74222. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  74223. s.AcceptanceRequired = &v
  74224. return s
  74225. }
  74226. // SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
  74227. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  74228. s.AddNetworkLoadBalancerArns = v
  74229. return s
  74230. }
  74231. // SetDryRun sets the DryRun field's value.
  74232. func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  74233. s.DryRun = &v
  74234. return s
  74235. }
  74236. // SetPrivateDnsName sets the PrivateDnsName field's value.
  74237. func (s *ModifyVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *ModifyVpcEndpointServiceConfigurationInput {
  74238. s.PrivateDnsName = &v
  74239. return s
  74240. }
  74241. // SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
  74242. func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  74243. s.RemoveNetworkLoadBalancerArns = v
  74244. return s
  74245. }
  74246. // SetRemovePrivateDnsName sets the RemovePrivateDnsName field's value.
  74247. func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemovePrivateDnsName(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  74248. s.RemovePrivateDnsName = &v
  74249. return s
  74250. }
  74251. // SetServiceId sets the ServiceId field's value.
  74252. func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
  74253. s.ServiceId = &v
  74254. return s
  74255. }
  74256. type ModifyVpcEndpointServiceConfigurationOutput struct {
  74257. _ struct{} `type:"structure"`
  74258. // Returns true if the request succeeds; otherwise, it returns an error.
  74259. Return *bool `locationName:"return" type:"boolean"`
  74260. }
  74261. // String returns the string representation
  74262. func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
  74263. return awsutil.Prettify(s)
  74264. }
  74265. // GoString returns the string representation
  74266. func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
  74267. return s.String()
  74268. }
  74269. // SetReturn sets the Return field's value.
  74270. func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
  74271. s.Return = &v
  74272. return s
  74273. }
  74274. type ModifyVpcEndpointServicePermissionsInput struct {
  74275. _ struct{} `type:"structure"`
  74276. // The Amazon Resource Names (ARN) of one or more principals. Permissions are
  74277. // granted to the principals in this list. To grant permissions to all principals,
  74278. // specify an asterisk (*).
  74279. AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  74280. // Checks whether you have the required permissions for the action, without
  74281. // actually making the request, and provides an error response. If you have
  74282. // the required permissions, the error response is DryRunOperation. Otherwise,
  74283. // it is UnauthorizedOperation.
  74284. DryRun *bool `type:"boolean"`
  74285. // The Amazon Resource Names (ARN) of one or more principals. Permissions are
  74286. // revoked for principals in this list.
  74287. RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  74288. // The ID of the service.
  74289. //
  74290. // ServiceId is a required field
  74291. ServiceId *string `type:"string" required:"true"`
  74292. }
  74293. // String returns the string representation
  74294. func (s ModifyVpcEndpointServicePermissionsInput) String() string {
  74295. return awsutil.Prettify(s)
  74296. }
  74297. // GoString returns the string representation
  74298. func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
  74299. return s.String()
  74300. }
  74301. // Validate inspects the fields of the type to determine if they are valid.
  74302. func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
  74303. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
  74304. if s.ServiceId == nil {
  74305. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  74306. }
  74307. if invalidParams.Len() > 0 {
  74308. return invalidParams
  74309. }
  74310. return nil
  74311. }
  74312. // SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
  74313. func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  74314. s.AddAllowedPrincipals = v
  74315. return s
  74316. }
  74317. // SetDryRun sets the DryRun field's value.
  74318. func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
  74319. s.DryRun = &v
  74320. return s
  74321. }
  74322. // SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
  74323. func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  74324. s.RemoveAllowedPrincipals = v
  74325. return s
  74326. }
  74327. // SetServiceId sets the ServiceId field's value.
  74328. func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
  74329. s.ServiceId = &v
  74330. return s
  74331. }
  74332. type ModifyVpcEndpointServicePermissionsOutput struct {
  74333. _ struct{} `type:"structure"`
  74334. // Returns true if the request succeeds; otherwise, it returns an error.
  74335. ReturnValue *bool `locationName:"return" type:"boolean"`
  74336. }
  74337. // String returns the string representation
  74338. func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
  74339. return awsutil.Prettify(s)
  74340. }
  74341. // GoString returns the string representation
  74342. func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
  74343. return s.String()
  74344. }
  74345. // SetReturnValue sets the ReturnValue field's value.
  74346. func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
  74347. s.ReturnValue = &v
  74348. return s
  74349. }
  74350. type ModifyVpcPeeringConnectionOptionsInput struct {
  74351. _ struct{} `type:"structure"`
  74352. // The VPC peering connection options for the accepter VPC.
  74353. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  74354. // Checks whether you have the required permissions for the action, without
  74355. // actually making the request, and provides an error response. If you have
  74356. // the required permissions, the error response is DryRunOperation. Otherwise,
  74357. // it is UnauthorizedOperation.
  74358. DryRun *bool `type:"boolean"`
  74359. // The VPC peering connection options for the requester VPC.
  74360. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  74361. // The ID of the VPC peering connection.
  74362. //
  74363. // VpcPeeringConnectionId is a required field
  74364. VpcPeeringConnectionId *string `type:"string" required:"true"`
  74365. }
  74366. // String returns the string representation
  74367. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  74368. return awsutil.Prettify(s)
  74369. }
  74370. // GoString returns the string representation
  74371. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  74372. return s.String()
  74373. }
  74374. // Validate inspects the fields of the type to determine if they are valid.
  74375. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  74376. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  74377. if s.VpcPeeringConnectionId == nil {
  74378. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  74379. }
  74380. if invalidParams.Len() > 0 {
  74381. return invalidParams
  74382. }
  74383. return nil
  74384. }
  74385. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  74386. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  74387. s.AccepterPeeringConnectionOptions = v
  74388. return s
  74389. }
  74390. // SetDryRun sets the DryRun field's value.
  74391. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  74392. s.DryRun = &v
  74393. return s
  74394. }
  74395. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  74396. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  74397. s.RequesterPeeringConnectionOptions = v
  74398. return s
  74399. }
  74400. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  74401. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  74402. s.VpcPeeringConnectionId = &v
  74403. return s
  74404. }
  74405. type ModifyVpcPeeringConnectionOptionsOutput struct {
  74406. _ struct{} `type:"structure"`
  74407. // Information about the VPC peering connection options for the accepter VPC.
  74408. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  74409. // Information about the VPC peering connection options for the requester VPC.
  74410. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  74411. }
  74412. // String returns the string representation
  74413. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  74414. return awsutil.Prettify(s)
  74415. }
  74416. // GoString returns the string representation
  74417. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  74418. return s.String()
  74419. }
  74420. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  74421. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  74422. s.AccepterPeeringConnectionOptions = v
  74423. return s
  74424. }
  74425. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  74426. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  74427. s.RequesterPeeringConnectionOptions = v
  74428. return s
  74429. }
  74430. type ModifyVpcTenancyInput struct {
  74431. _ struct{} `type:"structure"`
  74432. // Checks whether you have the required permissions for the action, without
  74433. // actually making the request, and provides an error response. If you have
  74434. // the required permissions, the error response is DryRunOperation. Otherwise,
  74435. // it is UnauthorizedOperation.
  74436. DryRun *bool `type:"boolean"`
  74437. // The instance tenancy attribute for the VPC.
  74438. //
  74439. // InstanceTenancy is a required field
  74440. InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
  74441. // The ID of the VPC.
  74442. //
  74443. // VpcId is a required field
  74444. VpcId *string `type:"string" required:"true"`
  74445. }
  74446. // String returns the string representation
  74447. func (s ModifyVpcTenancyInput) String() string {
  74448. return awsutil.Prettify(s)
  74449. }
  74450. // GoString returns the string representation
  74451. func (s ModifyVpcTenancyInput) GoString() string {
  74452. return s.String()
  74453. }
  74454. // Validate inspects the fields of the type to determine if they are valid.
  74455. func (s *ModifyVpcTenancyInput) Validate() error {
  74456. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
  74457. if s.InstanceTenancy == nil {
  74458. invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
  74459. }
  74460. if s.VpcId == nil {
  74461. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  74462. }
  74463. if invalidParams.Len() > 0 {
  74464. return invalidParams
  74465. }
  74466. return nil
  74467. }
  74468. // SetDryRun sets the DryRun field's value.
  74469. func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
  74470. s.DryRun = &v
  74471. return s
  74472. }
  74473. // SetInstanceTenancy sets the InstanceTenancy field's value.
  74474. func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
  74475. s.InstanceTenancy = &v
  74476. return s
  74477. }
  74478. // SetVpcId sets the VpcId field's value.
  74479. func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
  74480. s.VpcId = &v
  74481. return s
  74482. }
  74483. type ModifyVpcTenancyOutput struct {
  74484. _ struct{} `type:"structure"`
  74485. // Returns true if the request succeeds; otherwise, returns an error.
  74486. ReturnValue *bool `locationName:"return" type:"boolean"`
  74487. }
  74488. // String returns the string representation
  74489. func (s ModifyVpcTenancyOutput) String() string {
  74490. return awsutil.Prettify(s)
  74491. }
  74492. // GoString returns the string representation
  74493. func (s ModifyVpcTenancyOutput) GoString() string {
  74494. return s.String()
  74495. }
  74496. // SetReturnValue sets the ReturnValue field's value.
  74497. func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
  74498. s.ReturnValue = &v
  74499. return s
  74500. }
  74501. type ModifyVpnConnectionInput struct {
  74502. _ struct{} `type:"structure"`
  74503. // The ID of the customer gateway at your end of the VPN connection.
  74504. CustomerGatewayId *string `type:"string"`
  74505. // Checks whether you have the required permissions for the action, without
  74506. // actually making the request, and provides an error response. If you have
  74507. // the required permissions, the error response is DryRunOperation. Otherwise,
  74508. // it is UnauthorizedOperation.
  74509. DryRun *bool `type:"boolean"`
  74510. // The ID of the transit gateway.
  74511. TransitGatewayId *string `type:"string"`
  74512. // The ID of the VPN connection.
  74513. //
  74514. // VpnConnectionId is a required field
  74515. VpnConnectionId *string `type:"string" required:"true"`
  74516. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  74517. VpnGatewayId *string `type:"string"`
  74518. }
  74519. // String returns the string representation
  74520. func (s ModifyVpnConnectionInput) String() string {
  74521. return awsutil.Prettify(s)
  74522. }
  74523. // GoString returns the string representation
  74524. func (s ModifyVpnConnectionInput) GoString() string {
  74525. return s.String()
  74526. }
  74527. // Validate inspects the fields of the type to determine if they are valid.
  74528. func (s *ModifyVpnConnectionInput) Validate() error {
  74529. invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
  74530. if s.VpnConnectionId == nil {
  74531. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  74532. }
  74533. if invalidParams.Len() > 0 {
  74534. return invalidParams
  74535. }
  74536. return nil
  74537. }
  74538. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  74539. func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput {
  74540. s.CustomerGatewayId = &v
  74541. return s
  74542. }
  74543. // SetDryRun sets the DryRun field's value.
  74544. func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
  74545. s.DryRun = &v
  74546. return s
  74547. }
  74548. // SetTransitGatewayId sets the TransitGatewayId field's value.
  74549. func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
  74550. s.TransitGatewayId = &v
  74551. return s
  74552. }
  74553. // SetVpnConnectionId sets the VpnConnectionId field's value.
  74554. func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
  74555. s.VpnConnectionId = &v
  74556. return s
  74557. }
  74558. // SetVpnGatewayId sets the VpnGatewayId field's value.
  74559. func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
  74560. s.VpnGatewayId = &v
  74561. return s
  74562. }
  74563. type ModifyVpnConnectionOutput struct {
  74564. _ struct{} `type:"structure"`
  74565. // Describes a VPN connection.
  74566. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  74567. }
  74568. // String returns the string representation
  74569. func (s ModifyVpnConnectionOutput) String() string {
  74570. return awsutil.Prettify(s)
  74571. }
  74572. // GoString returns the string representation
  74573. func (s ModifyVpnConnectionOutput) GoString() string {
  74574. return s.String()
  74575. }
  74576. // SetVpnConnection sets the VpnConnection field's value.
  74577. func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
  74578. s.VpnConnection = v
  74579. return s
  74580. }
  74581. type ModifyVpnTunnelCertificateInput struct {
  74582. _ struct{} `type:"structure"`
  74583. // Checks whether you have the required permissions for the action, without
  74584. // actually making the request, and provides an error response. If you have
  74585. // the required permissions, the error response is DryRunOperation. Otherwise,
  74586. // it is UnauthorizedOperation.
  74587. DryRun *bool `type:"boolean"`
  74588. // The ID of the AWS Site-to-Site VPN connection.
  74589. //
  74590. // VpnConnectionId is a required field
  74591. VpnConnectionId *string `type:"string" required:"true"`
  74592. // The external IP address of the VPN tunnel.
  74593. //
  74594. // VpnTunnelOutsideIpAddress is a required field
  74595. VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
  74596. }
  74597. // String returns the string representation
  74598. func (s ModifyVpnTunnelCertificateInput) String() string {
  74599. return awsutil.Prettify(s)
  74600. }
  74601. // GoString returns the string representation
  74602. func (s ModifyVpnTunnelCertificateInput) GoString() string {
  74603. return s.String()
  74604. }
  74605. // Validate inspects the fields of the type to determine if they are valid.
  74606. func (s *ModifyVpnTunnelCertificateInput) Validate() error {
  74607. invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"}
  74608. if s.VpnConnectionId == nil {
  74609. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  74610. }
  74611. if s.VpnTunnelOutsideIpAddress == nil {
  74612. invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
  74613. }
  74614. if invalidParams.Len() > 0 {
  74615. return invalidParams
  74616. }
  74617. return nil
  74618. }
  74619. // SetDryRun sets the DryRun field's value.
  74620. func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput {
  74621. s.DryRun = &v
  74622. return s
  74623. }
  74624. // SetVpnConnectionId sets the VpnConnectionId field's value.
  74625. func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput {
  74626. s.VpnConnectionId = &v
  74627. return s
  74628. }
  74629. // SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
  74630. func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput {
  74631. s.VpnTunnelOutsideIpAddress = &v
  74632. return s
  74633. }
  74634. type ModifyVpnTunnelCertificateOutput struct {
  74635. _ struct{} `type:"structure"`
  74636. // Describes a VPN connection.
  74637. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  74638. }
  74639. // String returns the string representation
  74640. func (s ModifyVpnTunnelCertificateOutput) String() string {
  74641. return awsutil.Prettify(s)
  74642. }
  74643. // GoString returns the string representation
  74644. func (s ModifyVpnTunnelCertificateOutput) GoString() string {
  74645. return s.String()
  74646. }
  74647. // SetVpnConnection sets the VpnConnection field's value.
  74648. func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput {
  74649. s.VpnConnection = v
  74650. return s
  74651. }
  74652. type ModifyVpnTunnelOptionsInput struct {
  74653. _ struct{} `type:"structure"`
  74654. // Checks whether you have the required permissions for the action, without
  74655. // actually making the request, and provides an error response. If you have
  74656. // the required permissions, the error response is DryRunOperation. Otherwise,
  74657. // it is UnauthorizedOperation.
  74658. DryRun *bool `type:"boolean"`
  74659. // The tunnel options to modify.
  74660. //
  74661. // TunnelOptions is a required field
  74662. TunnelOptions *ModifyVpnTunnelOptionsSpecification `type:"structure" required:"true"`
  74663. // The ID of the AWS Site-to-Site VPN connection.
  74664. //
  74665. // VpnConnectionId is a required field
  74666. VpnConnectionId *string `type:"string" required:"true"`
  74667. // The external IP address of the VPN tunnel.
  74668. //
  74669. // VpnTunnelOutsideIpAddress is a required field
  74670. VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
  74671. }
  74672. // String returns the string representation
  74673. func (s ModifyVpnTunnelOptionsInput) String() string {
  74674. return awsutil.Prettify(s)
  74675. }
  74676. // GoString returns the string representation
  74677. func (s ModifyVpnTunnelOptionsInput) GoString() string {
  74678. return s.String()
  74679. }
  74680. // Validate inspects the fields of the type to determine if they are valid.
  74681. func (s *ModifyVpnTunnelOptionsInput) Validate() error {
  74682. invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelOptionsInput"}
  74683. if s.TunnelOptions == nil {
  74684. invalidParams.Add(request.NewErrParamRequired("TunnelOptions"))
  74685. }
  74686. if s.VpnConnectionId == nil {
  74687. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  74688. }
  74689. if s.VpnTunnelOutsideIpAddress == nil {
  74690. invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
  74691. }
  74692. if invalidParams.Len() > 0 {
  74693. return invalidParams
  74694. }
  74695. return nil
  74696. }
  74697. // SetDryRun sets the DryRun field's value.
  74698. func (s *ModifyVpnTunnelOptionsInput) SetDryRun(v bool) *ModifyVpnTunnelOptionsInput {
  74699. s.DryRun = &v
  74700. return s
  74701. }
  74702. // SetTunnelOptions sets the TunnelOptions field's value.
  74703. func (s *ModifyVpnTunnelOptionsInput) SetTunnelOptions(v *ModifyVpnTunnelOptionsSpecification) *ModifyVpnTunnelOptionsInput {
  74704. s.TunnelOptions = v
  74705. return s
  74706. }
  74707. // SetVpnConnectionId sets the VpnConnectionId field's value.
  74708. func (s *ModifyVpnTunnelOptionsInput) SetVpnConnectionId(v string) *ModifyVpnTunnelOptionsInput {
  74709. s.VpnConnectionId = &v
  74710. return s
  74711. }
  74712. // SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
  74713. func (s *ModifyVpnTunnelOptionsInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelOptionsInput {
  74714. s.VpnTunnelOutsideIpAddress = &v
  74715. return s
  74716. }
  74717. type ModifyVpnTunnelOptionsOutput struct {
  74718. _ struct{} `type:"structure"`
  74719. // Describes a VPN connection.
  74720. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  74721. }
  74722. // String returns the string representation
  74723. func (s ModifyVpnTunnelOptionsOutput) String() string {
  74724. return awsutil.Prettify(s)
  74725. }
  74726. // GoString returns the string representation
  74727. func (s ModifyVpnTunnelOptionsOutput) GoString() string {
  74728. return s.String()
  74729. }
  74730. // SetVpnConnection sets the VpnConnection field's value.
  74731. func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelOptionsOutput {
  74732. s.VpnConnection = v
  74733. return s
  74734. }
  74735. // The AWS Site-to-Site VPN tunnel options to modify.
  74736. type ModifyVpnTunnelOptionsSpecification struct {
  74737. _ struct{} `type:"structure"`
  74738. // The number of seconds after which a DPD timeout occurs.
  74739. //
  74740. // Constraints: A value between 0 and 30.
  74741. //
  74742. // Default: 30
  74743. DPDTimeoutSeconds *int64 `type:"integer"`
  74744. // The IKE versions that are permitted for the VPN tunnel.
  74745. //
  74746. // Valid values: ikev1 | ikev2
  74747. IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
  74748. // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
  74749. // for phase 1 IKE negotiations.
  74750. //
  74751. // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
  74752. Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
  74753. // One or more encryption algorithms that are permitted for the VPN tunnel for
  74754. // phase 1 IKE negotiations.
  74755. //
  74756. // Valid values: AES128 | AES256
  74757. Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
  74758. // One or more integrity algorithms that are permitted for the VPN tunnel for
  74759. // phase 1 IKE negotiations.
  74760. //
  74761. // Valid values: SHA1 | SHA2-256
  74762. Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
  74763. // The lifetime for phase 1 of the IKE negotiation, in seconds.
  74764. //
  74765. // Constraints: A value between 900 and 28,800.
  74766. //
  74767. // Default: 28800
  74768. Phase1LifetimeSeconds *int64 `type:"integer"`
  74769. // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
  74770. // for phase 2 IKE negotiations.
  74771. //
  74772. // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
  74773. Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
  74774. // One or more encryption algorithms that are permitted for the VPN tunnel for
  74775. // phase 2 IKE negotiations.
  74776. //
  74777. // Valid values: AES128 | AES256
  74778. Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
  74779. // One or more integrity algorithms that are permitted for the VPN tunnel for
  74780. // phase 2 IKE negotiations.
  74781. //
  74782. // Valid values: SHA1 | SHA2-256
  74783. Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
  74784. // The lifetime for phase 2 of the IKE negotiation, in seconds.
  74785. //
  74786. // Constraints: A value between 900 and 3,600. The value must be less than the
  74787. // value for Phase1LifetimeSeconds.
  74788. //
  74789. // Default: 3600
  74790. Phase2LifetimeSeconds *int64 `type:"integer"`
  74791. // The pre-shared key (PSK) to establish initial authentication between the
  74792. // virtual private gateway and the customer gateway.
  74793. //
  74794. // Constraints: Allowed characters are alphanumeric characters, periods (.),
  74795. // and underscores (_). Must be between 8 and 64 characters in length and cannot
  74796. // start with zero (0).
  74797. PreSharedKey *string `type:"string"`
  74798. // The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
  74799. // during which the rekey time is randomly selected.
  74800. //
  74801. // Constraints: A value between 0 and 100.
  74802. //
  74803. // Default: 100
  74804. RekeyFuzzPercentage *int64 `type:"integer"`
  74805. // The margin time, in seconds, before the phase 2 lifetime expires, during
  74806. // which the AWS side of the VPN connection performs an IKE rekey. The exact
  74807. // time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
  74808. //
  74809. // Constraints: A value between 60 and half of Phase2LifetimeSeconds.
  74810. //
  74811. // Default: 540
  74812. RekeyMarginTimeSeconds *int64 `type:"integer"`
  74813. // The number of packets in an IKE replay window.
  74814. //
  74815. // Constraints: A value between 64 and 2048.
  74816. //
  74817. // Default: 1024
  74818. ReplayWindowSize *int64 `type:"integer"`
  74819. // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
  74820. // must be unique across all VPN connections that use the same virtual private
  74821. // gateway.
  74822. //
  74823. // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
  74824. // CIDR blocks are reserved and cannot be used:
  74825. //
  74826. // * 169.254.0.0/30
  74827. //
  74828. // * 169.254.1.0/30
  74829. //
  74830. // * 169.254.2.0/30
  74831. //
  74832. // * 169.254.3.0/30
  74833. //
  74834. // * 169.254.4.0/30
  74835. //
  74836. // * 169.254.5.0/30
  74837. //
  74838. // * 169.254.169.252/30
  74839. TunnelInsideCidr *string `type:"string"`
  74840. }
  74841. // String returns the string representation
  74842. func (s ModifyVpnTunnelOptionsSpecification) String() string {
  74843. return awsutil.Prettify(s)
  74844. }
  74845. // GoString returns the string representation
  74846. func (s ModifyVpnTunnelOptionsSpecification) GoString() string {
  74847. return s.String()
  74848. }
  74849. // SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
  74850. func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
  74851. s.DPDTimeoutSeconds = &v
  74852. return s
  74853. }
  74854. // SetIKEVersions sets the IKEVersions field's value.
  74855. func (s *ModifyVpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74856. s.IKEVersions = v
  74857. return s
  74858. }
  74859. // SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
  74860. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74861. s.Phase1DHGroupNumbers = v
  74862. return s
  74863. }
  74864. // SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
  74865. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74866. s.Phase1EncryptionAlgorithms = v
  74867. return s
  74868. }
  74869. // SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
  74870. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74871. s.Phase1IntegrityAlgorithms = v
  74872. return s
  74873. }
  74874. // SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
  74875. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
  74876. s.Phase1LifetimeSeconds = &v
  74877. return s
  74878. }
  74879. // SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
  74880. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74881. s.Phase2DHGroupNumbers = v
  74882. return s
  74883. }
  74884. // SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
  74885. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74886. s.Phase2EncryptionAlgorithms = v
  74887. return s
  74888. }
  74889. // SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
  74890. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
  74891. s.Phase2IntegrityAlgorithms = v
  74892. return s
  74893. }
  74894. // SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
  74895. func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
  74896. s.Phase2LifetimeSeconds = &v
  74897. return s
  74898. }
  74899. // SetPreSharedKey sets the PreSharedKey field's value.
  74900. func (s *ModifyVpnTunnelOptionsSpecification) SetPreSharedKey(v string) *ModifyVpnTunnelOptionsSpecification {
  74901. s.PreSharedKey = &v
  74902. return s
  74903. }
  74904. // SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
  74905. func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *ModifyVpnTunnelOptionsSpecification {
  74906. s.RekeyFuzzPercentage = &v
  74907. return s
  74908. }
  74909. // SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
  74910. func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
  74911. s.RekeyMarginTimeSeconds = &v
  74912. return s
  74913. }
  74914. // SetReplayWindowSize sets the ReplayWindowSize field's value.
  74915. func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *ModifyVpnTunnelOptionsSpecification {
  74916. s.ReplayWindowSize = &v
  74917. return s
  74918. }
  74919. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  74920. func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification {
  74921. s.TunnelInsideCidr = &v
  74922. return s
  74923. }
  74924. type MonitorInstancesInput struct {
  74925. _ struct{} `type:"structure"`
  74926. // Checks whether you have the required permissions for the action, without
  74927. // actually making the request, and provides an error response. If you have
  74928. // the required permissions, the error response is DryRunOperation. Otherwise,
  74929. // it is UnauthorizedOperation.
  74930. DryRun *bool `locationName:"dryRun" type:"boolean"`
  74931. // The IDs of the instances.
  74932. //
  74933. // InstanceIds is a required field
  74934. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  74935. }
  74936. // String returns the string representation
  74937. func (s MonitorInstancesInput) String() string {
  74938. return awsutil.Prettify(s)
  74939. }
  74940. // GoString returns the string representation
  74941. func (s MonitorInstancesInput) GoString() string {
  74942. return s.String()
  74943. }
  74944. // Validate inspects the fields of the type to determine if they are valid.
  74945. func (s *MonitorInstancesInput) Validate() error {
  74946. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  74947. if s.InstanceIds == nil {
  74948. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  74949. }
  74950. if invalidParams.Len() > 0 {
  74951. return invalidParams
  74952. }
  74953. return nil
  74954. }
  74955. // SetDryRun sets the DryRun field's value.
  74956. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  74957. s.DryRun = &v
  74958. return s
  74959. }
  74960. // SetInstanceIds sets the InstanceIds field's value.
  74961. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  74962. s.InstanceIds = v
  74963. return s
  74964. }
  74965. type MonitorInstancesOutput struct {
  74966. _ struct{} `type:"structure"`
  74967. // The monitoring information.
  74968. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  74969. }
  74970. // String returns the string representation
  74971. func (s MonitorInstancesOutput) String() string {
  74972. return awsutil.Prettify(s)
  74973. }
  74974. // GoString returns the string representation
  74975. func (s MonitorInstancesOutput) GoString() string {
  74976. return s.String()
  74977. }
  74978. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  74979. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  74980. s.InstanceMonitorings = v
  74981. return s
  74982. }
  74983. // Describes the monitoring of an instance.
  74984. type Monitoring struct {
  74985. _ struct{} `type:"structure"`
  74986. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  74987. // is enabled.
  74988. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  74989. }
  74990. // String returns the string representation
  74991. func (s Monitoring) String() string {
  74992. return awsutil.Prettify(s)
  74993. }
  74994. // GoString returns the string representation
  74995. func (s Monitoring) GoString() string {
  74996. return s.String()
  74997. }
  74998. // SetState sets the State field's value.
  74999. func (s *Monitoring) SetState(v string) *Monitoring {
  75000. s.State = &v
  75001. return s
  75002. }
  75003. type MoveAddressToVpcInput struct {
  75004. _ struct{} `type:"structure"`
  75005. // Checks whether you have the required permissions for the action, without
  75006. // actually making the request, and provides an error response. If you have
  75007. // the required permissions, the error response is DryRunOperation. Otherwise,
  75008. // it is UnauthorizedOperation.
  75009. DryRun *bool `locationName:"dryRun" type:"boolean"`
  75010. // The Elastic IP address.
  75011. //
  75012. // PublicIp is a required field
  75013. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  75014. }
  75015. // String returns the string representation
  75016. func (s MoveAddressToVpcInput) String() string {
  75017. return awsutil.Prettify(s)
  75018. }
  75019. // GoString returns the string representation
  75020. func (s MoveAddressToVpcInput) GoString() string {
  75021. return s.String()
  75022. }
  75023. // Validate inspects the fields of the type to determine if they are valid.
  75024. func (s *MoveAddressToVpcInput) Validate() error {
  75025. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  75026. if s.PublicIp == nil {
  75027. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  75028. }
  75029. if invalidParams.Len() > 0 {
  75030. return invalidParams
  75031. }
  75032. return nil
  75033. }
  75034. // SetDryRun sets the DryRun field's value.
  75035. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  75036. s.DryRun = &v
  75037. return s
  75038. }
  75039. // SetPublicIp sets the PublicIp field's value.
  75040. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  75041. s.PublicIp = &v
  75042. return s
  75043. }
  75044. type MoveAddressToVpcOutput struct {
  75045. _ struct{} `type:"structure"`
  75046. // The allocation ID for the Elastic IP address.
  75047. AllocationId *string `locationName:"allocationId" type:"string"`
  75048. // The status of the move of the IP address.
  75049. Status *string `locationName:"status" type:"string" enum:"Status"`
  75050. }
  75051. // String returns the string representation
  75052. func (s MoveAddressToVpcOutput) String() string {
  75053. return awsutil.Prettify(s)
  75054. }
  75055. // GoString returns the string representation
  75056. func (s MoveAddressToVpcOutput) GoString() string {
  75057. return s.String()
  75058. }
  75059. // SetAllocationId sets the AllocationId field's value.
  75060. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  75061. s.AllocationId = &v
  75062. return s
  75063. }
  75064. // SetStatus sets the Status field's value.
  75065. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  75066. s.Status = &v
  75067. return s
  75068. }
  75069. // Describes the status of a moving Elastic IP address.
  75070. type MovingAddressStatus struct {
  75071. _ struct{} `type:"structure"`
  75072. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  75073. // or restored to the EC2-Classic platform.
  75074. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  75075. // The Elastic IP address.
  75076. PublicIp *string `locationName:"publicIp" type:"string"`
  75077. }
  75078. // String returns the string representation
  75079. func (s MovingAddressStatus) String() string {
  75080. return awsutil.Prettify(s)
  75081. }
  75082. // GoString returns the string representation
  75083. func (s MovingAddressStatus) GoString() string {
  75084. return s.String()
  75085. }
  75086. // SetMoveStatus sets the MoveStatus field's value.
  75087. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  75088. s.MoveStatus = &v
  75089. return s
  75090. }
  75091. // SetPublicIp sets the PublicIp field's value.
  75092. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  75093. s.PublicIp = &v
  75094. return s
  75095. }
  75096. // Describes a NAT gateway.
  75097. type NatGateway struct {
  75098. _ struct{} `type:"structure"`
  75099. // The date and time the NAT gateway was created.
  75100. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  75101. // The date and time the NAT gateway was deleted, if applicable.
  75102. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
  75103. // If the NAT gateway could not be created, specifies the error code for the
  75104. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  75105. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  75106. FailureCode *string `locationName:"failureCode" type:"string"`
  75107. // If the NAT gateway could not be created, specifies the error message for
  75108. // the failure, that corresponds to the error code.
  75109. //
  75110. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  75111. // addresses to create this NAT gateway"
  75112. //
  75113. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  75114. // attached"
  75115. //
  75116. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  75117. // could not be associated with this NAT gateway"
  75118. //
  75119. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  75120. // is already associated"
  75121. //
  75122. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  75123. // internally by this NAT gateway is in an invalid state. Please try again."
  75124. //
  75125. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  75126. // does not exist or could not be found."
  75127. FailureMessage *string `locationName:"failureMessage" type:"string"`
  75128. // Information about the IP addresses and network interface associated with
  75129. // the NAT gateway.
  75130. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  75131. // The ID of the NAT gateway.
  75132. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  75133. // Reserved. If you need to sustain traffic greater than the documented limits
  75134. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  75135. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  75136. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  75137. // The state of the NAT gateway.
  75138. //
  75139. // * pending: The NAT gateway is being created and is not ready to process
  75140. // traffic.
  75141. //
  75142. // * failed: The NAT gateway could not be created. Check the failureCode
  75143. // and failureMessage fields for the reason.
  75144. //
  75145. // * available: The NAT gateway is able to process traffic. This status remains
  75146. // until you delete the NAT gateway, and does not indicate the health of
  75147. // the NAT gateway.
  75148. //
  75149. // * deleting: The NAT gateway is in the process of being terminated and
  75150. // may still be processing traffic.
  75151. //
  75152. // * deleted: The NAT gateway has been terminated and is no longer processing
  75153. // traffic.
  75154. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  75155. // The ID of the subnet in which the NAT gateway is located.
  75156. SubnetId *string `locationName:"subnetId" type:"string"`
  75157. // The tags for the NAT gateway.
  75158. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  75159. // The ID of the VPC in which the NAT gateway is located.
  75160. VpcId *string `locationName:"vpcId" type:"string"`
  75161. }
  75162. // String returns the string representation
  75163. func (s NatGateway) String() string {
  75164. return awsutil.Prettify(s)
  75165. }
  75166. // GoString returns the string representation
  75167. func (s NatGateway) GoString() string {
  75168. return s.String()
  75169. }
  75170. // SetCreateTime sets the CreateTime field's value.
  75171. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  75172. s.CreateTime = &v
  75173. return s
  75174. }
  75175. // SetDeleteTime sets the DeleteTime field's value.
  75176. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  75177. s.DeleteTime = &v
  75178. return s
  75179. }
  75180. // SetFailureCode sets the FailureCode field's value.
  75181. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  75182. s.FailureCode = &v
  75183. return s
  75184. }
  75185. // SetFailureMessage sets the FailureMessage field's value.
  75186. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  75187. s.FailureMessage = &v
  75188. return s
  75189. }
  75190. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  75191. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  75192. s.NatGatewayAddresses = v
  75193. return s
  75194. }
  75195. // SetNatGatewayId sets the NatGatewayId field's value.
  75196. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  75197. s.NatGatewayId = &v
  75198. return s
  75199. }
  75200. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  75201. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  75202. s.ProvisionedBandwidth = v
  75203. return s
  75204. }
  75205. // SetState sets the State field's value.
  75206. func (s *NatGateway) SetState(v string) *NatGateway {
  75207. s.State = &v
  75208. return s
  75209. }
  75210. // SetSubnetId sets the SubnetId field's value.
  75211. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  75212. s.SubnetId = &v
  75213. return s
  75214. }
  75215. // SetTags sets the Tags field's value.
  75216. func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
  75217. s.Tags = v
  75218. return s
  75219. }
  75220. // SetVpcId sets the VpcId field's value.
  75221. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  75222. s.VpcId = &v
  75223. return s
  75224. }
  75225. // Describes the IP addresses and network interface associated with a NAT gateway.
  75226. type NatGatewayAddress struct {
  75227. _ struct{} `type:"structure"`
  75228. // The allocation ID of the Elastic IP address that's associated with the NAT
  75229. // gateway.
  75230. AllocationId *string `locationName:"allocationId" type:"string"`
  75231. // The ID of the network interface associated with the NAT gateway.
  75232. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  75233. // The private IP address associated with the Elastic IP address.
  75234. PrivateIp *string `locationName:"privateIp" type:"string"`
  75235. // The Elastic IP address associated with the NAT gateway.
  75236. PublicIp *string `locationName:"publicIp" type:"string"`
  75237. }
  75238. // String returns the string representation
  75239. func (s NatGatewayAddress) String() string {
  75240. return awsutil.Prettify(s)
  75241. }
  75242. // GoString returns the string representation
  75243. func (s NatGatewayAddress) GoString() string {
  75244. return s.String()
  75245. }
  75246. // SetAllocationId sets the AllocationId field's value.
  75247. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  75248. s.AllocationId = &v
  75249. return s
  75250. }
  75251. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  75252. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  75253. s.NetworkInterfaceId = &v
  75254. return s
  75255. }
  75256. // SetPrivateIp sets the PrivateIp field's value.
  75257. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  75258. s.PrivateIp = &v
  75259. return s
  75260. }
  75261. // SetPublicIp sets the PublicIp field's value.
  75262. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  75263. s.PublicIp = &v
  75264. return s
  75265. }
  75266. // Describes a network ACL.
  75267. type NetworkAcl struct {
  75268. _ struct{} `type:"structure"`
  75269. // Any associations between the network ACL and one or more subnets
  75270. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  75271. // One or more entries (rules) in the network ACL.
  75272. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  75273. // Indicates whether this is the default network ACL for the VPC.
  75274. IsDefault *bool `locationName:"default" type:"boolean"`
  75275. // The ID of the network ACL.
  75276. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  75277. // The ID of the AWS account that owns the network ACL.
  75278. OwnerId *string `locationName:"ownerId" type:"string"`
  75279. // Any tags assigned to the network ACL.
  75280. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  75281. // The ID of the VPC for the network ACL.
  75282. VpcId *string `locationName:"vpcId" type:"string"`
  75283. }
  75284. // String returns the string representation
  75285. func (s NetworkAcl) String() string {
  75286. return awsutil.Prettify(s)
  75287. }
  75288. // GoString returns the string representation
  75289. func (s NetworkAcl) GoString() string {
  75290. return s.String()
  75291. }
  75292. // SetAssociations sets the Associations field's value.
  75293. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  75294. s.Associations = v
  75295. return s
  75296. }
  75297. // SetEntries sets the Entries field's value.
  75298. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  75299. s.Entries = v
  75300. return s
  75301. }
  75302. // SetIsDefault sets the IsDefault field's value.
  75303. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  75304. s.IsDefault = &v
  75305. return s
  75306. }
  75307. // SetNetworkAclId sets the NetworkAclId field's value.
  75308. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  75309. s.NetworkAclId = &v
  75310. return s
  75311. }
  75312. // SetOwnerId sets the OwnerId field's value.
  75313. func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
  75314. s.OwnerId = &v
  75315. return s
  75316. }
  75317. // SetTags sets the Tags field's value.
  75318. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  75319. s.Tags = v
  75320. return s
  75321. }
  75322. // SetVpcId sets the VpcId field's value.
  75323. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  75324. s.VpcId = &v
  75325. return s
  75326. }
  75327. // Describes an association between a network ACL and a subnet.
  75328. type NetworkAclAssociation struct {
  75329. _ struct{} `type:"structure"`
  75330. // The ID of the association between a network ACL and a subnet.
  75331. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  75332. // The ID of the network ACL.
  75333. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  75334. // The ID of the subnet.
  75335. SubnetId *string `locationName:"subnetId" type:"string"`
  75336. }
  75337. // String returns the string representation
  75338. func (s NetworkAclAssociation) String() string {
  75339. return awsutil.Prettify(s)
  75340. }
  75341. // GoString returns the string representation
  75342. func (s NetworkAclAssociation) GoString() string {
  75343. return s.String()
  75344. }
  75345. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  75346. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  75347. s.NetworkAclAssociationId = &v
  75348. return s
  75349. }
  75350. // SetNetworkAclId sets the NetworkAclId field's value.
  75351. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  75352. s.NetworkAclId = &v
  75353. return s
  75354. }
  75355. // SetSubnetId sets the SubnetId field's value.
  75356. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  75357. s.SubnetId = &v
  75358. return s
  75359. }
  75360. // Describes an entry in a network ACL.
  75361. type NetworkAclEntry struct {
  75362. _ struct{} `type:"structure"`
  75363. // The IPv4 network range to allow or deny, in CIDR notation.
  75364. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  75365. // Indicates whether the rule is an egress rule (applied to traffic leaving
  75366. // the subnet).
  75367. Egress *bool `locationName:"egress" type:"boolean"`
  75368. // ICMP protocol: The ICMP type and code.
  75369. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  75370. // The IPv6 network range to allow or deny, in CIDR notation.
  75371. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  75372. // TCP or UDP protocols: The range of ports the rule applies to.
  75373. PortRange *PortRange `locationName:"portRange" type:"structure"`
  75374. // The protocol number. A value of "-1" means all protocols.
  75375. Protocol *string `locationName:"protocol" type:"string"`
  75376. // Indicates whether to allow or deny the traffic that matches the rule.
  75377. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  75378. // The rule number for the entry. ACL entries are processed in ascending order
  75379. // by rule number.
  75380. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  75381. }
  75382. // String returns the string representation
  75383. func (s NetworkAclEntry) String() string {
  75384. return awsutil.Prettify(s)
  75385. }
  75386. // GoString returns the string representation
  75387. func (s NetworkAclEntry) GoString() string {
  75388. return s.String()
  75389. }
  75390. // SetCidrBlock sets the CidrBlock field's value.
  75391. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  75392. s.CidrBlock = &v
  75393. return s
  75394. }
  75395. // SetEgress sets the Egress field's value.
  75396. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  75397. s.Egress = &v
  75398. return s
  75399. }
  75400. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  75401. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  75402. s.IcmpTypeCode = v
  75403. return s
  75404. }
  75405. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  75406. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  75407. s.Ipv6CidrBlock = &v
  75408. return s
  75409. }
  75410. // SetPortRange sets the PortRange field's value.
  75411. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  75412. s.PortRange = v
  75413. return s
  75414. }
  75415. // SetProtocol sets the Protocol field's value.
  75416. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  75417. s.Protocol = &v
  75418. return s
  75419. }
  75420. // SetRuleAction sets the RuleAction field's value.
  75421. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  75422. s.RuleAction = &v
  75423. return s
  75424. }
  75425. // SetRuleNumber sets the RuleNumber field's value.
  75426. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  75427. s.RuleNumber = &v
  75428. return s
  75429. }
  75430. // Describes the networking features of the instance type.
  75431. type NetworkInfo struct {
  75432. _ struct{} `type:"structure"`
  75433. // Indicates whether Elastic Network Adapter (ENA) is supported.
  75434. EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"`
  75435. // The maximum number of IPv4 addresses per network interface.
  75436. Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"`
  75437. // The maximum number of IPv6 addresses per network interface.
  75438. Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"`
  75439. // Indicates whether IPv6 is supported.
  75440. Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
  75441. // The maximum number of network interfaces for the instance type.
  75442. MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
  75443. // Describes the network performance.
  75444. NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
  75445. }
  75446. // String returns the string representation
  75447. func (s NetworkInfo) String() string {
  75448. return awsutil.Prettify(s)
  75449. }
  75450. // GoString returns the string representation
  75451. func (s NetworkInfo) GoString() string {
  75452. return s.String()
  75453. }
  75454. // SetEnaSupport sets the EnaSupport field's value.
  75455. func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo {
  75456. s.EnaSupport = &v
  75457. return s
  75458. }
  75459. // SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value.
  75460. func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo {
  75461. s.Ipv4AddressesPerInterface = &v
  75462. return s
  75463. }
  75464. // SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value.
  75465. func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo {
  75466. s.Ipv6AddressesPerInterface = &v
  75467. return s
  75468. }
  75469. // SetIpv6Supported sets the Ipv6Supported field's value.
  75470. func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
  75471. s.Ipv6Supported = &v
  75472. return s
  75473. }
  75474. // SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
  75475. func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
  75476. s.MaximumNetworkInterfaces = &v
  75477. return s
  75478. }
  75479. // SetNetworkPerformance sets the NetworkPerformance field's value.
  75480. func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
  75481. s.NetworkPerformance = &v
  75482. return s
  75483. }
  75484. // Describes a network interface.
  75485. type NetworkInterface struct {
  75486. _ struct{} `type:"structure"`
  75487. // The association information for an Elastic IP address (IPv4) associated with
  75488. // the network interface.
  75489. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  75490. // The network interface attachment.
  75491. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  75492. // The Availability Zone.
  75493. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  75494. // A description.
  75495. Description *string `locationName:"description" type:"string"`
  75496. // Any security groups for the network interface.
  75497. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  75498. // The type of network interface.
  75499. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  75500. // The IPv6 addresses associated with the network interface.
  75501. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  75502. // The MAC address.
  75503. MacAddress *string `locationName:"macAddress" type:"string"`
  75504. // The ID of the network interface.
  75505. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  75506. // The Amazon Resource Name (ARN) of the Outpost.
  75507. OutpostArn *string `locationName:"outpostArn" type:"string"`
  75508. // The AWS account ID of the owner of the network interface.
  75509. OwnerId *string `locationName:"ownerId" type:"string"`
  75510. // The private DNS name.
  75511. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  75512. // The IPv4 address of the network interface within the subnet.
  75513. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  75514. // The private IPv4 addresses associated with the network interface.
  75515. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  75516. // The ID of the entity that launched the instance on your behalf (for example,
  75517. // AWS Management Console or Auto Scaling).
  75518. RequesterId *string `locationName:"requesterId" type:"string"`
  75519. // Indicates whether the network interface is being managed by AWS.
  75520. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  75521. // Indicates whether traffic to or from the instance is validated.
  75522. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  75523. // The status of the network interface.
  75524. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  75525. // The ID of the subnet.
  75526. SubnetId *string `locationName:"subnetId" type:"string"`
  75527. // Any tags assigned to the network interface.
  75528. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  75529. // The ID of the VPC.
  75530. VpcId *string `locationName:"vpcId" type:"string"`
  75531. }
  75532. // String returns the string representation
  75533. func (s NetworkInterface) String() string {
  75534. return awsutil.Prettify(s)
  75535. }
  75536. // GoString returns the string representation
  75537. func (s NetworkInterface) GoString() string {
  75538. return s.String()
  75539. }
  75540. // SetAssociation sets the Association field's value.
  75541. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  75542. s.Association = v
  75543. return s
  75544. }
  75545. // SetAttachment sets the Attachment field's value.
  75546. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  75547. s.Attachment = v
  75548. return s
  75549. }
  75550. // SetAvailabilityZone sets the AvailabilityZone field's value.
  75551. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  75552. s.AvailabilityZone = &v
  75553. return s
  75554. }
  75555. // SetDescription sets the Description field's value.
  75556. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  75557. s.Description = &v
  75558. return s
  75559. }
  75560. // SetGroups sets the Groups field's value.
  75561. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  75562. s.Groups = v
  75563. return s
  75564. }
  75565. // SetInterfaceType sets the InterfaceType field's value.
  75566. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  75567. s.InterfaceType = &v
  75568. return s
  75569. }
  75570. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  75571. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  75572. s.Ipv6Addresses = v
  75573. return s
  75574. }
  75575. // SetMacAddress sets the MacAddress field's value.
  75576. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  75577. s.MacAddress = &v
  75578. return s
  75579. }
  75580. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  75581. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  75582. s.NetworkInterfaceId = &v
  75583. return s
  75584. }
  75585. // SetOutpostArn sets the OutpostArn field's value.
  75586. func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
  75587. s.OutpostArn = &v
  75588. return s
  75589. }
  75590. // SetOwnerId sets the OwnerId field's value.
  75591. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  75592. s.OwnerId = &v
  75593. return s
  75594. }
  75595. // SetPrivateDnsName sets the PrivateDnsName field's value.
  75596. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  75597. s.PrivateDnsName = &v
  75598. return s
  75599. }
  75600. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  75601. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  75602. s.PrivateIpAddress = &v
  75603. return s
  75604. }
  75605. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  75606. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  75607. s.PrivateIpAddresses = v
  75608. return s
  75609. }
  75610. // SetRequesterId sets the RequesterId field's value.
  75611. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  75612. s.RequesterId = &v
  75613. return s
  75614. }
  75615. // SetRequesterManaged sets the RequesterManaged field's value.
  75616. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  75617. s.RequesterManaged = &v
  75618. return s
  75619. }
  75620. // SetSourceDestCheck sets the SourceDestCheck field's value.
  75621. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  75622. s.SourceDestCheck = &v
  75623. return s
  75624. }
  75625. // SetStatus sets the Status field's value.
  75626. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  75627. s.Status = &v
  75628. return s
  75629. }
  75630. // SetSubnetId sets the SubnetId field's value.
  75631. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  75632. s.SubnetId = &v
  75633. return s
  75634. }
  75635. // SetTagSet sets the TagSet field's value.
  75636. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  75637. s.TagSet = v
  75638. return s
  75639. }
  75640. // SetVpcId sets the VpcId field's value.
  75641. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  75642. s.VpcId = &v
  75643. return s
  75644. }
  75645. // Describes association information for an Elastic IP address (IPv4 only).
  75646. type NetworkInterfaceAssociation struct {
  75647. _ struct{} `type:"structure"`
  75648. // The allocation ID.
  75649. AllocationId *string `locationName:"allocationId" type:"string"`
  75650. // The association ID.
  75651. AssociationId *string `locationName:"associationId" type:"string"`
  75652. // The ID of the Elastic IP address owner.
  75653. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  75654. // The public DNS name.
  75655. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  75656. // The address of the Elastic IP address bound to the network interface.
  75657. PublicIp *string `locationName:"publicIp" type:"string"`
  75658. }
  75659. // String returns the string representation
  75660. func (s NetworkInterfaceAssociation) String() string {
  75661. return awsutil.Prettify(s)
  75662. }
  75663. // GoString returns the string representation
  75664. func (s NetworkInterfaceAssociation) GoString() string {
  75665. return s.String()
  75666. }
  75667. // SetAllocationId sets the AllocationId field's value.
  75668. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  75669. s.AllocationId = &v
  75670. return s
  75671. }
  75672. // SetAssociationId sets the AssociationId field's value.
  75673. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  75674. s.AssociationId = &v
  75675. return s
  75676. }
  75677. // SetIpOwnerId sets the IpOwnerId field's value.
  75678. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  75679. s.IpOwnerId = &v
  75680. return s
  75681. }
  75682. // SetPublicDnsName sets the PublicDnsName field's value.
  75683. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  75684. s.PublicDnsName = &v
  75685. return s
  75686. }
  75687. // SetPublicIp sets the PublicIp field's value.
  75688. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  75689. s.PublicIp = &v
  75690. return s
  75691. }
  75692. // Describes a network interface attachment.
  75693. type NetworkInterfaceAttachment struct {
  75694. _ struct{} `type:"structure"`
  75695. // The timestamp indicating when the attachment initiated.
  75696. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  75697. // The ID of the network interface attachment.
  75698. AttachmentId *string `locationName:"attachmentId" type:"string"`
  75699. // Indicates whether the network interface is deleted when the instance is terminated.
  75700. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  75701. // The device index of the network interface attachment on the instance.
  75702. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  75703. // The ID of the instance.
  75704. InstanceId *string `locationName:"instanceId" type:"string"`
  75705. // The AWS account ID of the owner of the instance.
  75706. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  75707. // The attachment state.
  75708. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  75709. }
  75710. // String returns the string representation
  75711. func (s NetworkInterfaceAttachment) String() string {
  75712. return awsutil.Prettify(s)
  75713. }
  75714. // GoString returns the string representation
  75715. func (s NetworkInterfaceAttachment) GoString() string {
  75716. return s.String()
  75717. }
  75718. // SetAttachTime sets the AttachTime field's value.
  75719. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  75720. s.AttachTime = &v
  75721. return s
  75722. }
  75723. // SetAttachmentId sets the AttachmentId field's value.
  75724. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  75725. s.AttachmentId = &v
  75726. return s
  75727. }
  75728. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  75729. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  75730. s.DeleteOnTermination = &v
  75731. return s
  75732. }
  75733. // SetDeviceIndex sets the DeviceIndex field's value.
  75734. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  75735. s.DeviceIndex = &v
  75736. return s
  75737. }
  75738. // SetInstanceId sets the InstanceId field's value.
  75739. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  75740. s.InstanceId = &v
  75741. return s
  75742. }
  75743. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  75744. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  75745. s.InstanceOwnerId = &v
  75746. return s
  75747. }
  75748. // SetStatus sets the Status field's value.
  75749. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  75750. s.Status = &v
  75751. return s
  75752. }
  75753. // Describes an attachment change.
  75754. type NetworkInterfaceAttachmentChanges struct {
  75755. _ struct{} `type:"structure"`
  75756. // The ID of the network interface attachment.
  75757. AttachmentId *string `locationName:"attachmentId" type:"string"`
  75758. // Indicates whether the network interface is deleted when the instance is terminated.
  75759. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  75760. }
  75761. // String returns the string representation
  75762. func (s NetworkInterfaceAttachmentChanges) String() string {
  75763. return awsutil.Prettify(s)
  75764. }
  75765. // GoString returns the string representation
  75766. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  75767. return s.String()
  75768. }
  75769. // SetAttachmentId sets the AttachmentId field's value.
  75770. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  75771. s.AttachmentId = &v
  75772. return s
  75773. }
  75774. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  75775. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  75776. s.DeleteOnTermination = &v
  75777. return s
  75778. }
  75779. // Describes an IPv6 address associated with a network interface.
  75780. type NetworkInterfaceIpv6Address struct {
  75781. _ struct{} `type:"structure"`
  75782. // The IPv6 address.
  75783. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  75784. }
  75785. // String returns the string representation
  75786. func (s NetworkInterfaceIpv6Address) String() string {
  75787. return awsutil.Prettify(s)
  75788. }
  75789. // GoString returns the string representation
  75790. func (s NetworkInterfaceIpv6Address) GoString() string {
  75791. return s.String()
  75792. }
  75793. // SetIpv6Address sets the Ipv6Address field's value.
  75794. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  75795. s.Ipv6Address = &v
  75796. return s
  75797. }
  75798. // Describes a permission for a network interface.
  75799. type NetworkInterfacePermission struct {
  75800. _ struct{} `type:"structure"`
  75801. // The AWS account ID.
  75802. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  75803. // The AWS service.
  75804. AwsService *string `locationName:"awsService" type:"string"`
  75805. // The ID of the network interface.
  75806. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  75807. // The ID of the network interface permission.
  75808. NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
  75809. // The type of permission.
  75810. Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
  75811. // Information about the state of the permission.
  75812. PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
  75813. }
  75814. // String returns the string representation
  75815. func (s NetworkInterfacePermission) String() string {
  75816. return awsutil.Prettify(s)
  75817. }
  75818. // GoString returns the string representation
  75819. func (s NetworkInterfacePermission) GoString() string {
  75820. return s.String()
  75821. }
  75822. // SetAwsAccountId sets the AwsAccountId field's value.
  75823. func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
  75824. s.AwsAccountId = &v
  75825. return s
  75826. }
  75827. // SetAwsService sets the AwsService field's value.
  75828. func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
  75829. s.AwsService = &v
  75830. return s
  75831. }
  75832. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  75833. func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
  75834. s.NetworkInterfaceId = &v
  75835. return s
  75836. }
  75837. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  75838. func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
  75839. s.NetworkInterfacePermissionId = &v
  75840. return s
  75841. }
  75842. // SetPermission sets the Permission field's value.
  75843. func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
  75844. s.Permission = &v
  75845. return s
  75846. }
  75847. // SetPermissionState sets the PermissionState field's value.
  75848. func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
  75849. s.PermissionState = v
  75850. return s
  75851. }
  75852. // Describes the state of a network interface permission.
  75853. type NetworkInterfacePermissionState struct {
  75854. _ struct{} `type:"structure"`
  75855. // The state of the permission.
  75856. State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
  75857. // A status message, if applicable.
  75858. StatusMessage *string `locationName:"statusMessage" type:"string"`
  75859. }
  75860. // String returns the string representation
  75861. func (s NetworkInterfacePermissionState) String() string {
  75862. return awsutil.Prettify(s)
  75863. }
  75864. // GoString returns the string representation
  75865. func (s NetworkInterfacePermissionState) GoString() string {
  75866. return s.String()
  75867. }
  75868. // SetState sets the State field's value.
  75869. func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
  75870. s.State = &v
  75871. return s
  75872. }
  75873. // SetStatusMessage sets the StatusMessage field's value.
  75874. func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
  75875. s.StatusMessage = &v
  75876. return s
  75877. }
  75878. // Describes the private IPv4 address of a network interface.
  75879. type NetworkInterfacePrivateIpAddress struct {
  75880. _ struct{} `type:"structure"`
  75881. // The association information for an Elastic IP address (IPv4) associated with
  75882. // the network interface.
  75883. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  75884. // Indicates whether this IPv4 address is the primary private IPv4 address of
  75885. // the network interface.
  75886. Primary *bool `locationName:"primary" type:"boolean"`
  75887. // The private DNS name.
  75888. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  75889. // The private IPv4 address.
  75890. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  75891. }
  75892. // String returns the string representation
  75893. func (s NetworkInterfacePrivateIpAddress) String() string {
  75894. return awsutil.Prettify(s)
  75895. }
  75896. // GoString returns the string representation
  75897. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  75898. return s.String()
  75899. }
  75900. // SetAssociation sets the Association field's value.
  75901. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  75902. s.Association = v
  75903. return s
  75904. }
  75905. // SetPrimary sets the Primary field's value.
  75906. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  75907. s.Primary = &v
  75908. return s
  75909. }
  75910. // SetPrivateDnsName sets the PrivateDnsName field's value.
  75911. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  75912. s.PrivateDnsName = &v
  75913. return s
  75914. }
  75915. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  75916. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  75917. s.PrivateIpAddress = &v
  75918. return s
  75919. }
  75920. type NewDhcpConfiguration struct {
  75921. _ struct{} `type:"structure"`
  75922. Key *string `locationName:"key" type:"string"`
  75923. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  75924. }
  75925. // String returns the string representation
  75926. func (s NewDhcpConfiguration) String() string {
  75927. return awsutil.Prettify(s)
  75928. }
  75929. // GoString returns the string representation
  75930. func (s NewDhcpConfiguration) GoString() string {
  75931. return s.String()
  75932. }
  75933. // SetKey sets the Key field's value.
  75934. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  75935. s.Key = &v
  75936. return s
  75937. }
  75938. // SetValues sets the Values field's value.
  75939. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  75940. s.Values = v
  75941. return s
  75942. }
  75943. // Describes the configuration of On-Demand Instances in an EC2 Fleet.
  75944. type OnDemandOptions struct {
  75945. _ struct{} `type:"structure"`
  75946. // The order of the launch template overrides to use in fulfilling On-Demand
  75947. // capacity. If you specify lowest-price, EC2 Fleet uses price to determine
  75948. // the order, launching the lowest price first. If you specify prioritized,
  75949. // EC2 Fleet uses the priority that you assigned to each launch template override,
  75950. // launching the highest priority first. If you do not specify a value, EC2
  75951. // Fleet defaults to lowest-price.
  75952. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
  75953. // The strategy for using unused Capacity Reservations for fulfilling On-Demand
  75954. // capacity. Supported only for fleets of type instant.
  75955. CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"`
  75956. // The maximum amount per hour for On-Demand Instances that you're willing to
  75957. // pay.
  75958. MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
  75959. // The minimum target capacity for On-Demand Instances in the fleet. If the
  75960. // minimum target capacity is not reached, the fleet launches no instances.
  75961. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
  75962. // Indicates that the fleet launches all On-Demand Instances into a single Availability
  75963. // Zone. Supported only for fleets of type instant.
  75964. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
  75965. // Indicates that the fleet uses a single instance type to launch all On-Demand
  75966. // Instances in the fleet. Supported only for fleets of type instant.
  75967. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
  75968. }
  75969. // String returns the string representation
  75970. func (s OnDemandOptions) String() string {
  75971. return awsutil.Prettify(s)
  75972. }
  75973. // GoString returns the string representation
  75974. func (s OnDemandOptions) GoString() string {
  75975. return s.String()
  75976. }
  75977. // SetAllocationStrategy sets the AllocationStrategy field's value.
  75978. func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
  75979. s.AllocationStrategy = &v
  75980. return s
  75981. }
  75982. // SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
  75983. func (s *OnDemandOptions) SetCapacityReservationOptions(v *CapacityReservationOptions) *OnDemandOptions {
  75984. s.CapacityReservationOptions = v
  75985. return s
  75986. }
  75987. // SetMaxTotalPrice sets the MaxTotalPrice field's value.
  75988. func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions {
  75989. s.MaxTotalPrice = &v
  75990. return s
  75991. }
  75992. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  75993. func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
  75994. s.MinTargetCapacity = &v
  75995. return s
  75996. }
  75997. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  75998. func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
  75999. s.SingleAvailabilityZone = &v
  76000. return s
  76001. }
  76002. // SetSingleInstanceType sets the SingleInstanceType field's value.
  76003. func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
  76004. s.SingleInstanceType = &v
  76005. return s
  76006. }
  76007. // Describes the configuration of On-Demand Instances in an EC2 Fleet.
  76008. type OnDemandOptionsRequest struct {
  76009. _ struct{} `type:"structure"`
  76010. // The order of the launch template overrides to use in fulfilling On-Demand
  76011. // capacity. If you specify lowest-price, EC2 Fleet uses price to determine
  76012. // the order, launching the lowest price first. If you specify prioritized,
  76013. // EC2 Fleet uses the priority that you assigned to each launch template override,
  76014. // launching the highest priority first. If you do not specify a value, EC2
  76015. // Fleet defaults to lowest-price.
  76016. AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
  76017. // The strategy for using unused Capacity Reservations for fulfilling On-Demand
  76018. // capacity. Supported only for fleets of type instant.
  76019. CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"`
  76020. // The maximum amount per hour for On-Demand Instances that you're willing to
  76021. // pay.
  76022. MaxTotalPrice *string `type:"string"`
  76023. // The minimum target capacity for On-Demand Instances in the fleet. If the
  76024. // minimum target capacity is not reached, the fleet launches no instances.
  76025. MinTargetCapacity *int64 `type:"integer"`
  76026. // Indicates that the fleet launches all On-Demand Instances into a single Availability
  76027. // Zone. Supported only for fleets of type instant.
  76028. SingleAvailabilityZone *bool `type:"boolean"`
  76029. // Indicates that the fleet uses a single instance type to launch all On-Demand
  76030. // Instances in the fleet. Supported only for fleets of type instant.
  76031. SingleInstanceType *bool `type:"boolean"`
  76032. }
  76033. // String returns the string representation
  76034. func (s OnDemandOptionsRequest) String() string {
  76035. return awsutil.Prettify(s)
  76036. }
  76037. // GoString returns the string representation
  76038. func (s OnDemandOptionsRequest) GoString() string {
  76039. return s.String()
  76040. }
  76041. // SetAllocationStrategy sets the AllocationStrategy field's value.
  76042. func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
  76043. s.AllocationStrategy = &v
  76044. return s
  76045. }
  76046. // SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
  76047. func (s *OnDemandOptionsRequest) SetCapacityReservationOptions(v *CapacityReservationOptionsRequest) *OnDemandOptionsRequest {
  76048. s.CapacityReservationOptions = v
  76049. return s
  76050. }
  76051. // SetMaxTotalPrice sets the MaxTotalPrice field's value.
  76052. func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest {
  76053. s.MaxTotalPrice = &v
  76054. return s
  76055. }
  76056. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  76057. func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
  76058. s.MinTargetCapacity = &v
  76059. return s
  76060. }
  76061. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  76062. func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
  76063. s.SingleAvailabilityZone = &v
  76064. return s
  76065. }
  76066. // SetSingleInstanceType sets the SingleInstanceType field's value.
  76067. func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
  76068. s.SingleInstanceType = &v
  76069. return s
  76070. }
  76071. // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
  76072. // bus.
  76073. type PciId struct {
  76074. _ struct{} `type:"structure"`
  76075. // The ID of the device.
  76076. DeviceId *string `type:"string"`
  76077. // The ID of the subsystem.
  76078. SubsystemId *string `type:"string"`
  76079. // The ID of the vendor for the subsystem.
  76080. SubsystemVendorId *string `type:"string"`
  76081. // The ID of the vendor.
  76082. VendorId *string `type:"string"`
  76083. }
  76084. // String returns the string representation
  76085. func (s PciId) String() string {
  76086. return awsutil.Prettify(s)
  76087. }
  76088. // GoString returns the string representation
  76089. func (s PciId) GoString() string {
  76090. return s.String()
  76091. }
  76092. // SetDeviceId sets the DeviceId field's value.
  76093. func (s *PciId) SetDeviceId(v string) *PciId {
  76094. s.DeviceId = &v
  76095. return s
  76096. }
  76097. // SetSubsystemId sets the SubsystemId field's value.
  76098. func (s *PciId) SetSubsystemId(v string) *PciId {
  76099. s.SubsystemId = &v
  76100. return s
  76101. }
  76102. // SetSubsystemVendorId sets the SubsystemVendorId field's value.
  76103. func (s *PciId) SetSubsystemVendorId(v string) *PciId {
  76104. s.SubsystemVendorId = &v
  76105. return s
  76106. }
  76107. // SetVendorId sets the VendorId field's value.
  76108. func (s *PciId) SetVendorId(v string) *PciId {
  76109. s.VendorId = &v
  76110. return s
  76111. }
  76112. // The status of the transit gateway peering attachment.
  76113. type PeeringAttachmentStatus struct {
  76114. _ struct{} `type:"structure"`
  76115. // The status code.
  76116. Code *string `locationName:"code" type:"string"`
  76117. // The status message, if applicable.
  76118. Message *string `locationName:"message" type:"string"`
  76119. }
  76120. // String returns the string representation
  76121. func (s PeeringAttachmentStatus) String() string {
  76122. return awsutil.Prettify(s)
  76123. }
  76124. // GoString returns the string representation
  76125. func (s PeeringAttachmentStatus) GoString() string {
  76126. return s.String()
  76127. }
  76128. // SetCode sets the Code field's value.
  76129. func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
  76130. s.Code = &v
  76131. return s
  76132. }
  76133. // SetMessage sets the Message field's value.
  76134. func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
  76135. s.Message = &v
  76136. return s
  76137. }
  76138. // Describes the VPC peering connection options.
  76139. type PeeringConnectionOptions struct {
  76140. _ struct{} `type:"structure"`
  76141. // If true, the public DNS hostnames of instances in the specified VPC resolve
  76142. // to private IP addresses when queried from instances in the peer VPC.
  76143. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  76144. // If true, enables outbound communication from an EC2-Classic instance that's
  76145. // linked to a local VPC using ClassicLink to instances in a peer VPC.
  76146. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  76147. // If true, enables outbound communication from instances in a local VPC to
  76148. // an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
  76149. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  76150. }
  76151. // String returns the string representation
  76152. func (s PeeringConnectionOptions) String() string {
  76153. return awsutil.Prettify(s)
  76154. }
  76155. // GoString returns the string representation
  76156. func (s PeeringConnectionOptions) GoString() string {
  76157. return s.String()
  76158. }
  76159. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  76160. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  76161. s.AllowDnsResolutionFromRemoteVpc = &v
  76162. return s
  76163. }
  76164. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  76165. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  76166. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  76167. return s
  76168. }
  76169. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  76170. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  76171. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  76172. return s
  76173. }
  76174. // The VPC peering connection options.
  76175. type PeeringConnectionOptionsRequest struct {
  76176. _ struct{} `type:"structure"`
  76177. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  76178. // addresses when queried from instances in the peer VPC.
  76179. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  76180. // If true, enables outbound communication from an EC2-Classic instance that's
  76181. // linked to a local VPC using ClassicLink to instances in a peer VPC.
  76182. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  76183. // If true, enables outbound communication from instances in a local VPC to
  76184. // an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
  76185. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  76186. }
  76187. // String returns the string representation
  76188. func (s PeeringConnectionOptionsRequest) String() string {
  76189. return awsutil.Prettify(s)
  76190. }
  76191. // GoString returns the string representation
  76192. func (s PeeringConnectionOptionsRequest) GoString() string {
  76193. return s.String()
  76194. }
  76195. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  76196. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  76197. s.AllowDnsResolutionFromRemoteVpc = &v
  76198. return s
  76199. }
  76200. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  76201. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  76202. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  76203. return s
  76204. }
  76205. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  76206. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  76207. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  76208. return s
  76209. }
  76210. // Information about the transit gateway in the peering attachment.
  76211. type PeeringTgwInfo struct {
  76212. _ struct{} `type:"structure"`
  76213. // The AWS account ID of the owner of the transit gateway.
  76214. OwnerId *string `locationName:"ownerId" type:"string"`
  76215. // The Region of the transit gateway.
  76216. Region *string `locationName:"region" type:"string"`
  76217. // The ID of the transit gateway.
  76218. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  76219. }
  76220. // String returns the string representation
  76221. func (s PeeringTgwInfo) String() string {
  76222. return awsutil.Prettify(s)
  76223. }
  76224. // GoString returns the string representation
  76225. func (s PeeringTgwInfo) GoString() string {
  76226. return s.String()
  76227. }
  76228. // SetOwnerId sets the OwnerId field's value.
  76229. func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
  76230. s.OwnerId = &v
  76231. return s
  76232. }
  76233. // SetRegion sets the Region field's value.
  76234. func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
  76235. s.Region = &v
  76236. return s
  76237. }
  76238. // SetTransitGatewayId sets the TransitGatewayId field's value.
  76239. func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
  76240. s.TransitGatewayId = &v
  76241. return s
  76242. }
  76243. // The Diffie-Hellmann group number for phase 1 IKE negotiations.
  76244. type Phase1DHGroupNumbersListValue struct {
  76245. _ struct{} `type:"structure"`
  76246. // The Diffie-Hellmann group number.
  76247. Value *int64 `locationName:"value" type:"integer"`
  76248. }
  76249. // String returns the string representation
  76250. func (s Phase1DHGroupNumbersListValue) String() string {
  76251. return awsutil.Prettify(s)
  76252. }
  76253. // GoString returns the string representation
  76254. func (s Phase1DHGroupNumbersListValue) GoString() string {
  76255. return s.String()
  76256. }
  76257. // SetValue sets the Value field's value.
  76258. func (s *Phase1DHGroupNumbersListValue) SetValue(v int64) *Phase1DHGroupNumbersListValue {
  76259. s.Value = &v
  76260. return s
  76261. }
  76262. // Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE
  76263. // negotiations.
  76264. type Phase1DHGroupNumbersRequestListValue struct {
  76265. _ struct{} `type:"structure"`
  76266. // The Diffie-Hellmann group number.
  76267. Value *int64 `type:"integer"`
  76268. }
  76269. // String returns the string representation
  76270. func (s Phase1DHGroupNumbersRequestListValue) String() string {
  76271. return awsutil.Prettify(s)
  76272. }
  76273. // GoString returns the string representation
  76274. func (s Phase1DHGroupNumbersRequestListValue) GoString() string {
  76275. return s.String()
  76276. }
  76277. // SetValue sets the Value field's value.
  76278. func (s *Phase1DHGroupNumbersRequestListValue) SetValue(v int64) *Phase1DHGroupNumbersRequestListValue {
  76279. s.Value = &v
  76280. return s
  76281. }
  76282. // The encryption algorithm for phase 1 IKE negotiations.
  76283. type Phase1EncryptionAlgorithmsListValue struct {
  76284. _ struct{} `type:"structure"`
  76285. // The value for the encryption algorithm.
  76286. Value *string `locationName:"value" type:"string"`
  76287. }
  76288. // String returns the string representation
  76289. func (s Phase1EncryptionAlgorithmsListValue) String() string {
  76290. return awsutil.Prettify(s)
  76291. }
  76292. // GoString returns the string representation
  76293. func (s Phase1EncryptionAlgorithmsListValue) GoString() string {
  76294. return s.String()
  76295. }
  76296. // SetValue sets the Value field's value.
  76297. func (s *Phase1EncryptionAlgorithmsListValue) SetValue(v string) *Phase1EncryptionAlgorithmsListValue {
  76298. s.Value = &v
  76299. return s
  76300. }
  76301. // Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.
  76302. type Phase1EncryptionAlgorithmsRequestListValue struct {
  76303. _ struct{} `type:"structure"`
  76304. // The value for the encryption algorithm.
  76305. Value *string `type:"string"`
  76306. }
  76307. // String returns the string representation
  76308. func (s Phase1EncryptionAlgorithmsRequestListValue) String() string {
  76309. return awsutil.Prettify(s)
  76310. }
  76311. // GoString returns the string representation
  76312. func (s Phase1EncryptionAlgorithmsRequestListValue) GoString() string {
  76313. return s.String()
  76314. }
  76315. // SetValue sets the Value field's value.
  76316. func (s *Phase1EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase1EncryptionAlgorithmsRequestListValue {
  76317. s.Value = &v
  76318. return s
  76319. }
  76320. // The integrity algorithm for phase 1 IKE negotiations.
  76321. type Phase1IntegrityAlgorithmsListValue struct {
  76322. _ struct{} `type:"structure"`
  76323. // The value for the integrity algorithm.
  76324. Value *string `locationName:"value" type:"string"`
  76325. }
  76326. // String returns the string representation
  76327. func (s Phase1IntegrityAlgorithmsListValue) String() string {
  76328. return awsutil.Prettify(s)
  76329. }
  76330. // GoString returns the string representation
  76331. func (s Phase1IntegrityAlgorithmsListValue) GoString() string {
  76332. return s.String()
  76333. }
  76334. // SetValue sets the Value field's value.
  76335. func (s *Phase1IntegrityAlgorithmsListValue) SetValue(v string) *Phase1IntegrityAlgorithmsListValue {
  76336. s.Value = &v
  76337. return s
  76338. }
  76339. // Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.
  76340. type Phase1IntegrityAlgorithmsRequestListValue struct {
  76341. _ struct{} `type:"structure"`
  76342. // The value for the integrity algorithm.
  76343. Value *string `type:"string"`
  76344. }
  76345. // String returns the string representation
  76346. func (s Phase1IntegrityAlgorithmsRequestListValue) String() string {
  76347. return awsutil.Prettify(s)
  76348. }
  76349. // GoString returns the string representation
  76350. func (s Phase1IntegrityAlgorithmsRequestListValue) GoString() string {
  76351. return s.String()
  76352. }
  76353. // SetValue sets the Value field's value.
  76354. func (s *Phase1IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase1IntegrityAlgorithmsRequestListValue {
  76355. s.Value = &v
  76356. return s
  76357. }
  76358. // The Diffie-Hellmann group number for phase 2 IKE negotiations.
  76359. type Phase2DHGroupNumbersListValue struct {
  76360. _ struct{} `type:"structure"`
  76361. // The Diffie-Hellmann group number.
  76362. Value *int64 `locationName:"value" type:"integer"`
  76363. }
  76364. // String returns the string representation
  76365. func (s Phase2DHGroupNumbersListValue) String() string {
  76366. return awsutil.Prettify(s)
  76367. }
  76368. // GoString returns the string representation
  76369. func (s Phase2DHGroupNumbersListValue) GoString() string {
  76370. return s.String()
  76371. }
  76372. // SetValue sets the Value field's value.
  76373. func (s *Phase2DHGroupNumbersListValue) SetValue(v int64) *Phase2DHGroupNumbersListValue {
  76374. s.Value = &v
  76375. return s
  76376. }
  76377. // Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE
  76378. // negotiations.
  76379. type Phase2DHGroupNumbersRequestListValue struct {
  76380. _ struct{} `type:"structure"`
  76381. // The Diffie-Hellmann group number.
  76382. Value *int64 `type:"integer"`
  76383. }
  76384. // String returns the string representation
  76385. func (s Phase2DHGroupNumbersRequestListValue) String() string {
  76386. return awsutil.Prettify(s)
  76387. }
  76388. // GoString returns the string representation
  76389. func (s Phase2DHGroupNumbersRequestListValue) GoString() string {
  76390. return s.String()
  76391. }
  76392. // SetValue sets the Value field's value.
  76393. func (s *Phase2DHGroupNumbersRequestListValue) SetValue(v int64) *Phase2DHGroupNumbersRequestListValue {
  76394. s.Value = &v
  76395. return s
  76396. }
  76397. // The encryption algorithm for phase 2 IKE negotiations.
  76398. type Phase2EncryptionAlgorithmsListValue struct {
  76399. _ struct{} `type:"structure"`
  76400. // The encryption algorithm.
  76401. Value *string `locationName:"value" type:"string"`
  76402. }
  76403. // String returns the string representation
  76404. func (s Phase2EncryptionAlgorithmsListValue) String() string {
  76405. return awsutil.Prettify(s)
  76406. }
  76407. // GoString returns the string representation
  76408. func (s Phase2EncryptionAlgorithmsListValue) GoString() string {
  76409. return s.String()
  76410. }
  76411. // SetValue sets the Value field's value.
  76412. func (s *Phase2EncryptionAlgorithmsListValue) SetValue(v string) *Phase2EncryptionAlgorithmsListValue {
  76413. s.Value = &v
  76414. return s
  76415. }
  76416. // Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.
  76417. type Phase2EncryptionAlgorithmsRequestListValue struct {
  76418. _ struct{} `type:"structure"`
  76419. // The encryption algorithm.
  76420. Value *string `type:"string"`
  76421. }
  76422. // String returns the string representation
  76423. func (s Phase2EncryptionAlgorithmsRequestListValue) String() string {
  76424. return awsutil.Prettify(s)
  76425. }
  76426. // GoString returns the string representation
  76427. func (s Phase2EncryptionAlgorithmsRequestListValue) GoString() string {
  76428. return s.String()
  76429. }
  76430. // SetValue sets the Value field's value.
  76431. func (s *Phase2EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase2EncryptionAlgorithmsRequestListValue {
  76432. s.Value = &v
  76433. return s
  76434. }
  76435. // The integrity algorithm for phase 2 IKE negotiations.
  76436. type Phase2IntegrityAlgorithmsListValue struct {
  76437. _ struct{} `type:"structure"`
  76438. // The integrity algorithm.
  76439. Value *string `locationName:"value" type:"string"`
  76440. }
  76441. // String returns the string representation
  76442. func (s Phase2IntegrityAlgorithmsListValue) String() string {
  76443. return awsutil.Prettify(s)
  76444. }
  76445. // GoString returns the string representation
  76446. func (s Phase2IntegrityAlgorithmsListValue) GoString() string {
  76447. return s.String()
  76448. }
  76449. // SetValue sets the Value field's value.
  76450. func (s *Phase2IntegrityAlgorithmsListValue) SetValue(v string) *Phase2IntegrityAlgorithmsListValue {
  76451. s.Value = &v
  76452. return s
  76453. }
  76454. // Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.
  76455. type Phase2IntegrityAlgorithmsRequestListValue struct {
  76456. _ struct{} `type:"structure"`
  76457. // The integrity algorithm.
  76458. Value *string `type:"string"`
  76459. }
  76460. // String returns the string representation
  76461. func (s Phase2IntegrityAlgorithmsRequestListValue) String() string {
  76462. return awsutil.Prettify(s)
  76463. }
  76464. // GoString returns the string representation
  76465. func (s Phase2IntegrityAlgorithmsRequestListValue) GoString() string {
  76466. return s.String()
  76467. }
  76468. // SetValue sets the Value field's value.
  76469. func (s *Phase2IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase2IntegrityAlgorithmsRequestListValue {
  76470. s.Value = &v
  76471. return s
  76472. }
  76473. // Describes the placement of an instance.
  76474. type Placement struct {
  76475. _ struct{} `type:"structure"`
  76476. // The affinity setting for the instance on the Dedicated Host. This parameter
  76477. // is not supported for the ImportInstance command.
  76478. Affinity *string `locationName:"affinity" type:"string"`
  76479. // The Availability Zone of the instance.
  76480. //
  76481. // If not specified, an Availability Zone will be automatically chosen for you
  76482. // based on the load balancing criteria for the Region.
  76483. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  76484. // The name of the placement group the instance is in.
  76485. GroupName *string `locationName:"groupName" type:"string"`
  76486. // The ID of the Dedicated Host on which the instance resides. This parameter
  76487. // is not supported for the ImportInstance command.
  76488. HostId *string `locationName:"hostId" type:"string"`
  76489. // The ARN of the host resource group in which to launch the instances. If you
  76490. // specify a host resource group ARN, omit the Tenancy parameter or set it to
  76491. // host.
  76492. HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
  76493. // The number of the partition the instance is in. Valid only if the placement
  76494. // group strategy is set to partition.
  76495. PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
  76496. // Reserved for future use.
  76497. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  76498. // The tenancy of the instance (if the instance is running in a VPC). An instance
  76499. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  76500. // is not supported for the ImportInstance command.
  76501. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  76502. }
  76503. // String returns the string representation
  76504. func (s Placement) String() string {
  76505. return awsutil.Prettify(s)
  76506. }
  76507. // GoString returns the string representation
  76508. func (s Placement) GoString() string {
  76509. return s.String()
  76510. }
  76511. // SetAffinity sets the Affinity field's value.
  76512. func (s *Placement) SetAffinity(v string) *Placement {
  76513. s.Affinity = &v
  76514. return s
  76515. }
  76516. // SetAvailabilityZone sets the AvailabilityZone field's value.
  76517. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  76518. s.AvailabilityZone = &v
  76519. return s
  76520. }
  76521. // SetGroupName sets the GroupName field's value.
  76522. func (s *Placement) SetGroupName(v string) *Placement {
  76523. s.GroupName = &v
  76524. return s
  76525. }
  76526. // SetHostId sets the HostId field's value.
  76527. func (s *Placement) SetHostId(v string) *Placement {
  76528. s.HostId = &v
  76529. return s
  76530. }
  76531. // SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
  76532. func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
  76533. s.HostResourceGroupArn = &v
  76534. return s
  76535. }
  76536. // SetPartitionNumber sets the PartitionNumber field's value.
  76537. func (s *Placement) SetPartitionNumber(v int64) *Placement {
  76538. s.PartitionNumber = &v
  76539. return s
  76540. }
  76541. // SetSpreadDomain sets the SpreadDomain field's value.
  76542. func (s *Placement) SetSpreadDomain(v string) *Placement {
  76543. s.SpreadDomain = &v
  76544. return s
  76545. }
  76546. // SetTenancy sets the Tenancy field's value.
  76547. func (s *Placement) SetTenancy(v string) *Placement {
  76548. s.Tenancy = &v
  76549. return s
  76550. }
  76551. // Describes a placement group.
  76552. type PlacementGroup struct {
  76553. _ struct{} `type:"structure"`
  76554. // The ID of the placement group.
  76555. GroupId *string `locationName:"groupId" type:"string"`
  76556. // The name of the placement group.
  76557. GroupName *string `locationName:"groupName" type:"string"`
  76558. // The number of partitions. Valid only if strategy is set to partition.
  76559. PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
  76560. // The state of the placement group.
  76561. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  76562. // The placement strategy.
  76563. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  76564. // Any tags applied to the placement group.
  76565. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  76566. }
  76567. // String returns the string representation
  76568. func (s PlacementGroup) String() string {
  76569. return awsutil.Prettify(s)
  76570. }
  76571. // GoString returns the string representation
  76572. func (s PlacementGroup) GoString() string {
  76573. return s.String()
  76574. }
  76575. // SetGroupId sets the GroupId field's value.
  76576. func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup {
  76577. s.GroupId = &v
  76578. return s
  76579. }
  76580. // SetGroupName sets the GroupName field's value.
  76581. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  76582. s.GroupName = &v
  76583. return s
  76584. }
  76585. // SetPartitionCount sets the PartitionCount field's value.
  76586. func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
  76587. s.PartitionCount = &v
  76588. return s
  76589. }
  76590. // SetState sets the State field's value.
  76591. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  76592. s.State = &v
  76593. return s
  76594. }
  76595. // SetStrategy sets the Strategy field's value.
  76596. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  76597. s.Strategy = &v
  76598. return s
  76599. }
  76600. // SetTags sets the Tags field's value.
  76601. func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
  76602. s.Tags = v
  76603. return s
  76604. }
  76605. // Describes the placement group support of the instance type.
  76606. type PlacementGroupInfo struct {
  76607. _ struct{} `type:"structure"`
  76608. // A list of supported placement groups types.
  76609. SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
  76610. }
  76611. // String returns the string representation
  76612. func (s PlacementGroupInfo) String() string {
  76613. return awsutil.Prettify(s)
  76614. }
  76615. // GoString returns the string representation
  76616. func (s PlacementGroupInfo) GoString() string {
  76617. return s.String()
  76618. }
  76619. // SetSupportedStrategies sets the SupportedStrategies field's value.
  76620. func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo {
  76621. s.SupportedStrategies = v
  76622. return s
  76623. }
  76624. // Describes the placement of an instance.
  76625. type PlacementResponse struct {
  76626. _ struct{} `type:"structure"`
  76627. // The name of the placement group that the instance is in.
  76628. GroupName *string `locationName:"groupName" type:"string"`
  76629. }
  76630. // String returns the string representation
  76631. func (s PlacementResponse) String() string {
  76632. return awsutil.Prettify(s)
  76633. }
  76634. // GoString returns the string representation
  76635. func (s PlacementResponse) GoString() string {
  76636. return s.String()
  76637. }
  76638. // SetGroupName sets the GroupName field's value.
  76639. func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
  76640. s.GroupName = &v
  76641. return s
  76642. }
  76643. // Describes a range of ports.
  76644. type PortRange struct {
  76645. _ struct{} `type:"structure"`
  76646. // The first port in the range.
  76647. From *int64 `locationName:"from" type:"integer"`
  76648. // The last port in the range.
  76649. To *int64 `locationName:"to" type:"integer"`
  76650. }
  76651. // String returns the string representation
  76652. func (s PortRange) String() string {
  76653. return awsutil.Prettify(s)
  76654. }
  76655. // GoString returns the string representation
  76656. func (s PortRange) GoString() string {
  76657. return s.String()
  76658. }
  76659. // SetFrom sets the From field's value.
  76660. func (s *PortRange) SetFrom(v int64) *PortRange {
  76661. s.From = &v
  76662. return s
  76663. }
  76664. // SetTo sets the To field's value.
  76665. func (s *PortRange) SetTo(v int64) *PortRange {
  76666. s.To = &v
  76667. return s
  76668. }
  76669. // Describes prefixes for AWS services.
  76670. type PrefixList struct {
  76671. _ struct{} `type:"structure"`
  76672. // The IP address range of the AWS service.
  76673. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  76674. // The ID of the prefix.
  76675. PrefixListId *string `locationName:"prefixListId" type:"string"`
  76676. // The name of the prefix.
  76677. PrefixListName *string `locationName:"prefixListName" type:"string"`
  76678. }
  76679. // String returns the string representation
  76680. func (s PrefixList) String() string {
  76681. return awsutil.Prettify(s)
  76682. }
  76683. // GoString returns the string representation
  76684. func (s PrefixList) GoString() string {
  76685. return s.String()
  76686. }
  76687. // SetCidrs sets the Cidrs field's value.
  76688. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  76689. s.Cidrs = v
  76690. return s
  76691. }
  76692. // SetPrefixListId sets the PrefixListId field's value.
  76693. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  76694. s.PrefixListId = &v
  76695. return s
  76696. }
  76697. // SetPrefixListName sets the PrefixListName field's value.
  76698. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  76699. s.PrefixListName = &v
  76700. return s
  76701. }
  76702. // Describes a prefix list ID.
  76703. type PrefixListId struct {
  76704. _ struct{} `type:"structure"`
  76705. // A description for the security group rule that references this prefix list
  76706. // ID.
  76707. //
  76708. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  76709. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  76710. Description *string `locationName:"description" type:"string"`
  76711. // The ID of the prefix.
  76712. PrefixListId *string `locationName:"prefixListId" type:"string"`
  76713. }
  76714. // String returns the string representation
  76715. func (s PrefixListId) String() string {
  76716. return awsutil.Prettify(s)
  76717. }
  76718. // GoString returns the string representation
  76719. func (s PrefixListId) GoString() string {
  76720. return s.String()
  76721. }
  76722. // SetDescription sets the Description field's value.
  76723. func (s *PrefixListId) SetDescription(v string) *PrefixListId {
  76724. s.Description = &v
  76725. return s
  76726. }
  76727. // SetPrefixListId sets the PrefixListId field's value.
  76728. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  76729. s.PrefixListId = &v
  76730. return s
  76731. }
  76732. // Describes the price for a Reserved Instance.
  76733. type PriceSchedule struct {
  76734. _ struct{} `type:"structure"`
  76735. // The current price schedule, as determined by the term remaining for the Reserved
  76736. // Instance in the listing.
  76737. //
  76738. // A specific price schedule is always in effect, but only one price schedule
  76739. // can be active at any time. Take, for example, a Reserved Instance listing
  76740. // that has five months remaining in its term. When you specify price schedules
  76741. // for five months and two months, this means that schedule 1, covering the
  76742. // first three months of the remaining term, will be active during months 5,
  76743. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  76744. // be active for months 2 and 1.
  76745. Active *bool `locationName:"active" type:"boolean"`
  76746. // The currency for transacting the Reserved Instance resale. At this time,
  76747. // the only supported currency is USD.
  76748. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  76749. // The fixed price for the term.
  76750. Price *float64 `locationName:"price" type:"double"`
  76751. // The number of months remaining in the reservation. For example, 2 is the
  76752. // second to the last month before the capacity reservation expires.
  76753. Term *int64 `locationName:"term" type:"long"`
  76754. }
  76755. // String returns the string representation
  76756. func (s PriceSchedule) String() string {
  76757. return awsutil.Prettify(s)
  76758. }
  76759. // GoString returns the string representation
  76760. func (s PriceSchedule) GoString() string {
  76761. return s.String()
  76762. }
  76763. // SetActive sets the Active field's value.
  76764. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  76765. s.Active = &v
  76766. return s
  76767. }
  76768. // SetCurrencyCode sets the CurrencyCode field's value.
  76769. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  76770. s.CurrencyCode = &v
  76771. return s
  76772. }
  76773. // SetPrice sets the Price field's value.
  76774. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  76775. s.Price = &v
  76776. return s
  76777. }
  76778. // SetTerm sets the Term field's value.
  76779. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  76780. s.Term = &v
  76781. return s
  76782. }
  76783. // Describes the price for a Reserved Instance.
  76784. type PriceScheduleSpecification struct {
  76785. _ struct{} `type:"structure"`
  76786. // The currency for transacting the Reserved Instance resale. At this time,
  76787. // the only supported currency is USD.
  76788. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  76789. // The fixed price for the term.
  76790. Price *float64 `locationName:"price" type:"double"`
  76791. // The number of months remaining in the reservation. For example, 2 is the
  76792. // second to the last month before the capacity reservation expires.
  76793. Term *int64 `locationName:"term" type:"long"`
  76794. }
  76795. // String returns the string representation
  76796. func (s PriceScheduleSpecification) String() string {
  76797. return awsutil.Prettify(s)
  76798. }
  76799. // GoString returns the string representation
  76800. func (s PriceScheduleSpecification) GoString() string {
  76801. return s.String()
  76802. }
  76803. // SetCurrencyCode sets the CurrencyCode field's value.
  76804. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  76805. s.CurrencyCode = &v
  76806. return s
  76807. }
  76808. // SetPrice sets the Price field's value.
  76809. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  76810. s.Price = &v
  76811. return s
  76812. }
  76813. // SetTerm sets the Term field's value.
  76814. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  76815. s.Term = &v
  76816. return s
  76817. }
  76818. // Describes a Reserved Instance offering.
  76819. type PricingDetail struct {
  76820. _ struct{} `type:"structure"`
  76821. // The number of reservations available for the price.
  76822. Count *int64 `locationName:"count" type:"integer"`
  76823. // The price per instance.
  76824. Price *float64 `locationName:"price" type:"double"`
  76825. }
  76826. // String returns the string representation
  76827. func (s PricingDetail) String() string {
  76828. return awsutil.Prettify(s)
  76829. }
  76830. // GoString returns the string representation
  76831. func (s PricingDetail) GoString() string {
  76832. return s.String()
  76833. }
  76834. // SetCount sets the Count field's value.
  76835. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  76836. s.Count = &v
  76837. return s
  76838. }
  76839. // SetPrice sets the Price field's value.
  76840. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  76841. s.Price = &v
  76842. return s
  76843. }
  76844. // PrincipalIdFormat description
  76845. type PrincipalIdFormat struct {
  76846. _ struct{} `type:"structure"`
  76847. // PrincipalIdFormatARN description
  76848. Arn *string `locationName:"arn" type:"string"`
  76849. // PrincipalIdFormatStatuses description
  76850. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  76851. }
  76852. // String returns the string representation
  76853. func (s PrincipalIdFormat) String() string {
  76854. return awsutil.Prettify(s)
  76855. }
  76856. // GoString returns the string representation
  76857. func (s PrincipalIdFormat) GoString() string {
  76858. return s.String()
  76859. }
  76860. // SetArn sets the Arn field's value.
  76861. func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
  76862. s.Arn = &v
  76863. return s
  76864. }
  76865. // SetStatuses sets the Statuses field's value.
  76866. func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
  76867. s.Statuses = v
  76868. return s
  76869. }
  76870. // Information about the private DNS name for the service endpoint. For more
  76871. // information about these parameters, see VPC Endpoint Service Private DNS
  76872. // Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html)
  76873. // in the Amazon Virtual Private Cloud User Guide.
  76874. type PrivateDnsNameConfiguration struct {
  76875. _ struct{} `type:"structure"`
  76876. // The name of the record subdomain the service provider needs to create. The
  76877. // service provider adds the value text to the name.
  76878. Name *string `locationName:"name" type:"string"`
  76879. // The verification state of the VPC endpoint service.
  76880. //
  76881. // >Consumers of the endpoint service can use the private name only when the
  76882. // state is verified.
  76883. State *string `locationName:"state" type:"string" enum:"DnsNameState"`
  76884. // The endpoint service verification type, for example TXT.
  76885. Type *string `locationName:"type" type:"string"`
  76886. // The value the service provider adds to the private DNS name domain record
  76887. // before verification.
  76888. Value *string `locationName:"value" type:"string"`
  76889. }
  76890. // String returns the string representation
  76891. func (s PrivateDnsNameConfiguration) String() string {
  76892. return awsutil.Prettify(s)
  76893. }
  76894. // GoString returns the string representation
  76895. func (s PrivateDnsNameConfiguration) GoString() string {
  76896. return s.String()
  76897. }
  76898. // SetName sets the Name field's value.
  76899. func (s *PrivateDnsNameConfiguration) SetName(v string) *PrivateDnsNameConfiguration {
  76900. s.Name = &v
  76901. return s
  76902. }
  76903. // SetState sets the State field's value.
  76904. func (s *PrivateDnsNameConfiguration) SetState(v string) *PrivateDnsNameConfiguration {
  76905. s.State = &v
  76906. return s
  76907. }
  76908. // SetType sets the Type field's value.
  76909. func (s *PrivateDnsNameConfiguration) SetType(v string) *PrivateDnsNameConfiguration {
  76910. s.Type = &v
  76911. return s
  76912. }
  76913. // SetValue sets the Value field's value.
  76914. func (s *PrivateDnsNameConfiguration) SetValue(v string) *PrivateDnsNameConfiguration {
  76915. s.Value = &v
  76916. return s
  76917. }
  76918. // Describes a secondary private IPv4 address for a network interface.
  76919. type PrivateIpAddressSpecification struct {
  76920. _ struct{} `type:"structure"`
  76921. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  76922. // Only one IPv4 address can be designated as primary.
  76923. Primary *bool `locationName:"primary" type:"boolean"`
  76924. // The private IPv4 addresses.
  76925. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  76926. }
  76927. // String returns the string representation
  76928. func (s PrivateIpAddressSpecification) String() string {
  76929. return awsutil.Prettify(s)
  76930. }
  76931. // GoString returns the string representation
  76932. func (s PrivateIpAddressSpecification) GoString() string {
  76933. return s.String()
  76934. }
  76935. // SetPrimary sets the Primary field's value.
  76936. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  76937. s.Primary = &v
  76938. return s
  76939. }
  76940. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  76941. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  76942. s.PrivateIpAddress = &v
  76943. return s
  76944. }
  76945. // Describes the processor used by the instance type.
  76946. type ProcessorInfo struct {
  76947. _ struct{} `type:"structure"`
  76948. // A list of architectures supported by the instance type.
  76949. SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
  76950. // The speed of the processor, in GHz.
  76951. SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"`
  76952. }
  76953. // String returns the string representation
  76954. func (s ProcessorInfo) String() string {
  76955. return awsutil.Prettify(s)
  76956. }
  76957. // GoString returns the string representation
  76958. func (s ProcessorInfo) GoString() string {
  76959. return s.String()
  76960. }
  76961. // SetSupportedArchitectures sets the SupportedArchitectures field's value.
  76962. func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo {
  76963. s.SupportedArchitectures = v
  76964. return s
  76965. }
  76966. // SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value.
  76967. func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo {
  76968. s.SustainedClockSpeedInGhz = &v
  76969. return s
  76970. }
  76971. // Describes a product code.
  76972. type ProductCode struct {
  76973. _ struct{} `type:"structure"`
  76974. // The product code.
  76975. ProductCodeId *string `locationName:"productCode" type:"string"`
  76976. // The type of product code.
  76977. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  76978. }
  76979. // String returns the string representation
  76980. func (s ProductCode) String() string {
  76981. return awsutil.Prettify(s)
  76982. }
  76983. // GoString returns the string representation
  76984. func (s ProductCode) GoString() string {
  76985. return s.String()
  76986. }
  76987. // SetProductCodeId sets the ProductCodeId field's value.
  76988. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  76989. s.ProductCodeId = &v
  76990. return s
  76991. }
  76992. // SetProductCodeType sets the ProductCodeType field's value.
  76993. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  76994. s.ProductCodeType = &v
  76995. return s
  76996. }
  76997. // Describes a virtual private gateway propagating route.
  76998. type PropagatingVgw struct {
  76999. _ struct{} `type:"structure"`
  77000. // The ID of the virtual private gateway.
  77001. GatewayId *string `locationName:"gatewayId" type:"string"`
  77002. }
  77003. // String returns the string representation
  77004. func (s PropagatingVgw) String() string {
  77005. return awsutil.Prettify(s)
  77006. }
  77007. // GoString returns the string representation
  77008. func (s PropagatingVgw) GoString() string {
  77009. return s.String()
  77010. }
  77011. // SetGatewayId sets the GatewayId field's value.
  77012. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  77013. s.GatewayId = &v
  77014. return s
  77015. }
  77016. type ProvisionByoipCidrInput struct {
  77017. _ struct{} `type:"structure"`
  77018. // The public IPv4 address range, in CIDR notation. The most specific prefix
  77019. // that you can specify is /24. The address range cannot overlap with another
  77020. // address range that you've brought to this or another Region.
  77021. //
  77022. // Cidr is a required field
  77023. Cidr *string `type:"string" required:"true"`
  77024. // A signed document that proves that you are authorized to bring the specified
  77025. // IP address range to Amazon using BYOIP.
  77026. CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
  77027. // A description for the address range and the address pool.
  77028. Description *string `type:"string"`
  77029. // Checks whether you have the required permissions for the action, without
  77030. // actually making the request, and provides an error response. If you have
  77031. // the required permissions, the error response is DryRunOperation. Otherwise,
  77032. // it is UnauthorizedOperation.
  77033. DryRun *bool `type:"boolean"`
  77034. }
  77035. // String returns the string representation
  77036. func (s ProvisionByoipCidrInput) String() string {
  77037. return awsutil.Prettify(s)
  77038. }
  77039. // GoString returns the string representation
  77040. func (s ProvisionByoipCidrInput) GoString() string {
  77041. return s.String()
  77042. }
  77043. // Validate inspects the fields of the type to determine if they are valid.
  77044. func (s *ProvisionByoipCidrInput) Validate() error {
  77045. invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
  77046. if s.Cidr == nil {
  77047. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  77048. }
  77049. if s.CidrAuthorizationContext != nil {
  77050. if err := s.CidrAuthorizationContext.Validate(); err != nil {
  77051. invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
  77052. }
  77053. }
  77054. if invalidParams.Len() > 0 {
  77055. return invalidParams
  77056. }
  77057. return nil
  77058. }
  77059. // SetCidr sets the Cidr field's value.
  77060. func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
  77061. s.Cidr = &v
  77062. return s
  77063. }
  77064. // SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
  77065. func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
  77066. s.CidrAuthorizationContext = v
  77067. return s
  77068. }
  77069. // SetDescription sets the Description field's value.
  77070. func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
  77071. s.Description = &v
  77072. return s
  77073. }
  77074. // SetDryRun sets the DryRun field's value.
  77075. func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
  77076. s.DryRun = &v
  77077. return s
  77078. }
  77079. type ProvisionByoipCidrOutput struct {
  77080. _ struct{} `type:"structure"`
  77081. // Information about the address pool.
  77082. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  77083. }
  77084. // String returns the string representation
  77085. func (s ProvisionByoipCidrOutput) String() string {
  77086. return awsutil.Prettify(s)
  77087. }
  77088. // GoString returns the string representation
  77089. func (s ProvisionByoipCidrOutput) GoString() string {
  77090. return s.String()
  77091. }
  77092. // SetByoipCidr sets the ByoipCidr field's value.
  77093. func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
  77094. s.ByoipCidr = v
  77095. return s
  77096. }
  77097. // Reserved. If you need to sustain traffic greater than the documented limits
  77098. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77099. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77100. type ProvisionedBandwidth struct {
  77101. _ struct{} `type:"structure"`
  77102. // Reserved. If you need to sustain traffic greater than the documented limits
  77103. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77104. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77105. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
  77106. // Reserved. If you need to sustain traffic greater than the documented limits
  77107. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77108. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77109. Provisioned *string `locationName:"provisioned" type:"string"`
  77110. // Reserved. If you need to sustain traffic greater than the documented limits
  77111. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77112. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77113. RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
  77114. // Reserved. If you need to sustain traffic greater than the documented limits
  77115. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77116. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77117. Requested *string `locationName:"requested" type:"string"`
  77118. // Reserved. If you need to sustain traffic greater than the documented limits
  77119. // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
  77120. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  77121. Status *string `locationName:"status" type:"string"`
  77122. }
  77123. // String returns the string representation
  77124. func (s ProvisionedBandwidth) String() string {
  77125. return awsutil.Prettify(s)
  77126. }
  77127. // GoString returns the string representation
  77128. func (s ProvisionedBandwidth) GoString() string {
  77129. return s.String()
  77130. }
  77131. // SetProvisionTime sets the ProvisionTime field's value.
  77132. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  77133. s.ProvisionTime = &v
  77134. return s
  77135. }
  77136. // SetProvisioned sets the Provisioned field's value.
  77137. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  77138. s.Provisioned = &v
  77139. return s
  77140. }
  77141. // SetRequestTime sets the RequestTime field's value.
  77142. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  77143. s.RequestTime = &v
  77144. return s
  77145. }
  77146. // SetRequested sets the Requested field's value.
  77147. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  77148. s.Requested = &v
  77149. return s
  77150. }
  77151. // SetStatus sets the Status field's value.
  77152. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  77153. s.Status = &v
  77154. return s
  77155. }
  77156. // Describes an address pool.
  77157. type PublicIpv4Pool struct {
  77158. _ struct{} `type:"structure"`
  77159. // A description of the address pool.
  77160. Description *string `locationName:"description" type:"string"`
  77161. // The address ranges.
  77162. PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
  77163. // The ID of the IPv4 address pool.
  77164. PoolId *string `locationName:"poolId" type:"string"`
  77165. // The total number of addresses.
  77166. TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
  77167. // The total number of available addresses.
  77168. TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
  77169. }
  77170. // String returns the string representation
  77171. func (s PublicIpv4Pool) String() string {
  77172. return awsutil.Prettify(s)
  77173. }
  77174. // GoString returns the string representation
  77175. func (s PublicIpv4Pool) GoString() string {
  77176. return s.String()
  77177. }
  77178. // SetDescription sets the Description field's value.
  77179. func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
  77180. s.Description = &v
  77181. return s
  77182. }
  77183. // SetPoolAddressRanges sets the PoolAddressRanges field's value.
  77184. func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
  77185. s.PoolAddressRanges = v
  77186. return s
  77187. }
  77188. // SetPoolId sets the PoolId field's value.
  77189. func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
  77190. s.PoolId = &v
  77191. return s
  77192. }
  77193. // SetTotalAddressCount sets the TotalAddressCount field's value.
  77194. func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
  77195. s.TotalAddressCount = &v
  77196. return s
  77197. }
  77198. // SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
  77199. func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
  77200. s.TotalAvailableAddressCount = &v
  77201. return s
  77202. }
  77203. // Describes an address range of an IPv4 address pool.
  77204. type PublicIpv4PoolRange struct {
  77205. _ struct{} `type:"structure"`
  77206. // The number of addresses in the range.
  77207. AddressCount *int64 `locationName:"addressCount" type:"integer"`
  77208. // The number of available addresses in the range.
  77209. AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
  77210. // The first IP address in the range.
  77211. FirstAddress *string `locationName:"firstAddress" type:"string"`
  77212. // The last IP address in the range.
  77213. LastAddress *string `locationName:"lastAddress" type:"string"`
  77214. }
  77215. // String returns the string representation
  77216. func (s PublicIpv4PoolRange) String() string {
  77217. return awsutil.Prettify(s)
  77218. }
  77219. // GoString returns the string representation
  77220. func (s PublicIpv4PoolRange) GoString() string {
  77221. return s.String()
  77222. }
  77223. // SetAddressCount sets the AddressCount field's value.
  77224. func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
  77225. s.AddressCount = &v
  77226. return s
  77227. }
  77228. // SetAvailableAddressCount sets the AvailableAddressCount field's value.
  77229. func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
  77230. s.AvailableAddressCount = &v
  77231. return s
  77232. }
  77233. // SetFirstAddress sets the FirstAddress field's value.
  77234. func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
  77235. s.FirstAddress = &v
  77236. return s
  77237. }
  77238. // SetLastAddress sets the LastAddress field's value.
  77239. func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
  77240. s.LastAddress = &v
  77241. return s
  77242. }
  77243. // Describes the result of the purchase.
  77244. type Purchase struct {
  77245. _ struct{} `type:"structure"`
  77246. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  77247. // At this time, the only supported currency is USD.
  77248. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  77249. // The duration of the reservation's term in seconds.
  77250. Duration *int64 `locationName:"duration" type:"integer"`
  77251. // The IDs of the Dedicated Hosts associated with the reservation.
  77252. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  77253. // The ID of the reservation.
  77254. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  77255. // The hourly price of the reservation per hour.
  77256. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  77257. // The instance family on the Dedicated Host that the reservation can be associated
  77258. // with.
  77259. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  77260. // The payment option for the reservation.
  77261. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  77262. // The upfront price of the reservation.
  77263. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  77264. }
  77265. // String returns the string representation
  77266. func (s Purchase) String() string {
  77267. return awsutil.Prettify(s)
  77268. }
  77269. // GoString returns the string representation
  77270. func (s Purchase) GoString() string {
  77271. return s.String()
  77272. }
  77273. // SetCurrencyCode sets the CurrencyCode field's value.
  77274. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  77275. s.CurrencyCode = &v
  77276. return s
  77277. }
  77278. // SetDuration sets the Duration field's value.
  77279. func (s *Purchase) SetDuration(v int64) *Purchase {
  77280. s.Duration = &v
  77281. return s
  77282. }
  77283. // SetHostIdSet sets the HostIdSet field's value.
  77284. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  77285. s.HostIdSet = v
  77286. return s
  77287. }
  77288. // SetHostReservationId sets the HostReservationId field's value.
  77289. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  77290. s.HostReservationId = &v
  77291. return s
  77292. }
  77293. // SetHourlyPrice sets the HourlyPrice field's value.
  77294. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  77295. s.HourlyPrice = &v
  77296. return s
  77297. }
  77298. // SetInstanceFamily sets the InstanceFamily field's value.
  77299. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  77300. s.InstanceFamily = &v
  77301. return s
  77302. }
  77303. // SetPaymentOption sets the PaymentOption field's value.
  77304. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  77305. s.PaymentOption = &v
  77306. return s
  77307. }
  77308. // SetUpfrontPrice sets the UpfrontPrice field's value.
  77309. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  77310. s.UpfrontPrice = &v
  77311. return s
  77312. }
  77313. type PurchaseHostReservationInput struct {
  77314. _ struct{} `type:"structure"`
  77315. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  77316. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  77317. ClientToken *string `type:"string"`
  77318. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  77319. // amounts are specified. At this time, the only supported currency is USD.
  77320. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  77321. // The IDs of the Dedicated Hosts with which the reservation will be associated.
  77322. //
  77323. // HostIdSet is a required field
  77324. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  77325. // The specified limit is checked against the total upfront cost of the reservation
  77326. // (calculated as the offering's upfront cost multiplied by the host count).
  77327. // If the total upfront cost is greater than the specified price limit, the
  77328. // request fails. This is used to ensure that the purchase does not exceed the
  77329. // expected upfront cost of the purchase. At this time, the only supported currency
  77330. // is USD. For example, to indicate a limit price of USD 100, specify 100.00.
  77331. LimitPrice *string `type:"string"`
  77332. // The ID of the offering.
  77333. //
  77334. // OfferingId is a required field
  77335. OfferingId *string `type:"string" required:"true"`
  77336. }
  77337. // String returns the string representation
  77338. func (s PurchaseHostReservationInput) String() string {
  77339. return awsutil.Prettify(s)
  77340. }
  77341. // GoString returns the string representation
  77342. func (s PurchaseHostReservationInput) GoString() string {
  77343. return s.String()
  77344. }
  77345. // Validate inspects the fields of the type to determine if they are valid.
  77346. func (s *PurchaseHostReservationInput) Validate() error {
  77347. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  77348. if s.HostIdSet == nil {
  77349. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  77350. }
  77351. if s.OfferingId == nil {
  77352. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  77353. }
  77354. if invalidParams.Len() > 0 {
  77355. return invalidParams
  77356. }
  77357. return nil
  77358. }
  77359. // SetClientToken sets the ClientToken field's value.
  77360. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  77361. s.ClientToken = &v
  77362. return s
  77363. }
  77364. // SetCurrencyCode sets the CurrencyCode field's value.
  77365. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  77366. s.CurrencyCode = &v
  77367. return s
  77368. }
  77369. // SetHostIdSet sets the HostIdSet field's value.
  77370. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  77371. s.HostIdSet = v
  77372. return s
  77373. }
  77374. // SetLimitPrice sets the LimitPrice field's value.
  77375. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  77376. s.LimitPrice = &v
  77377. return s
  77378. }
  77379. // SetOfferingId sets the OfferingId field's value.
  77380. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  77381. s.OfferingId = &v
  77382. return s
  77383. }
  77384. type PurchaseHostReservationOutput struct {
  77385. _ struct{} `type:"structure"`
  77386. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  77387. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  77388. ClientToken *string `locationName:"clientToken" type:"string"`
  77389. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  77390. // are specified. At this time, the only supported currency is USD.
  77391. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  77392. // Describes the details of the purchase.
  77393. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  77394. // The total hourly price of the reservation calculated per hour.
  77395. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  77396. // The total amount charged to your account when you purchase the reservation.
  77397. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  77398. }
  77399. // String returns the string representation
  77400. func (s PurchaseHostReservationOutput) String() string {
  77401. return awsutil.Prettify(s)
  77402. }
  77403. // GoString returns the string representation
  77404. func (s PurchaseHostReservationOutput) GoString() string {
  77405. return s.String()
  77406. }
  77407. // SetClientToken sets the ClientToken field's value.
  77408. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  77409. s.ClientToken = &v
  77410. return s
  77411. }
  77412. // SetCurrencyCode sets the CurrencyCode field's value.
  77413. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  77414. s.CurrencyCode = &v
  77415. return s
  77416. }
  77417. // SetPurchase sets the Purchase field's value.
  77418. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  77419. s.Purchase = v
  77420. return s
  77421. }
  77422. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  77423. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  77424. s.TotalHourlyPrice = &v
  77425. return s
  77426. }
  77427. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  77428. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  77429. s.TotalUpfrontPrice = &v
  77430. return s
  77431. }
  77432. // Describes a request to purchase Scheduled Instances.
  77433. type PurchaseRequest struct {
  77434. _ struct{} `type:"structure"`
  77435. // The number of instances.
  77436. //
  77437. // InstanceCount is a required field
  77438. InstanceCount *int64 `type:"integer" required:"true"`
  77439. // The purchase token.
  77440. //
  77441. // PurchaseToken is a required field
  77442. PurchaseToken *string `type:"string" required:"true"`
  77443. }
  77444. // String returns the string representation
  77445. func (s PurchaseRequest) String() string {
  77446. return awsutil.Prettify(s)
  77447. }
  77448. // GoString returns the string representation
  77449. func (s PurchaseRequest) GoString() string {
  77450. return s.String()
  77451. }
  77452. // Validate inspects the fields of the type to determine if they are valid.
  77453. func (s *PurchaseRequest) Validate() error {
  77454. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  77455. if s.InstanceCount == nil {
  77456. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  77457. }
  77458. if s.PurchaseToken == nil {
  77459. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  77460. }
  77461. if invalidParams.Len() > 0 {
  77462. return invalidParams
  77463. }
  77464. return nil
  77465. }
  77466. // SetInstanceCount sets the InstanceCount field's value.
  77467. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  77468. s.InstanceCount = &v
  77469. return s
  77470. }
  77471. // SetPurchaseToken sets the PurchaseToken field's value.
  77472. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  77473. s.PurchaseToken = &v
  77474. return s
  77475. }
  77476. // Contains the parameters for PurchaseReservedInstancesOffering.
  77477. type PurchaseReservedInstancesOfferingInput struct {
  77478. _ struct{} `type:"structure"`
  77479. // Checks whether you have the required permissions for the action, without
  77480. // actually making the request, and provides an error response. If you have
  77481. // the required permissions, the error response is DryRunOperation. Otherwise,
  77482. // it is UnauthorizedOperation.
  77483. DryRun *bool `locationName:"dryRun" type:"boolean"`
  77484. // The number of Reserved Instances to purchase.
  77485. //
  77486. // InstanceCount is a required field
  77487. InstanceCount *int64 `type:"integer" required:"true"`
  77488. // Specified for Reserved Instance Marketplace offerings to limit the total
  77489. // order and ensure that the Reserved Instances are not purchased at unexpected
  77490. // prices.
  77491. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  77492. // The time at which to purchase the Reserved Instance, in UTC format (for example,
  77493. // YYYY-MM-DDTHH:MM:SSZ).
  77494. PurchaseTime *time.Time `type:"timestamp"`
  77495. // The ID of the Reserved Instance offering to purchase.
  77496. //
  77497. // ReservedInstancesOfferingId is a required field
  77498. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  77499. }
  77500. // String returns the string representation
  77501. func (s PurchaseReservedInstancesOfferingInput) String() string {
  77502. return awsutil.Prettify(s)
  77503. }
  77504. // GoString returns the string representation
  77505. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  77506. return s.String()
  77507. }
  77508. // Validate inspects the fields of the type to determine if they are valid.
  77509. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  77510. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  77511. if s.InstanceCount == nil {
  77512. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  77513. }
  77514. if s.ReservedInstancesOfferingId == nil {
  77515. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  77516. }
  77517. if invalidParams.Len() > 0 {
  77518. return invalidParams
  77519. }
  77520. return nil
  77521. }
  77522. // SetDryRun sets the DryRun field's value.
  77523. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  77524. s.DryRun = &v
  77525. return s
  77526. }
  77527. // SetInstanceCount sets the InstanceCount field's value.
  77528. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  77529. s.InstanceCount = &v
  77530. return s
  77531. }
  77532. // SetLimitPrice sets the LimitPrice field's value.
  77533. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  77534. s.LimitPrice = v
  77535. return s
  77536. }
  77537. // SetPurchaseTime sets the PurchaseTime field's value.
  77538. func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput {
  77539. s.PurchaseTime = &v
  77540. return s
  77541. }
  77542. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  77543. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  77544. s.ReservedInstancesOfferingId = &v
  77545. return s
  77546. }
  77547. // Contains the output of PurchaseReservedInstancesOffering.
  77548. type PurchaseReservedInstancesOfferingOutput struct {
  77549. _ struct{} `type:"structure"`
  77550. // The IDs of the purchased Reserved Instances.
  77551. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  77552. }
  77553. // String returns the string representation
  77554. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  77555. return awsutil.Prettify(s)
  77556. }
  77557. // GoString returns the string representation
  77558. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  77559. return s.String()
  77560. }
  77561. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  77562. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  77563. s.ReservedInstancesId = &v
  77564. return s
  77565. }
  77566. // Contains the parameters for PurchaseScheduledInstances.
  77567. type PurchaseScheduledInstancesInput struct {
  77568. _ struct{} `type:"structure"`
  77569. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  77570. // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  77571. ClientToken *string `type:"string" idempotencyToken:"true"`
  77572. // Checks whether you have the required permissions for the action, without
  77573. // actually making the request, and provides an error response. If you have
  77574. // the required permissions, the error response is DryRunOperation. Otherwise,
  77575. // it is UnauthorizedOperation.
  77576. DryRun *bool `type:"boolean"`
  77577. // The purchase requests.
  77578. //
  77579. // PurchaseRequests is a required field
  77580. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  77581. }
  77582. // String returns the string representation
  77583. func (s PurchaseScheduledInstancesInput) String() string {
  77584. return awsutil.Prettify(s)
  77585. }
  77586. // GoString returns the string representation
  77587. func (s PurchaseScheduledInstancesInput) GoString() string {
  77588. return s.String()
  77589. }
  77590. // Validate inspects the fields of the type to determine if they are valid.
  77591. func (s *PurchaseScheduledInstancesInput) Validate() error {
  77592. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  77593. if s.PurchaseRequests == nil {
  77594. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  77595. }
  77596. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  77597. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  77598. }
  77599. if s.PurchaseRequests != nil {
  77600. for i, v := range s.PurchaseRequests {
  77601. if v == nil {
  77602. continue
  77603. }
  77604. if err := v.Validate(); err != nil {
  77605. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  77606. }
  77607. }
  77608. }
  77609. if invalidParams.Len() > 0 {
  77610. return invalidParams
  77611. }
  77612. return nil
  77613. }
  77614. // SetClientToken sets the ClientToken field's value.
  77615. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  77616. s.ClientToken = &v
  77617. return s
  77618. }
  77619. // SetDryRun sets the DryRun field's value.
  77620. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  77621. s.DryRun = &v
  77622. return s
  77623. }
  77624. // SetPurchaseRequests sets the PurchaseRequests field's value.
  77625. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  77626. s.PurchaseRequests = v
  77627. return s
  77628. }
  77629. // Contains the output of PurchaseScheduledInstances.
  77630. type PurchaseScheduledInstancesOutput struct {
  77631. _ struct{} `type:"structure"`
  77632. // Information about the Scheduled Instances.
  77633. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  77634. }
  77635. // String returns the string representation
  77636. func (s PurchaseScheduledInstancesOutput) String() string {
  77637. return awsutil.Prettify(s)
  77638. }
  77639. // GoString returns the string representation
  77640. func (s PurchaseScheduledInstancesOutput) GoString() string {
  77641. return s.String()
  77642. }
  77643. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  77644. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  77645. s.ScheduledInstanceSet = v
  77646. return s
  77647. }
  77648. type RebootInstancesInput struct {
  77649. _ struct{} `type:"structure"`
  77650. // Checks whether you have the required permissions for the action, without
  77651. // actually making the request, and provides an error response. If you have
  77652. // the required permissions, the error response is DryRunOperation. Otherwise,
  77653. // it is UnauthorizedOperation.
  77654. DryRun *bool `locationName:"dryRun" type:"boolean"`
  77655. // The instance IDs.
  77656. //
  77657. // InstanceIds is a required field
  77658. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  77659. }
  77660. // String returns the string representation
  77661. func (s RebootInstancesInput) String() string {
  77662. return awsutil.Prettify(s)
  77663. }
  77664. // GoString returns the string representation
  77665. func (s RebootInstancesInput) GoString() string {
  77666. return s.String()
  77667. }
  77668. // Validate inspects the fields of the type to determine if they are valid.
  77669. func (s *RebootInstancesInput) Validate() error {
  77670. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  77671. if s.InstanceIds == nil {
  77672. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  77673. }
  77674. if invalidParams.Len() > 0 {
  77675. return invalidParams
  77676. }
  77677. return nil
  77678. }
  77679. // SetDryRun sets the DryRun field's value.
  77680. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  77681. s.DryRun = &v
  77682. return s
  77683. }
  77684. // SetInstanceIds sets the InstanceIds field's value.
  77685. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  77686. s.InstanceIds = v
  77687. return s
  77688. }
  77689. type RebootInstancesOutput struct {
  77690. _ struct{} `type:"structure"`
  77691. }
  77692. // String returns the string representation
  77693. func (s RebootInstancesOutput) String() string {
  77694. return awsutil.Prettify(s)
  77695. }
  77696. // GoString returns the string representation
  77697. func (s RebootInstancesOutput) GoString() string {
  77698. return s.String()
  77699. }
  77700. // Describes a recurring charge.
  77701. type RecurringCharge struct {
  77702. _ struct{} `type:"structure"`
  77703. // The amount of the recurring charge.
  77704. Amount *float64 `locationName:"amount" type:"double"`
  77705. // The frequency of the recurring charge.
  77706. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  77707. }
  77708. // String returns the string representation
  77709. func (s RecurringCharge) String() string {
  77710. return awsutil.Prettify(s)
  77711. }
  77712. // GoString returns the string representation
  77713. func (s RecurringCharge) GoString() string {
  77714. return s.String()
  77715. }
  77716. // SetAmount sets the Amount field's value.
  77717. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  77718. s.Amount = &v
  77719. return s
  77720. }
  77721. // SetFrequency sets the Frequency field's value.
  77722. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  77723. s.Frequency = &v
  77724. return s
  77725. }
  77726. // Describes a Region.
  77727. type Region struct {
  77728. _ struct{} `type:"structure"`
  77729. // The Region service endpoint.
  77730. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  77731. // The Region opt-in status. The possible values are opt-in-not-required, opted-in,
  77732. // and not-opted-in.
  77733. OptInStatus *string `locationName:"optInStatus" type:"string"`
  77734. // The name of the Region.
  77735. RegionName *string `locationName:"regionName" type:"string"`
  77736. }
  77737. // String returns the string representation
  77738. func (s Region) String() string {
  77739. return awsutil.Prettify(s)
  77740. }
  77741. // GoString returns the string representation
  77742. func (s Region) GoString() string {
  77743. return s.String()
  77744. }
  77745. // SetEndpoint sets the Endpoint field's value.
  77746. func (s *Region) SetEndpoint(v string) *Region {
  77747. s.Endpoint = &v
  77748. return s
  77749. }
  77750. // SetOptInStatus sets the OptInStatus field's value.
  77751. func (s *Region) SetOptInStatus(v string) *Region {
  77752. s.OptInStatus = &v
  77753. return s
  77754. }
  77755. // SetRegionName sets the RegionName field's value.
  77756. func (s *Region) SetRegionName(v string) *Region {
  77757. s.RegionName = &v
  77758. return s
  77759. }
  77760. // Contains the parameters for RegisterImage.
  77761. type RegisterImageInput struct {
  77762. _ struct{} `type:"structure"`
  77763. // The architecture of the AMI.
  77764. //
  77765. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  77766. // the architecture specified in the manifest file.
  77767. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  77768. // The billing product codes. Your account must be authorized to specify billing
  77769. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  77770. // use of an AMI.
  77771. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  77772. // The block device mapping entries.
  77773. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  77774. // A description for your AMI.
  77775. Description *string `locationName:"description" type:"string"`
  77776. // Checks whether you have the required permissions for the action, without
  77777. // actually making the request, and provides an error response. If you have
  77778. // the required permissions, the error response is DryRunOperation. Otherwise,
  77779. // it is UnauthorizedOperation.
  77780. DryRun *bool `locationName:"dryRun" type:"boolean"`
  77781. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  77782. // that you launch from the AMI.
  77783. //
  77784. // This option is supported only for HVM AMIs. Specifying this option with a
  77785. // PV AMI can make instances launched from the AMI unreachable.
  77786. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  77787. // The full path to your AMI manifest in Amazon S3 storage. The specified bucket
  77788. // must have the aws-exec-read canned access control list (ACL) to ensure that
  77789. // it can be accessed by Amazon EC2. For more information, see Canned ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)
  77790. // in the Amazon S3 Service Developer Guide.
  77791. ImageLocation *string `type:"string"`
  77792. // The ID of the kernel.
  77793. KernelId *string `locationName:"kernelId" type:"string"`
  77794. // A name for your AMI.
  77795. //
  77796. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  77797. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  77798. // at-signs (@), or underscores(_)
  77799. //
  77800. // Name is a required field
  77801. Name *string `locationName:"name" type:"string" required:"true"`
  77802. // The ID of the RAM disk.
  77803. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  77804. // The device name of the root device volume (for example, /dev/sda1).
  77805. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  77806. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  77807. // Function interface for the AMI and any instances that you launch from the
  77808. // AMI.
  77809. //
  77810. // There is no way to disable sriovNetSupport at this time.
  77811. //
  77812. // This option is supported only for HVM AMIs. Specifying this option with a
  77813. // PV AMI can make instances launched from the AMI unreachable.
  77814. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  77815. // The type of virtualization (hvm | paravirtual).
  77816. //
  77817. // Default: paravirtual
  77818. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  77819. }
  77820. // String returns the string representation
  77821. func (s RegisterImageInput) String() string {
  77822. return awsutil.Prettify(s)
  77823. }
  77824. // GoString returns the string representation
  77825. func (s RegisterImageInput) GoString() string {
  77826. return s.String()
  77827. }
  77828. // Validate inspects the fields of the type to determine if they are valid.
  77829. func (s *RegisterImageInput) Validate() error {
  77830. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  77831. if s.Name == nil {
  77832. invalidParams.Add(request.NewErrParamRequired("Name"))
  77833. }
  77834. if invalidParams.Len() > 0 {
  77835. return invalidParams
  77836. }
  77837. return nil
  77838. }
  77839. // SetArchitecture sets the Architecture field's value.
  77840. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  77841. s.Architecture = &v
  77842. return s
  77843. }
  77844. // SetBillingProducts sets the BillingProducts field's value.
  77845. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  77846. s.BillingProducts = v
  77847. return s
  77848. }
  77849. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  77850. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  77851. s.BlockDeviceMappings = v
  77852. return s
  77853. }
  77854. // SetDescription sets the Description field's value.
  77855. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  77856. s.Description = &v
  77857. return s
  77858. }
  77859. // SetDryRun sets the DryRun field's value.
  77860. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  77861. s.DryRun = &v
  77862. return s
  77863. }
  77864. // SetEnaSupport sets the EnaSupport field's value.
  77865. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  77866. s.EnaSupport = &v
  77867. return s
  77868. }
  77869. // SetImageLocation sets the ImageLocation field's value.
  77870. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  77871. s.ImageLocation = &v
  77872. return s
  77873. }
  77874. // SetKernelId sets the KernelId field's value.
  77875. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  77876. s.KernelId = &v
  77877. return s
  77878. }
  77879. // SetName sets the Name field's value.
  77880. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  77881. s.Name = &v
  77882. return s
  77883. }
  77884. // SetRamdiskId sets the RamdiskId field's value.
  77885. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  77886. s.RamdiskId = &v
  77887. return s
  77888. }
  77889. // SetRootDeviceName sets the RootDeviceName field's value.
  77890. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  77891. s.RootDeviceName = &v
  77892. return s
  77893. }
  77894. // SetSriovNetSupport sets the SriovNetSupport field's value.
  77895. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  77896. s.SriovNetSupport = &v
  77897. return s
  77898. }
  77899. // SetVirtualizationType sets the VirtualizationType field's value.
  77900. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  77901. s.VirtualizationType = &v
  77902. return s
  77903. }
  77904. // Contains the output of RegisterImage.
  77905. type RegisterImageOutput struct {
  77906. _ struct{} `type:"structure"`
  77907. // The ID of the newly registered AMI.
  77908. ImageId *string `locationName:"imageId" type:"string"`
  77909. }
  77910. // String returns the string representation
  77911. func (s RegisterImageOutput) String() string {
  77912. return awsutil.Prettify(s)
  77913. }
  77914. // GoString returns the string representation
  77915. func (s RegisterImageOutput) GoString() string {
  77916. return s.String()
  77917. }
  77918. // SetImageId sets the ImageId field's value.
  77919. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  77920. s.ImageId = &v
  77921. return s
  77922. }
  77923. type RegisterTransitGatewayMulticastGroupMembersInput struct {
  77924. _ struct{} `type:"structure"`
  77925. // Checks whether you have the required permissions for the action, without
  77926. // actually making the request, and provides an error response. If you have
  77927. // the required permissions, the error response is DryRunOperation. Otherwise,
  77928. // it is UnauthorizedOperation.
  77929. DryRun *bool `type:"boolean"`
  77930. // The IP address assigned to the transit gateway multicast group.
  77931. GroupIpAddress *string `type:"string"`
  77932. // The group members' network interface IDs to register with the transit gateway
  77933. // multicast group.
  77934. NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
  77935. // The ID of the transit gateway multicast domain.
  77936. TransitGatewayMulticastDomainId *string `type:"string"`
  77937. }
  77938. // String returns the string representation
  77939. func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
  77940. return awsutil.Prettify(s)
  77941. }
  77942. // GoString returns the string representation
  77943. func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
  77944. return s.String()
  77945. }
  77946. // SetDryRun sets the DryRun field's value.
  77947. func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
  77948. s.DryRun = &v
  77949. return s
  77950. }
  77951. // SetGroupIpAddress sets the GroupIpAddress field's value.
  77952. func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
  77953. s.GroupIpAddress = &v
  77954. return s
  77955. }
  77956. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  77957. func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
  77958. s.NetworkInterfaceIds = v
  77959. return s
  77960. }
  77961. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  77962. func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
  77963. s.TransitGatewayMulticastDomainId = &v
  77964. return s
  77965. }
  77966. type RegisterTransitGatewayMulticastGroupMembersOutput struct {
  77967. _ struct{} `type:"structure"`
  77968. // Information about the registered transit gateway multicast group members.
  77969. RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
  77970. }
  77971. // String returns the string representation
  77972. func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
  77973. return awsutil.Prettify(s)
  77974. }
  77975. // GoString returns the string representation
  77976. func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
  77977. return s.String()
  77978. }
  77979. // SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
  77980. func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
  77981. s.RegisteredMulticastGroupMembers = v
  77982. return s
  77983. }
  77984. type RegisterTransitGatewayMulticastGroupSourcesInput struct {
  77985. _ struct{} `type:"structure"`
  77986. // Checks whether you have the required permissions for the action, without
  77987. // actually making the request, and provides an error response. If you have
  77988. // the required permissions, the error response is DryRunOperation. Otherwise,
  77989. // it is UnauthorizedOperation.
  77990. DryRun *bool `type:"boolean"`
  77991. // The IP address assigned to the transit gateway multicast group.
  77992. GroupIpAddress *string `type:"string"`
  77993. // The group sources' network interface IDs to register with the transit gateway
  77994. // multicast group.
  77995. NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
  77996. // The ID of the transit gateway multicast domain.
  77997. TransitGatewayMulticastDomainId *string `type:"string"`
  77998. }
  77999. // String returns the string representation
  78000. func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
  78001. return awsutil.Prettify(s)
  78002. }
  78003. // GoString returns the string representation
  78004. func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
  78005. return s.String()
  78006. }
  78007. // SetDryRun sets the DryRun field's value.
  78008. func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
  78009. s.DryRun = &v
  78010. return s
  78011. }
  78012. // SetGroupIpAddress sets the GroupIpAddress field's value.
  78013. func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
  78014. s.GroupIpAddress = &v
  78015. return s
  78016. }
  78017. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  78018. func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
  78019. s.NetworkInterfaceIds = v
  78020. return s
  78021. }
  78022. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  78023. func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
  78024. s.TransitGatewayMulticastDomainId = &v
  78025. return s
  78026. }
  78027. type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
  78028. _ struct{} `type:"structure"`
  78029. // Information about the transit gateway multicast group sources.
  78030. RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
  78031. }
  78032. // String returns the string representation
  78033. func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
  78034. return awsutil.Prettify(s)
  78035. }
  78036. // GoString returns the string representation
  78037. func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
  78038. return s.String()
  78039. }
  78040. // SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
  78041. func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
  78042. s.RegisteredMulticastGroupSources = v
  78043. return s
  78044. }
  78045. type RejectTransitGatewayPeeringAttachmentInput struct {
  78046. _ struct{} `type:"structure"`
  78047. // Checks whether you have the required permissions for the action, without
  78048. // actually making the request, and provides an error response. If you have
  78049. // the required permissions, the error response is DryRunOperation. Otherwise,
  78050. // it is UnauthorizedOperation.
  78051. DryRun *bool `type:"boolean"`
  78052. // The ID of the transit gateway peering attachment.
  78053. //
  78054. // TransitGatewayAttachmentId is a required field
  78055. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  78056. }
  78057. // String returns the string representation
  78058. func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
  78059. return awsutil.Prettify(s)
  78060. }
  78061. // GoString returns the string representation
  78062. func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
  78063. return s.String()
  78064. }
  78065. // Validate inspects the fields of the type to determine if they are valid.
  78066. func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
  78067. invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
  78068. if s.TransitGatewayAttachmentId == nil {
  78069. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  78070. }
  78071. if invalidParams.Len() > 0 {
  78072. return invalidParams
  78073. }
  78074. return nil
  78075. }
  78076. // SetDryRun sets the DryRun field's value.
  78077. func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
  78078. s.DryRun = &v
  78079. return s
  78080. }
  78081. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  78082. func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
  78083. s.TransitGatewayAttachmentId = &v
  78084. return s
  78085. }
  78086. type RejectTransitGatewayPeeringAttachmentOutput struct {
  78087. _ struct{} `type:"structure"`
  78088. // The transit gateway peering attachment.
  78089. TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
  78090. }
  78091. // String returns the string representation
  78092. func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
  78093. return awsutil.Prettify(s)
  78094. }
  78095. // GoString returns the string representation
  78096. func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
  78097. return s.String()
  78098. }
  78099. // SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
  78100. func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
  78101. s.TransitGatewayPeeringAttachment = v
  78102. return s
  78103. }
  78104. type RejectTransitGatewayVpcAttachmentInput struct {
  78105. _ struct{} `type:"structure"`
  78106. // Checks whether you have the required permissions for the action, without
  78107. // actually making the request, and provides an error response. If you have
  78108. // the required permissions, the error response is DryRunOperation. Otherwise,
  78109. // it is UnauthorizedOperation.
  78110. DryRun *bool `type:"boolean"`
  78111. // The ID of the attachment.
  78112. //
  78113. // TransitGatewayAttachmentId is a required field
  78114. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  78115. }
  78116. // String returns the string representation
  78117. func (s RejectTransitGatewayVpcAttachmentInput) String() string {
  78118. return awsutil.Prettify(s)
  78119. }
  78120. // GoString returns the string representation
  78121. func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
  78122. return s.String()
  78123. }
  78124. // Validate inspects the fields of the type to determine if they are valid.
  78125. func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
  78126. invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
  78127. if s.TransitGatewayAttachmentId == nil {
  78128. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  78129. }
  78130. if invalidParams.Len() > 0 {
  78131. return invalidParams
  78132. }
  78133. return nil
  78134. }
  78135. // SetDryRun sets the DryRun field's value.
  78136. func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
  78137. s.DryRun = &v
  78138. return s
  78139. }
  78140. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  78141. func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
  78142. s.TransitGatewayAttachmentId = &v
  78143. return s
  78144. }
  78145. type RejectTransitGatewayVpcAttachmentOutput struct {
  78146. _ struct{} `type:"structure"`
  78147. // Information about the attachment.
  78148. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  78149. }
  78150. // String returns the string representation
  78151. func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
  78152. return awsutil.Prettify(s)
  78153. }
  78154. // GoString returns the string representation
  78155. func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
  78156. return s.String()
  78157. }
  78158. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  78159. func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
  78160. s.TransitGatewayVpcAttachment = v
  78161. return s
  78162. }
  78163. type RejectVpcEndpointConnectionsInput struct {
  78164. _ struct{} `type:"structure"`
  78165. // Checks whether you have the required permissions for the action, without
  78166. // actually making the request, and provides an error response. If you have
  78167. // the required permissions, the error response is DryRunOperation. Otherwise,
  78168. // it is UnauthorizedOperation.
  78169. DryRun *bool `type:"boolean"`
  78170. // The ID of the service.
  78171. //
  78172. // ServiceId is a required field
  78173. ServiceId *string `type:"string" required:"true"`
  78174. // The IDs of one or more VPC endpoints.
  78175. //
  78176. // VpcEndpointIds is a required field
  78177. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  78178. }
  78179. // String returns the string representation
  78180. func (s RejectVpcEndpointConnectionsInput) String() string {
  78181. return awsutil.Prettify(s)
  78182. }
  78183. // GoString returns the string representation
  78184. func (s RejectVpcEndpointConnectionsInput) GoString() string {
  78185. return s.String()
  78186. }
  78187. // Validate inspects the fields of the type to determine if they are valid.
  78188. func (s *RejectVpcEndpointConnectionsInput) Validate() error {
  78189. invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
  78190. if s.ServiceId == nil {
  78191. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  78192. }
  78193. if s.VpcEndpointIds == nil {
  78194. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  78195. }
  78196. if invalidParams.Len() > 0 {
  78197. return invalidParams
  78198. }
  78199. return nil
  78200. }
  78201. // SetDryRun sets the DryRun field's value.
  78202. func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
  78203. s.DryRun = &v
  78204. return s
  78205. }
  78206. // SetServiceId sets the ServiceId field's value.
  78207. func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
  78208. s.ServiceId = &v
  78209. return s
  78210. }
  78211. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  78212. func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
  78213. s.VpcEndpointIds = v
  78214. return s
  78215. }
  78216. type RejectVpcEndpointConnectionsOutput struct {
  78217. _ struct{} `type:"structure"`
  78218. // Information about the endpoints that were not rejected, if applicable.
  78219. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  78220. }
  78221. // String returns the string representation
  78222. func (s RejectVpcEndpointConnectionsOutput) String() string {
  78223. return awsutil.Prettify(s)
  78224. }
  78225. // GoString returns the string representation
  78226. func (s RejectVpcEndpointConnectionsOutput) GoString() string {
  78227. return s.String()
  78228. }
  78229. // SetUnsuccessful sets the Unsuccessful field's value.
  78230. func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
  78231. s.Unsuccessful = v
  78232. return s
  78233. }
  78234. type RejectVpcPeeringConnectionInput struct {
  78235. _ struct{} `type:"structure"`
  78236. // Checks whether you have the required permissions for the action, without
  78237. // actually making the request, and provides an error response. If you have
  78238. // the required permissions, the error response is DryRunOperation. Otherwise,
  78239. // it is UnauthorizedOperation.
  78240. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78241. // The ID of the VPC peering connection.
  78242. //
  78243. // VpcPeeringConnectionId is a required field
  78244. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  78245. }
  78246. // String returns the string representation
  78247. func (s RejectVpcPeeringConnectionInput) String() string {
  78248. return awsutil.Prettify(s)
  78249. }
  78250. // GoString returns the string representation
  78251. func (s RejectVpcPeeringConnectionInput) GoString() string {
  78252. return s.String()
  78253. }
  78254. // Validate inspects the fields of the type to determine if they are valid.
  78255. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  78256. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  78257. if s.VpcPeeringConnectionId == nil {
  78258. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  78259. }
  78260. if invalidParams.Len() > 0 {
  78261. return invalidParams
  78262. }
  78263. return nil
  78264. }
  78265. // SetDryRun sets the DryRun field's value.
  78266. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  78267. s.DryRun = &v
  78268. return s
  78269. }
  78270. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  78271. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  78272. s.VpcPeeringConnectionId = &v
  78273. return s
  78274. }
  78275. type RejectVpcPeeringConnectionOutput struct {
  78276. _ struct{} `type:"structure"`
  78277. // Returns true if the request succeeds; otherwise, it returns an error.
  78278. Return *bool `locationName:"return" type:"boolean"`
  78279. }
  78280. // String returns the string representation
  78281. func (s RejectVpcPeeringConnectionOutput) String() string {
  78282. return awsutil.Prettify(s)
  78283. }
  78284. // GoString returns the string representation
  78285. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  78286. return s.String()
  78287. }
  78288. // SetReturn sets the Return field's value.
  78289. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  78290. s.Return = &v
  78291. return s
  78292. }
  78293. type ReleaseAddressInput struct {
  78294. _ struct{} `type:"structure"`
  78295. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  78296. AllocationId *string `type:"string"`
  78297. // Checks whether you have the required permissions for the action, without
  78298. // actually making the request, and provides an error response. If you have
  78299. // the required permissions, the error response is DryRunOperation. Otherwise,
  78300. // it is UnauthorizedOperation.
  78301. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78302. // The location that the IP address is released from.
  78303. //
  78304. // If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
  78305. // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  78306. //
  78307. // You cannot use a network border group with EC2 Classic. If you attempt this
  78308. // operation on EC2 classic, you will receive an InvalidParameterCombination
  78309. // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  78310. NetworkBorderGroup *string `type:"string"`
  78311. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  78312. PublicIp *string `type:"string"`
  78313. }
  78314. // String returns the string representation
  78315. func (s ReleaseAddressInput) String() string {
  78316. return awsutil.Prettify(s)
  78317. }
  78318. // GoString returns the string representation
  78319. func (s ReleaseAddressInput) GoString() string {
  78320. return s.String()
  78321. }
  78322. // SetAllocationId sets the AllocationId field's value.
  78323. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  78324. s.AllocationId = &v
  78325. return s
  78326. }
  78327. // SetDryRun sets the DryRun field's value.
  78328. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  78329. s.DryRun = &v
  78330. return s
  78331. }
  78332. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  78333. func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
  78334. s.NetworkBorderGroup = &v
  78335. return s
  78336. }
  78337. // SetPublicIp sets the PublicIp field's value.
  78338. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  78339. s.PublicIp = &v
  78340. return s
  78341. }
  78342. type ReleaseAddressOutput struct {
  78343. _ struct{} `type:"structure"`
  78344. }
  78345. // String returns the string representation
  78346. func (s ReleaseAddressOutput) String() string {
  78347. return awsutil.Prettify(s)
  78348. }
  78349. // GoString returns the string representation
  78350. func (s ReleaseAddressOutput) GoString() string {
  78351. return s.String()
  78352. }
  78353. type ReleaseHostsInput struct {
  78354. _ struct{} `type:"structure"`
  78355. // The IDs of the Dedicated Hosts to release.
  78356. //
  78357. // HostIds is a required field
  78358. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  78359. }
  78360. // String returns the string representation
  78361. func (s ReleaseHostsInput) String() string {
  78362. return awsutil.Prettify(s)
  78363. }
  78364. // GoString returns the string representation
  78365. func (s ReleaseHostsInput) GoString() string {
  78366. return s.String()
  78367. }
  78368. // Validate inspects the fields of the type to determine if they are valid.
  78369. func (s *ReleaseHostsInput) Validate() error {
  78370. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  78371. if s.HostIds == nil {
  78372. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  78373. }
  78374. if invalidParams.Len() > 0 {
  78375. return invalidParams
  78376. }
  78377. return nil
  78378. }
  78379. // SetHostIds sets the HostIds field's value.
  78380. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  78381. s.HostIds = v
  78382. return s
  78383. }
  78384. type ReleaseHostsOutput struct {
  78385. _ struct{} `type:"structure"`
  78386. // The IDs of the Dedicated Hosts that were successfully released.
  78387. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  78388. // The IDs of the Dedicated Hosts that could not be released, including an error
  78389. // message.
  78390. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  78391. }
  78392. // String returns the string representation
  78393. func (s ReleaseHostsOutput) String() string {
  78394. return awsutil.Prettify(s)
  78395. }
  78396. // GoString returns the string representation
  78397. func (s ReleaseHostsOutput) GoString() string {
  78398. return s.String()
  78399. }
  78400. // SetSuccessful sets the Successful field's value.
  78401. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  78402. s.Successful = v
  78403. return s
  78404. }
  78405. // SetUnsuccessful sets the Unsuccessful field's value.
  78406. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  78407. s.Unsuccessful = v
  78408. return s
  78409. }
  78410. type ReplaceIamInstanceProfileAssociationInput struct {
  78411. _ struct{} `type:"structure"`
  78412. // The ID of the existing IAM instance profile association.
  78413. //
  78414. // AssociationId is a required field
  78415. AssociationId *string `type:"string" required:"true"`
  78416. // The IAM instance profile.
  78417. //
  78418. // IamInstanceProfile is a required field
  78419. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  78420. }
  78421. // String returns the string representation
  78422. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  78423. return awsutil.Prettify(s)
  78424. }
  78425. // GoString returns the string representation
  78426. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  78427. return s.String()
  78428. }
  78429. // Validate inspects the fields of the type to determine if they are valid.
  78430. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  78431. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  78432. if s.AssociationId == nil {
  78433. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  78434. }
  78435. if s.IamInstanceProfile == nil {
  78436. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  78437. }
  78438. if invalidParams.Len() > 0 {
  78439. return invalidParams
  78440. }
  78441. return nil
  78442. }
  78443. // SetAssociationId sets the AssociationId field's value.
  78444. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  78445. s.AssociationId = &v
  78446. return s
  78447. }
  78448. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  78449. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  78450. s.IamInstanceProfile = v
  78451. return s
  78452. }
  78453. type ReplaceIamInstanceProfileAssociationOutput struct {
  78454. _ struct{} `type:"structure"`
  78455. // Information about the IAM instance profile association.
  78456. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  78457. }
  78458. // String returns the string representation
  78459. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  78460. return awsutil.Prettify(s)
  78461. }
  78462. // GoString returns the string representation
  78463. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  78464. return s.String()
  78465. }
  78466. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  78467. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  78468. s.IamInstanceProfileAssociation = v
  78469. return s
  78470. }
  78471. type ReplaceNetworkAclAssociationInput struct {
  78472. _ struct{} `type:"structure"`
  78473. // The ID of the current association between the original network ACL and the
  78474. // subnet.
  78475. //
  78476. // AssociationId is a required field
  78477. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  78478. // Checks whether you have the required permissions for the action, without
  78479. // actually making the request, and provides an error response. If you have
  78480. // the required permissions, the error response is DryRunOperation. Otherwise,
  78481. // it is UnauthorizedOperation.
  78482. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78483. // The ID of the new network ACL to associate with the subnet.
  78484. //
  78485. // NetworkAclId is a required field
  78486. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  78487. }
  78488. // String returns the string representation
  78489. func (s ReplaceNetworkAclAssociationInput) String() string {
  78490. return awsutil.Prettify(s)
  78491. }
  78492. // GoString returns the string representation
  78493. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  78494. return s.String()
  78495. }
  78496. // Validate inspects the fields of the type to determine if they are valid.
  78497. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  78498. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  78499. if s.AssociationId == nil {
  78500. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  78501. }
  78502. if s.NetworkAclId == nil {
  78503. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  78504. }
  78505. if invalidParams.Len() > 0 {
  78506. return invalidParams
  78507. }
  78508. return nil
  78509. }
  78510. // SetAssociationId sets the AssociationId field's value.
  78511. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  78512. s.AssociationId = &v
  78513. return s
  78514. }
  78515. // SetDryRun sets the DryRun field's value.
  78516. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  78517. s.DryRun = &v
  78518. return s
  78519. }
  78520. // SetNetworkAclId sets the NetworkAclId field's value.
  78521. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  78522. s.NetworkAclId = &v
  78523. return s
  78524. }
  78525. type ReplaceNetworkAclAssociationOutput struct {
  78526. _ struct{} `type:"structure"`
  78527. // The ID of the new association.
  78528. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  78529. }
  78530. // String returns the string representation
  78531. func (s ReplaceNetworkAclAssociationOutput) String() string {
  78532. return awsutil.Prettify(s)
  78533. }
  78534. // GoString returns the string representation
  78535. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  78536. return s.String()
  78537. }
  78538. // SetNewAssociationId sets the NewAssociationId field's value.
  78539. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  78540. s.NewAssociationId = &v
  78541. return s
  78542. }
  78543. type ReplaceNetworkAclEntryInput struct {
  78544. _ struct{} `type:"structure"`
  78545. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  78546. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  78547. // Checks whether you have the required permissions for the action, without
  78548. // actually making the request, and provides an error response. If you have
  78549. // the required permissions, the error response is DryRunOperation. Otherwise,
  78550. // it is UnauthorizedOperation.
  78551. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78552. // Indicates whether to replace the egress rule.
  78553. //
  78554. // Default: If no value is specified, we replace the ingress rule.
  78555. //
  78556. // Egress is a required field
  78557. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  78558. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
  78559. // 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  78560. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  78561. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  78562. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  78563. // The ID of the ACL.
  78564. //
  78565. // NetworkAclId is a required field
  78566. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  78567. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  78568. // specifying protocol 6 (TCP) or 17 (UDP).
  78569. PortRange *PortRange `locationName:"portRange" type:"structure"`
  78570. // The protocol number. A value of "-1" means all protocols. If you specify
  78571. // "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
  78572. // traffic on all ports is allowed, regardless of any ports or ICMP types or
  78573. // codes that you specify. If you specify protocol "58" (ICMPv6) and specify
  78574. // an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
  78575. // of any that you specify. If you specify protocol "58" (ICMPv6) and specify
  78576. // an IPv6 CIDR block, you must specify an ICMP type and code.
  78577. //
  78578. // Protocol is a required field
  78579. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  78580. // Indicates whether to allow or deny the traffic that matches the rule.
  78581. //
  78582. // RuleAction is a required field
  78583. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  78584. // The rule number of the entry to replace.
  78585. //
  78586. // RuleNumber is a required field
  78587. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  78588. }
  78589. // String returns the string representation
  78590. func (s ReplaceNetworkAclEntryInput) String() string {
  78591. return awsutil.Prettify(s)
  78592. }
  78593. // GoString returns the string representation
  78594. func (s ReplaceNetworkAclEntryInput) GoString() string {
  78595. return s.String()
  78596. }
  78597. // Validate inspects the fields of the type to determine if they are valid.
  78598. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  78599. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  78600. if s.Egress == nil {
  78601. invalidParams.Add(request.NewErrParamRequired("Egress"))
  78602. }
  78603. if s.NetworkAclId == nil {
  78604. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  78605. }
  78606. if s.Protocol == nil {
  78607. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  78608. }
  78609. if s.RuleAction == nil {
  78610. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  78611. }
  78612. if s.RuleNumber == nil {
  78613. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  78614. }
  78615. if invalidParams.Len() > 0 {
  78616. return invalidParams
  78617. }
  78618. return nil
  78619. }
  78620. // SetCidrBlock sets the CidrBlock field's value.
  78621. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  78622. s.CidrBlock = &v
  78623. return s
  78624. }
  78625. // SetDryRun sets the DryRun field's value.
  78626. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  78627. s.DryRun = &v
  78628. return s
  78629. }
  78630. // SetEgress sets the Egress field's value.
  78631. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  78632. s.Egress = &v
  78633. return s
  78634. }
  78635. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  78636. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  78637. s.IcmpTypeCode = v
  78638. return s
  78639. }
  78640. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  78641. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  78642. s.Ipv6CidrBlock = &v
  78643. return s
  78644. }
  78645. // SetNetworkAclId sets the NetworkAclId field's value.
  78646. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  78647. s.NetworkAclId = &v
  78648. return s
  78649. }
  78650. // SetPortRange sets the PortRange field's value.
  78651. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  78652. s.PortRange = v
  78653. return s
  78654. }
  78655. // SetProtocol sets the Protocol field's value.
  78656. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  78657. s.Protocol = &v
  78658. return s
  78659. }
  78660. // SetRuleAction sets the RuleAction field's value.
  78661. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  78662. s.RuleAction = &v
  78663. return s
  78664. }
  78665. // SetRuleNumber sets the RuleNumber field's value.
  78666. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  78667. s.RuleNumber = &v
  78668. return s
  78669. }
  78670. type ReplaceNetworkAclEntryOutput struct {
  78671. _ struct{} `type:"structure"`
  78672. }
  78673. // String returns the string representation
  78674. func (s ReplaceNetworkAclEntryOutput) String() string {
  78675. return awsutil.Prettify(s)
  78676. }
  78677. // GoString returns the string representation
  78678. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  78679. return s.String()
  78680. }
  78681. type ReplaceRouteInput struct {
  78682. _ struct{} `type:"structure"`
  78683. // The IPv4 CIDR address block used for the destination match. The value that
  78684. // you provide must match the CIDR of an existing route in the table.
  78685. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  78686. // The IPv6 CIDR address block used for the destination match. The value that
  78687. // you provide must match the CIDR of an existing route in the table.
  78688. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  78689. // Checks whether you have the required permissions for the action, without
  78690. // actually making the request, and provides an error response. If you have
  78691. // the required permissions, the error response is DryRunOperation. Otherwise,
  78692. // it is UnauthorizedOperation.
  78693. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78694. // [IPv6 traffic only] The ID of an egress-only internet gateway.
  78695. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  78696. // The ID of an internet gateway or virtual private gateway.
  78697. GatewayId *string `locationName:"gatewayId" type:"string"`
  78698. // The ID of a NAT instance in your VPC.
  78699. InstanceId *string `locationName:"instanceId" type:"string"`
  78700. // The ID of the local gateway.
  78701. LocalGatewayId *string `type:"string"`
  78702. // Specifies whether to reset the local route to its default target (local).
  78703. LocalTarget *bool `type:"boolean"`
  78704. // [IPv4 traffic only] The ID of a NAT gateway.
  78705. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  78706. // The ID of a network interface.
  78707. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  78708. // The ID of the route table.
  78709. //
  78710. // RouteTableId is a required field
  78711. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  78712. // The ID of a transit gateway.
  78713. TransitGatewayId *string `type:"string"`
  78714. // The ID of a VPC peering connection.
  78715. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  78716. }
  78717. // String returns the string representation
  78718. func (s ReplaceRouteInput) String() string {
  78719. return awsutil.Prettify(s)
  78720. }
  78721. // GoString returns the string representation
  78722. func (s ReplaceRouteInput) GoString() string {
  78723. return s.String()
  78724. }
  78725. // Validate inspects the fields of the type to determine if they are valid.
  78726. func (s *ReplaceRouteInput) Validate() error {
  78727. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  78728. if s.RouteTableId == nil {
  78729. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  78730. }
  78731. if invalidParams.Len() > 0 {
  78732. return invalidParams
  78733. }
  78734. return nil
  78735. }
  78736. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  78737. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  78738. s.DestinationCidrBlock = &v
  78739. return s
  78740. }
  78741. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  78742. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  78743. s.DestinationIpv6CidrBlock = &v
  78744. return s
  78745. }
  78746. // SetDryRun sets the DryRun field's value.
  78747. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  78748. s.DryRun = &v
  78749. return s
  78750. }
  78751. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  78752. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  78753. s.EgressOnlyInternetGatewayId = &v
  78754. return s
  78755. }
  78756. // SetGatewayId sets the GatewayId field's value.
  78757. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  78758. s.GatewayId = &v
  78759. return s
  78760. }
  78761. // SetInstanceId sets the InstanceId field's value.
  78762. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  78763. s.InstanceId = &v
  78764. return s
  78765. }
  78766. // SetLocalGatewayId sets the LocalGatewayId field's value.
  78767. func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
  78768. s.LocalGatewayId = &v
  78769. return s
  78770. }
  78771. // SetLocalTarget sets the LocalTarget field's value.
  78772. func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
  78773. s.LocalTarget = &v
  78774. return s
  78775. }
  78776. // SetNatGatewayId sets the NatGatewayId field's value.
  78777. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  78778. s.NatGatewayId = &v
  78779. return s
  78780. }
  78781. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  78782. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  78783. s.NetworkInterfaceId = &v
  78784. return s
  78785. }
  78786. // SetRouteTableId sets the RouteTableId field's value.
  78787. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  78788. s.RouteTableId = &v
  78789. return s
  78790. }
  78791. // SetTransitGatewayId sets the TransitGatewayId field's value.
  78792. func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
  78793. s.TransitGatewayId = &v
  78794. return s
  78795. }
  78796. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  78797. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  78798. s.VpcPeeringConnectionId = &v
  78799. return s
  78800. }
  78801. type ReplaceRouteOutput struct {
  78802. _ struct{} `type:"structure"`
  78803. }
  78804. // String returns the string representation
  78805. func (s ReplaceRouteOutput) String() string {
  78806. return awsutil.Prettify(s)
  78807. }
  78808. // GoString returns the string representation
  78809. func (s ReplaceRouteOutput) GoString() string {
  78810. return s.String()
  78811. }
  78812. type ReplaceRouteTableAssociationInput struct {
  78813. _ struct{} `type:"structure"`
  78814. // The association ID.
  78815. //
  78816. // AssociationId is a required field
  78817. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  78818. // Checks whether you have the required permissions for the action, without
  78819. // actually making the request, and provides an error response. If you have
  78820. // the required permissions, the error response is DryRunOperation. Otherwise,
  78821. // it is UnauthorizedOperation.
  78822. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78823. // The ID of the new route table to associate with the subnet.
  78824. //
  78825. // RouteTableId is a required field
  78826. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  78827. }
  78828. // String returns the string representation
  78829. func (s ReplaceRouteTableAssociationInput) String() string {
  78830. return awsutil.Prettify(s)
  78831. }
  78832. // GoString returns the string representation
  78833. func (s ReplaceRouteTableAssociationInput) GoString() string {
  78834. return s.String()
  78835. }
  78836. // Validate inspects the fields of the type to determine if they are valid.
  78837. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  78838. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  78839. if s.AssociationId == nil {
  78840. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  78841. }
  78842. if s.RouteTableId == nil {
  78843. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  78844. }
  78845. if invalidParams.Len() > 0 {
  78846. return invalidParams
  78847. }
  78848. return nil
  78849. }
  78850. // SetAssociationId sets the AssociationId field's value.
  78851. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  78852. s.AssociationId = &v
  78853. return s
  78854. }
  78855. // SetDryRun sets the DryRun field's value.
  78856. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  78857. s.DryRun = &v
  78858. return s
  78859. }
  78860. // SetRouteTableId sets the RouteTableId field's value.
  78861. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  78862. s.RouteTableId = &v
  78863. return s
  78864. }
  78865. type ReplaceRouteTableAssociationOutput struct {
  78866. _ struct{} `type:"structure"`
  78867. // The state of the association.
  78868. AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
  78869. // The ID of the new association.
  78870. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  78871. }
  78872. // String returns the string representation
  78873. func (s ReplaceRouteTableAssociationOutput) String() string {
  78874. return awsutil.Prettify(s)
  78875. }
  78876. // GoString returns the string representation
  78877. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  78878. return s.String()
  78879. }
  78880. // SetAssociationState sets the AssociationState field's value.
  78881. func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
  78882. s.AssociationState = v
  78883. return s
  78884. }
  78885. // SetNewAssociationId sets the NewAssociationId field's value.
  78886. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  78887. s.NewAssociationId = &v
  78888. return s
  78889. }
  78890. type ReplaceTransitGatewayRouteInput struct {
  78891. _ struct{} `type:"structure"`
  78892. // Indicates whether traffic matching this route is to be dropped.
  78893. Blackhole *bool `type:"boolean"`
  78894. // The CIDR range used for the destination match. Routing decisions are based
  78895. // on the most specific match.
  78896. //
  78897. // DestinationCidrBlock is a required field
  78898. DestinationCidrBlock *string `type:"string" required:"true"`
  78899. // Checks whether you have the required permissions for the action, without
  78900. // actually making the request, and provides an error response. If you have
  78901. // the required permissions, the error response is DryRunOperation. Otherwise,
  78902. // it is UnauthorizedOperation.
  78903. DryRun *bool `type:"boolean"`
  78904. // The ID of the attachment.
  78905. TransitGatewayAttachmentId *string `type:"string"`
  78906. // The ID of the route table.
  78907. //
  78908. // TransitGatewayRouteTableId is a required field
  78909. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  78910. }
  78911. // String returns the string representation
  78912. func (s ReplaceTransitGatewayRouteInput) String() string {
  78913. return awsutil.Prettify(s)
  78914. }
  78915. // GoString returns the string representation
  78916. func (s ReplaceTransitGatewayRouteInput) GoString() string {
  78917. return s.String()
  78918. }
  78919. // Validate inspects the fields of the type to determine if they are valid.
  78920. func (s *ReplaceTransitGatewayRouteInput) Validate() error {
  78921. invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
  78922. if s.DestinationCidrBlock == nil {
  78923. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  78924. }
  78925. if s.TransitGatewayRouteTableId == nil {
  78926. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  78927. }
  78928. if invalidParams.Len() > 0 {
  78929. return invalidParams
  78930. }
  78931. return nil
  78932. }
  78933. // SetBlackhole sets the Blackhole field's value.
  78934. func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
  78935. s.Blackhole = &v
  78936. return s
  78937. }
  78938. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  78939. func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
  78940. s.DestinationCidrBlock = &v
  78941. return s
  78942. }
  78943. // SetDryRun sets the DryRun field's value.
  78944. func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
  78945. s.DryRun = &v
  78946. return s
  78947. }
  78948. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  78949. func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
  78950. s.TransitGatewayAttachmentId = &v
  78951. return s
  78952. }
  78953. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  78954. func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
  78955. s.TransitGatewayRouteTableId = &v
  78956. return s
  78957. }
  78958. type ReplaceTransitGatewayRouteOutput struct {
  78959. _ struct{} `type:"structure"`
  78960. // Information about the modified route.
  78961. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  78962. }
  78963. // String returns the string representation
  78964. func (s ReplaceTransitGatewayRouteOutput) String() string {
  78965. return awsutil.Prettify(s)
  78966. }
  78967. // GoString returns the string representation
  78968. func (s ReplaceTransitGatewayRouteOutput) GoString() string {
  78969. return s.String()
  78970. }
  78971. // SetRoute sets the Route field's value.
  78972. func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
  78973. s.Route = v
  78974. return s
  78975. }
  78976. type ReportInstanceStatusInput struct {
  78977. _ struct{} `type:"structure"`
  78978. // Descriptive text about the health state of your instance.
  78979. Description *string `locationName:"description" type:"string"`
  78980. // Checks whether you have the required permissions for the action, without
  78981. // actually making the request, and provides an error response. If you have
  78982. // the required permissions, the error response is DryRunOperation. Otherwise,
  78983. // it is UnauthorizedOperation.
  78984. DryRun *bool `locationName:"dryRun" type:"boolean"`
  78985. // The time at which the reported instance health state ended.
  78986. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  78987. // The instances.
  78988. //
  78989. // Instances is a required field
  78990. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  78991. // The reason codes that describe the health state of your instance.
  78992. //
  78993. // * instance-stuck-in-state: My instance is stuck in a state.
  78994. //
  78995. // * unresponsive: My instance is unresponsive.
  78996. //
  78997. // * not-accepting-credentials: My instance is not accepting my credentials.
  78998. //
  78999. // * password-not-available: A password is not available for my instance.
  79000. //
  79001. // * performance-network: My instance is experiencing performance problems
  79002. // that I believe are network related.
  79003. //
  79004. // * performance-instance-store: My instance is experiencing performance
  79005. // problems that I believe are related to the instance stores.
  79006. //
  79007. // * performance-ebs-volume: My instance is experiencing performance problems
  79008. // that I believe are related to an EBS volume.
  79009. //
  79010. // * performance-other: My instance is experiencing performance problems.
  79011. //
  79012. // * other: [explain using the description parameter]
  79013. //
  79014. // ReasonCodes is a required field
  79015. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  79016. // The time at which the reported instance health state began.
  79017. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  79018. // The status of all instances listed.
  79019. //
  79020. // Status is a required field
  79021. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  79022. }
  79023. // String returns the string representation
  79024. func (s ReportInstanceStatusInput) String() string {
  79025. return awsutil.Prettify(s)
  79026. }
  79027. // GoString returns the string representation
  79028. func (s ReportInstanceStatusInput) GoString() string {
  79029. return s.String()
  79030. }
  79031. // Validate inspects the fields of the type to determine if they are valid.
  79032. func (s *ReportInstanceStatusInput) Validate() error {
  79033. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  79034. if s.Instances == nil {
  79035. invalidParams.Add(request.NewErrParamRequired("Instances"))
  79036. }
  79037. if s.ReasonCodes == nil {
  79038. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  79039. }
  79040. if s.Status == nil {
  79041. invalidParams.Add(request.NewErrParamRequired("Status"))
  79042. }
  79043. if invalidParams.Len() > 0 {
  79044. return invalidParams
  79045. }
  79046. return nil
  79047. }
  79048. // SetDescription sets the Description field's value.
  79049. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  79050. s.Description = &v
  79051. return s
  79052. }
  79053. // SetDryRun sets the DryRun field's value.
  79054. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  79055. s.DryRun = &v
  79056. return s
  79057. }
  79058. // SetEndTime sets the EndTime field's value.
  79059. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  79060. s.EndTime = &v
  79061. return s
  79062. }
  79063. // SetInstances sets the Instances field's value.
  79064. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  79065. s.Instances = v
  79066. return s
  79067. }
  79068. // SetReasonCodes sets the ReasonCodes field's value.
  79069. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  79070. s.ReasonCodes = v
  79071. return s
  79072. }
  79073. // SetStartTime sets the StartTime field's value.
  79074. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  79075. s.StartTime = &v
  79076. return s
  79077. }
  79078. // SetStatus sets the Status field's value.
  79079. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  79080. s.Status = &v
  79081. return s
  79082. }
  79083. type ReportInstanceStatusOutput struct {
  79084. _ struct{} `type:"structure"`
  79085. }
  79086. // String returns the string representation
  79087. func (s ReportInstanceStatusOutput) String() string {
  79088. return awsutil.Prettify(s)
  79089. }
  79090. // GoString returns the string representation
  79091. func (s ReportInstanceStatusOutput) GoString() string {
  79092. return s.String()
  79093. }
  79094. // The information to include in the launch template.
  79095. type RequestLaunchTemplateData struct {
  79096. _ struct{} `type:"structure"`
  79097. // The block device mapping.
  79098. //
  79099. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  79100. // mapping results in an error. This is because only blank volumes can be encrypted
  79101. // on start, and these are not created from a snapshot. If a snapshot is the
  79102. // basis for the volume, it contains data by definition and its encryption status
  79103. // cannot be changed using this action.
  79104. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  79105. // The Capacity Reservation targeting option. If you do not specify this parameter,
  79106. // the instance's Capacity Reservation preference defaults to open, which enables
  79107. // it to run in any open Capacity Reservation that has matching attributes (instance
  79108. // type, platform, Availability Zone).
  79109. CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
  79110. // The CPU options for the instance. For more information, see Optimizing CPU
  79111. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  79112. // in the Amazon Elastic Compute Cloud User Guide.
  79113. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
  79114. // The credit option for CPU usage of the instance. Valid for T2 or T3 instances
  79115. // only.
  79116. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  79117. // If you set this parameter to true, you can't terminate the instance using
  79118. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  79119. // after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
  79120. // Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
  79121. // you can terminate the instance by running the shutdown command from the instance.
  79122. DisableApiTermination *bool `type:"boolean"`
  79123. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  79124. // provides dedicated throughput to Amazon EBS and an optimized configuration
  79125. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  79126. // available with all instance types. Additional usage charges apply when using
  79127. // an EBS-optimized instance.
  79128. EbsOptimized *bool `type:"boolean"`
  79129. // An elastic GPU to associate with the instance.
  79130. ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
  79131. // The elastic inference accelerator for the instance.
  79132. ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
  79133. // Indicates whether an instance is enabled for hibernation. This parameter
  79134. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  79135. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  79136. // in the Amazon Elastic Compute Cloud User Guide.
  79137. HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
  79138. // The IAM instance profile.
  79139. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
  79140. // The ID of the AMI.
  79141. ImageId *string `type:"string"`
  79142. // Indicates whether an instance stops or terminates when you initiate shutdown
  79143. // from the instance (using the operating system command for system shutdown).
  79144. //
  79145. // Default: stop
  79146. InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
  79147. // The market (purchasing) option for the instances.
  79148. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
  79149. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  79150. // in the Amazon Elastic Compute Cloud User Guide.
  79151. InstanceType *string `type:"string" enum:"InstanceType"`
  79152. // The ID of the kernel.
  79153. //
  79154. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  79155. // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  79156. // in the Amazon Elastic Compute Cloud User Guide.
  79157. KernelId *string `type:"string"`
  79158. // The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
  79159. // or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
  79160. //
  79161. // If you do not specify a key pair, you can't connect to the instance unless
  79162. // you choose an AMI that is configured to allow users another way to log in.
  79163. KeyName *string `type:"string"`
  79164. // The license configurations.
  79165. LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
  79166. // The metadata options for the instance. For more information, see Instance
  79167. // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  79168. // in the Amazon Elastic Compute Cloud User Guide.
  79169. MetadataOptions *LaunchTemplateInstanceMetadataOptionsRequest `type:"structure"`
  79170. // The monitoring for the instance.
  79171. Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
  79172. // One or more network interfaces. If you specify a network interface, you must
  79173. // specify any security groups and subnets as part of the network interface.
  79174. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
  79175. // The placement for the instance.
  79176. Placement *LaunchTemplatePlacementRequest `type:"structure"`
  79177. // The ID of the RAM disk.
  79178. //
  79179. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  79180. // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  79181. // in the Amazon Elastic Compute Cloud User Guide.
  79182. RamDiskId *string `type:"string"`
  79183. // One or more security group IDs. You can create a security group using CreateSecurityGroup
  79184. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
  79185. // You cannot specify both a security group ID and security name in the same
  79186. // request.
  79187. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  79188. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  79189. // VPC, you must use security group IDs instead. You cannot specify both a security
  79190. // group ID and security name in the same request.
  79191. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  79192. // The tags to apply to the resources during launch. You can only tag instances
  79193. // and volumes on launch. The specified tags are applied to all instances or
  79194. // volumes that are created during launch. To tag a resource after it has been
  79195. // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
  79196. TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
  79197. // The Base64-encoded user data to make available to the instance. For more
  79198. // information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  79199. // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  79200. // (Windows).
  79201. UserData *string `type:"string"`
  79202. }
  79203. // String returns the string representation
  79204. func (s RequestLaunchTemplateData) String() string {
  79205. return awsutil.Prettify(s)
  79206. }
  79207. // GoString returns the string representation
  79208. func (s RequestLaunchTemplateData) GoString() string {
  79209. return s.String()
  79210. }
  79211. // Validate inspects the fields of the type to determine if they are valid.
  79212. func (s *RequestLaunchTemplateData) Validate() error {
  79213. invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
  79214. if s.CreditSpecification != nil {
  79215. if err := s.CreditSpecification.Validate(); err != nil {
  79216. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  79217. }
  79218. }
  79219. if s.ElasticGpuSpecifications != nil {
  79220. for i, v := range s.ElasticGpuSpecifications {
  79221. if v == nil {
  79222. continue
  79223. }
  79224. if err := v.Validate(); err != nil {
  79225. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
  79226. }
  79227. }
  79228. }
  79229. if s.ElasticInferenceAccelerators != nil {
  79230. for i, v := range s.ElasticInferenceAccelerators {
  79231. if v == nil {
  79232. continue
  79233. }
  79234. if err := v.Validate(); err != nil {
  79235. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
  79236. }
  79237. }
  79238. }
  79239. if invalidParams.Len() > 0 {
  79240. return invalidParams
  79241. }
  79242. return nil
  79243. }
  79244. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  79245. func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
  79246. s.BlockDeviceMappings = v
  79247. return s
  79248. }
  79249. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  79250. func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
  79251. s.CapacityReservationSpecification = v
  79252. return s
  79253. }
  79254. // SetCpuOptions sets the CpuOptions field's value.
  79255. func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
  79256. s.CpuOptions = v
  79257. return s
  79258. }
  79259. // SetCreditSpecification sets the CreditSpecification field's value.
  79260. func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
  79261. s.CreditSpecification = v
  79262. return s
  79263. }
  79264. // SetDisableApiTermination sets the DisableApiTermination field's value.
  79265. func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
  79266. s.DisableApiTermination = &v
  79267. return s
  79268. }
  79269. // SetEbsOptimized sets the EbsOptimized field's value.
  79270. func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
  79271. s.EbsOptimized = &v
  79272. return s
  79273. }
  79274. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  79275. func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
  79276. s.ElasticGpuSpecifications = v
  79277. return s
  79278. }
  79279. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  79280. func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
  79281. s.ElasticInferenceAccelerators = v
  79282. return s
  79283. }
  79284. // SetHibernationOptions sets the HibernationOptions field's value.
  79285. func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
  79286. s.HibernationOptions = v
  79287. return s
  79288. }
  79289. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  79290. func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
  79291. s.IamInstanceProfile = v
  79292. return s
  79293. }
  79294. // SetImageId sets the ImageId field's value.
  79295. func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
  79296. s.ImageId = &v
  79297. return s
  79298. }
  79299. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  79300. func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
  79301. s.InstanceInitiatedShutdownBehavior = &v
  79302. return s
  79303. }
  79304. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  79305. func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
  79306. s.InstanceMarketOptions = v
  79307. return s
  79308. }
  79309. // SetInstanceType sets the InstanceType field's value.
  79310. func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
  79311. s.InstanceType = &v
  79312. return s
  79313. }
  79314. // SetKernelId sets the KernelId field's value.
  79315. func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
  79316. s.KernelId = &v
  79317. return s
  79318. }
  79319. // SetKeyName sets the KeyName field's value.
  79320. func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
  79321. s.KeyName = &v
  79322. return s
  79323. }
  79324. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  79325. func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
  79326. s.LicenseSpecifications = v
  79327. return s
  79328. }
  79329. // SetMetadataOptions sets the MetadataOptions field's value.
  79330. func (s *RequestLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptionsRequest) *RequestLaunchTemplateData {
  79331. s.MetadataOptions = v
  79332. return s
  79333. }
  79334. // SetMonitoring sets the Monitoring field's value.
  79335. func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
  79336. s.Monitoring = v
  79337. return s
  79338. }
  79339. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  79340. func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
  79341. s.NetworkInterfaces = v
  79342. return s
  79343. }
  79344. // SetPlacement sets the Placement field's value.
  79345. func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
  79346. s.Placement = v
  79347. return s
  79348. }
  79349. // SetRamDiskId sets the RamDiskId field's value.
  79350. func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
  79351. s.RamDiskId = &v
  79352. return s
  79353. }
  79354. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  79355. func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
  79356. s.SecurityGroupIds = v
  79357. return s
  79358. }
  79359. // SetSecurityGroups sets the SecurityGroups field's value.
  79360. func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
  79361. s.SecurityGroups = v
  79362. return s
  79363. }
  79364. // SetTagSpecifications sets the TagSpecifications field's value.
  79365. func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
  79366. s.TagSpecifications = v
  79367. return s
  79368. }
  79369. // SetUserData sets the UserData field's value.
  79370. func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
  79371. s.UserData = &v
  79372. return s
  79373. }
  79374. // Contains the parameters for RequestSpotFleet.
  79375. type RequestSpotFleetInput struct {
  79376. _ struct{} `type:"structure"`
  79377. // Checks whether you have the required permissions for the action, without
  79378. // actually making the request, and provides an error response. If you have
  79379. // the required permissions, the error response is DryRunOperation. Otherwise,
  79380. // it is UnauthorizedOperation.
  79381. DryRun *bool `locationName:"dryRun" type:"boolean"`
  79382. // The configuration for the Spot Fleet request.
  79383. //
  79384. // SpotFleetRequestConfig is a required field
  79385. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  79386. }
  79387. // String returns the string representation
  79388. func (s RequestSpotFleetInput) String() string {
  79389. return awsutil.Prettify(s)
  79390. }
  79391. // GoString returns the string representation
  79392. func (s RequestSpotFleetInput) GoString() string {
  79393. return s.String()
  79394. }
  79395. // Validate inspects the fields of the type to determine if they are valid.
  79396. func (s *RequestSpotFleetInput) Validate() error {
  79397. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  79398. if s.SpotFleetRequestConfig == nil {
  79399. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  79400. }
  79401. if s.SpotFleetRequestConfig != nil {
  79402. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  79403. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  79404. }
  79405. }
  79406. if invalidParams.Len() > 0 {
  79407. return invalidParams
  79408. }
  79409. return nil
  79410. }
  79411. // SetDryRun sets the DryRun field's value.
  79412. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  79413. s.DryRun = &v
  79414. return s
  79415. }
  79416. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  79417. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  79418. s.SpotFleetRequestConfig = v
  79419. return s
  79420. }
  79421. // Contains the output of RequestSpotFleet.
  79422. type RequestSpotFleetOutput struct {
  79423. _ struct{} `type:"structure"`
  79424. // The ID of the Spot Fleet request.
  79425. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  79426. }
  79427. // String returns the string representation
  79428. func (s RequestSpotFleetOutput) String() string {
  79429. return awsutil.Prettify(s)
  79430. }
  79431. // GoString returns the string representation
  79432. func (s RequestSpotFleetOutput) GoString() string {
  79433. return s.String()
  79434. }
  79435. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  79436. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  79437. s.SpotFleetRequestId = &v
  79438. return s
  79439. }
  79440. // Contains the parameters for RequestSpotInstances.
  79441. type RequestSpotInstancesInput struct {
  79442. _ struct{} `type:"structure"`
  79443. // The user-specified name for a logical grouping of requests.
  79444. //
  79445. // When you specify an Availability Zone group in a Spot Instance request, all
  79446. // Spot Instances in the request are launched in the same Availability Zone.
  79447. // Instance proximity is maintained with this parameter, but the choice of Availability
  79448. // Zone is not. The group applies only to requests for Spot Instances of the
  79449. // same instance type. Any additional Spot Instance requests that are specified
  79450. // with the same Availability Zone group name are launched in that same Availability
  79451. // Zone, as long as at least one instance from the group is still active.
  79452. //
  79453. // If there is no active instance running in the Availability Zone group that
  79454. // you specify for a new Spot Instance request (all instances are terminated,
  79455. // the request is expired, or the maximum price you specified falls below current
  79456. // Spot price), then Amazon EC2 launches the instance in any Availability Zone
  79457. // where the constraint can be met. Consequently, the subsequent set of Spot
  79458. // Instances could be placed in a different zone from the original request,
  79459. // even if you specified the same Availability Zone group.
  79460. //
  79461. // Default: Instances are launched in any available Availability Zone.
  79462. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  79463. // The required duration for the Spot Instances (also known as Spot blocks),
  79464. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  79465. // or 360).
  79466. //
  79467. // The duration period starts as soon as your Spot Instance receives its instance
  79468. // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
  79469. // for termination and provides a Spot Instance termination notice, which gives
  79470. // the instance a two-minute warning before it terminates.
  79471. //
  79472. // You can't specify an Availability Zone group or a launch group if you specify
  79473. // a duration.
  79474. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  79475. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  79476. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  79477. // in the Amazon EC2 User Guide for Linux Instances.
  79478. ClientToken *string `locationName:"clientToken" type:"string"`
  79479. // Checks whether you have the required permissions for the action, without
  79480. // actually making the request, and provides an error response. If you have
  79481. // the required permissions, the error response is DryRunOperation. Otherwise,
  79482. // it is UnauthorizedOperation.
  79483. DryRun *bool `locationName:"dryRun" type:"boolean"`
  79484. // The maximum number of Spot Instances to launch.
  79485. //
  79486. // Default: 1
  79487. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  79488. // The behavior when a Spot Instance is interrupted. The default is terminate.
  79489. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  79490. // The instance launch group. Launch groups are Spot Instances that launch together
  79491. // and terminate together.
  79492. //
  79493. // Default: Instances are launched and terminated individually
  79494. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  79495. // The launch specification.
  79496. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  79497. // The maximum price per hour that you are willing to pay for a Spot Instance.
  79498. // The default is the On-Demand price.
  79499. SpotPrice *string `locationName:"spotPrice" type:"string"`
  79500. // The Spot Instance request type.
  79501. //
  79502. // Default: one-time
  79503. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  79504. // The start date of the request. If this is a one-time request, the request
  79505. // becomes active at this date and time and remains active until all instances
  79506. // launch, the request expires, or the request is canceled. If the request is
  79507. // persistent, the request becomes active at this date and time and remains
  79508. // active until it expires or is canceled.
  79509. //
  79510. // The specified start date and time cannot be equal to the current date and
  79511. // time. You must specify a start date and time that occurs after the current
  79512. // date and time.
  79513. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  79514. // The end date of the request. If this is a one-time request, the request remains
  79515. // active until all instances launch, the request is canceled, or this date
  79516. // is reached. If the request is persistent, it remains active until it is canceled
  79517. // or this date is reached. The default end date is 7 days from the current
  79518. // date.
  79519. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  79520. }
  79521. // String returns the string representation
  79522. func (s RequestSpotInstancesInput) String() string {
  79523. return awsutil.Prettify(s)
  79524. }
  79525. // GoString returns the string representation
  79526. func (s RequestSpotInstancesInput) GoString() string {
  79527. return s.String()
  79528. }
  79529. // Validate inspects the fields of the type to determine if they are valid.
  79530. func (s *RequestSpotInstancesInput) Validate() error {
  79531. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  79532. if s.LaunchSpecification != nil {
  79533. if err := s.LaunchSpecification.Validate(); err != nil {
  79534. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  79535. }
  79536. }
  79537. if invalidParams.Len() > 0 {
  79538. return invalidParams
  79539. }
  79540. return nil
  79541. }
  79542. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  79543. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  79544. s.AvailabilityZoneGroup = &v
  79545. return s
  79546. }
  79547. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  79548. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  79549. s.BlockDurationMinutes = &v
  79550. return s
  79551. }
  79552. // SetClientToken sets the ClientToken field's value.
  79553. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  79554. s.ClientToken = &v
  79555. return s
  79556. }
  79557. // SetDryRun sets the DryRun field's value.
  79558. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  79559. s.DryRun = &v
  79560. return s
  79561. }
  79562. // SetInstanceCount sets the InstanceCount field's value.
  79563. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  79564. s.InstanceCount = &v
  79565. return s
  79566. }
  79567. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  79568. func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
  79569. s.InstanceInterruptionBehavior = &v
  79570. return s
  79571. }
  79572. // SetLaunchGroup sets the LaunchGroup field's value.
  79573. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  79574. s.LaunchGroup = &v
  79575. return s
  79576. }
  79577. // SetLaunchSpecification sets the LaunchSpecification field's value.
  79578. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  79579. s.LaunchSpecification = v
  79580. return s
  79581. }
  79582. // SetSpotPrice sets the SpotPrice field's value.
  79583. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  79584. s.SpotPrice = &v
  79585. return s
  79586. }
  79587. // SetType sets the Type field's value.
  79588. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  79589. s.Type = &v
  79590. return s
  79591. }
  79592. // SetValidFrom sets the ValidFrom field's value.
  79593. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  79594. s.ValidFrom = &v
  79595. return s
  79596. }
  79597. // SetValidUntil sets the ValidUntil field's value.
  79598. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  79599. s.ValidUntil = &v
  79600. return s
  79601. }
  79602. // Contains the output of RequestSpotInstances.
  79603. type RequestSpotInstancesOutput struct {
  79604. _ struct{} `type:"structure"`
  79605. // One or more Spot Instance requests.
  79606. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  79607. }
  79608. // String returns the string representation
  79609. func (s RequestSpotInstancesOutput) String() string {
  79610. return awsutil.Prettify(s)
  79611. }
  79612. // GoString returns the string representation
  79613. func (s RequestSpotInstancesOutput) GoString() string {
  79614. return s.String()
  79615. }
  79616. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  79617. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  79618. s.SpotInstanceRequests = v
  79619. return s
  79620. }
  79621. // Describes the launch specification for an instance.
  79622. type RequestSpotLaunchSpecification struct {
  79623. _ struct{} `type:"structure"`
  79624. // Deprecated.
  79625. AddressingType *string `locationName:"addressingType" type:"string"`
  79626. // One or more block device mapping entries. You can't specify both a snapshot
  79627. // ID and an encryption value. This is because only blank volumes can be encrypted
  79628. // on creation. If a snapshot is the basis for a volume, it is not blank and
  79629. // its encryption status is used for the volume encryption status.
  79630. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  79631. // Indicates whether the instance is optimized for EBS I/O. This optimization
  79632. // provides dedicated throughput to Amazon EBS and an optimized configuration
  79633. // stack to provide optimal EBS I/O performance. This optimization isn't available
  79634. // with all instance types. Additional usage charges apply when using an EBS
  79635. // Optimized instance.
  79636. //
  79637. // Default: false
  79638. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  79639. // The IAM instance profile.
  79640. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  79641. // The ID of the AMI.
  79642. ImageId *string `locationName:"imageId" type:"string"`
  79643. // The instance type.
  79644. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  79645. // The ID of the kernel.
  79646. KernelId *string `locationName:"kernelId" type:"string"`
  79647. // The name of the key pair.
  79648. KeyName *string `locationName:"keyName" type:"string"`
  79649. // Indicates whether basic or detailed monitoring is enabled for the instance.
  79650. //
  79651. // Default: Disabled
  79652. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  79653. // One or more network interfaces. If you specify a network interface, you must
  79654. // specify subnet IDs and security group IDs using the network interface.
  79655. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  79656. // The placement information for the instance.
  79657. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  79658. // The ID of the RAM disk.
  79659. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  79660. // One or more security group IDs.
  79661. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  79662. // One or more security groups. When requesting instances in a VPC, you must
  79663. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  79664. // you can specify the names or the IDs of the security groups.
  79665. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  79666. // The IDs of the subnets in which to launch the instance. To specify multiple
  79667. // subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
  79668. // subnet-0987cdef6example2".
  79669. SubnetId *string `locationName:"subnetId" type:"string"`
  79670. // The Base64-encoded user data for the instance. User data is limited to 16
  79671. // KB.
  79672. UserData *string `locationName:"userData" type:"string"`
  79673. }
  79674. // String returns the string representation
  79675. func (s RequestSpotLaunchSpecification) String() string {
  79676. return awsutil.Prettify(s)
  79677. }
  79678. // GoString returns the string representation
  79679. func (s RequestSpotLaunchSpecification) GoString() string {
  79680. return s.String()
  79681. }
  79682. // Validate inspects the fields of the type to determine if they are valid.
  79683. func (s *RequestSpotLaunchSpecification) Validate() error {
  79684. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  79685. if s.Monitoring != nil {
  79686. if err := s.Monitoring.Validate(); err != nil {
  79687. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  79688. }
  79689. }
  79690. if invalidParams.Len() > 0 {
  79691. return invalidParams
  79692. }
  79693. return nil
  79694. }
  79695. // SetAddressingType sets the AddressingType field's value.
  79696. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  79697. s.AddressingType = &v
  79698. return s
  79699. }
  79700. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  79701. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  79702. s.BlockDeviceMappings = v
  79703. return s
  79704. }
  79705. // SetEbsOptimized sets the EbsOptimized field's value.
  79706. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  79707. s.EbsOptimized = &v
  79708. return s
  79709. }
  79710. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  79711. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  79712. s.IamInstanceProfile = v
  79713. return s
  79714. }
  79715. // SetImageId sets the ImageId field's value.
  79716. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  79717. s.ImageId = &v
  79718. return s
  79719. }
  79720. // SetInstanceType sets the InstanceType field's value.
  79721. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  79722. s.InstanceType = &v
  79723. return s
  79724. }
  79725. // SetKernelId sets the KernelId field's value.
  79726. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  79727. s.KernelId = &v
  79728. return s
  79729. }
  79730. // SetKeyName sets the KeyName field's value.
  79731. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  79732. s.KeyName = &v
  79733. return s
  79734. }
  79735. // SetMonitoring sets the Monitoring field's value.
  79736. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  79737. s.Monitoring = v
  79738. return s
  79739. }
  79740. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  79741. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  79742. s.NetworkInterfaces = v
  79743. return s
  79744. }
  79745. // SetPlacement sets the Placement field's value.
  79746. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  79747. s.Placement = v
  79748. return s
  79749. }
  79750. // SetRamdiskId sets the RamdiskId field's value.
  79751. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  79752. s.RamdiskId = &v
  79753. return s
  79754. }
  79755. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  79756. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  79757. s.SecurityGroupIds = v
  79758. return s
  79759. }
  79760. // SetSecurityGroups sets the SecurityGroups field's value.
  79761. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  79762. s.SecurityGroups = v
  79763. return s
  79764. }
  79765. // SetSubnetId sets the SubnetId field's value.
  79766. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  79767. s.SubnetId = &v
  79768. return s
  79769. }
  79770. // SetUserData sets the UserData field's value.
  79771. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  79772. s.UserData = &v
  79773. return s
  79774. }
  79775. // Describes a reservation.
  79776. type Reservation struct {
  79777. _ struct{} `type:"structure"`
  79778. // [EC2-Classic only] The security groups.
  79779. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  79780. // The instances.
  79781. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  79782. // The ID of the AWS account that owns the reservation.
  79783. OwnerId *string `locationName:"ownerId" type:"string"`
  79784. // The ID of the requester that launched the instances on your behalf (for example,
  79785. // AWS Management Console or Auto Scaling).
  79786. RequesterId *string `locationName:"requesterId" type:"string"`
  79787. // The ID of the reservation.
  79788. ReservationId *string `locationName:"reservationId" type:"string"`
  79789. }
  79790. // String returns the string representation
  79791. func (s Reservation) String() string {
  79792. return awsutil.Prettify(s)
  79793. }
  79794. // GoString returns the string representation
  79795. func (s Reservation) GoString() string {
  79796. return s.String()
  79797. }
  79798. // SetGroups sets the Groups field's value.
  79799. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  79800. s.Groups = v
  79801. return s
  79802. }
  79803. // SetInstances sets the Instances field's value.
  79804. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  79805. s.Instances = v
  79806. return s
  79807. }
  79808. // SetOwnerId sets the OwnerId field's value.
  79809. func (s *Reservation) SetOwnerId(v string) *Reservation {
  79810. s.OwnerId = &v
  79811. return s
  79812. }
  79813. // SetRequesterId sets the RequesterId field's value.
  79814. func (s *Reservation) SetRequesterId(v string) *Reservation {
  79815. s.RequesterId = &v
  79816. return s
  79817. }
  79818. // SetReservationId sets the ReservationId field's value.
  79819. func (s *Reservation) SetReservationId(v string) *Reservation {
  79820. s.ReservationId = &v
  79821. return s
  79822. }
  79823. // The cost associated with the Reserved Instance.
  79824. type ReservationValue struct {
  79825. _ struct{} `type:"structure"`
  79826. // The hourly rate of the reservation.
  79827. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  79828. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  79829. // * number of hours remaining).
  79830. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  79831. // The remaining upfront cost of the reservation.
  79832. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  79833. }
  79834. // String returns the string representation
  79835. func (s ReservationValue) String() string {
  79836. return awsutil.Prettify(s)
  79837. }
  79838. // GoString returns the string representation
  79839. func (s ReservationValue) GoString() string {
  79840. return s.String()
  79841. }
  79842. // SetHourlyPrice sets the HourlyPrice field's value.
  79843. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  79844. s.HourlyPrice = &v
  79845. return s
  79846. }
  79847. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  79848. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  79849. s.RemainingTotalValue = &v
  79850. return s
  79851. }
  79852. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  79853. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  79854. s.RemainingUpfrontValue = &v
  79855. return s
  79856. }
  79857. // Describes the limit price of a Reserved Instance offering.
  79858. type ReservedInstanceLimitPrice struct {
  79859. _ struct{} `type:"structure"`
  79860. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  79861. // on the total order (instanceCount * price).
  79862. Amount *float64 `locationName:"amount" type:"double"`
  79863. // The currency in which the limitPrice amount is specified. At this time, the
  79864. // only supported currency is USD.
  79865. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  79866. }
  79867. // String returns the string representation
  79868. func (s ReservedInstanceLimitPrice) String() string {
  79869. return awsutil.Prettify(s)
  79870. }
  79871. // GoString returns the string representation
  79872. func (s ReservedInstanceLimitPrice) GoString() string {
  79873. return s.String()
  79874. }
  79875. // SetAmount sets the Amount field's value.
  79876. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  79877. s.Amount = &v
  79878. return s
  79879. }
  79880. // SetCurrencyCode sets the CurrencyCode field's value.
  79881. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  79882. s.CurrencyCode = &v
  79883. return s
  79884. }
  79885. // The total value of the Convertible Reserved Instance.
  79886. type ReservedInstanceReservationValue struct {
  79887. _ struct{} `type:"structure"`
  79888. // The total value of the Convertible Reserved Instance that you are exchanging.
  79889. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  79890. // The ID of the Convertible Reserved Instance that you are exchanging.
  79891. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  79892. }
  79893. // String returns the string representation
  79894. func (s ReservedInstanceReservationValue) String() string {
  79895. return awsutil.Prettify(s)
  79896. }
  79897. // GoString returns the string representation
  79898. func (s ReservedInstanceReservationValue) GoString() string {
  79899. return s.String()
  79900. }
  79901. // SetReservationValue sets the ReservationValue field's value.
  79902. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  79903. s.ReservationValue = v
  79904. return s
  79905. }
  79906. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  79907. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  79908. s.ReservedInstanceId = &v
  79909. return s
  79910. }
  79911. // Describes a Reserved Instance.
  79912. type ReservedInstances struct {
  79913. _ struct{} `type:"structure"`
  79914. // The Availability Zone in which the Reserved Instance can be used.
  79915. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  79916. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  79917. // currency codes. At this time, the only supported currency is USD.
  79918. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  79919. // The duration of the Reserved Instance, in seconds.
  79920. Duration *int64 `locationName:"duration" type:"long"`
  79921. // The time when the Reserved Instance expires.
  79922. End *time.Time `locationName:"end" type:"timestamp"`
  79923. // The purchase price of the Reserved Instance.
  79924. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  79925. // The number of reservations purchased.
  79926. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  79927. // The tenancy of the instance.
  79928. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  79929. // The instance type on which the Reserved Instance can be used.
  79930. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  79931. // The offering class of the Reserved Instance.
  79932. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  79933. // The Reserved Instance offering type.
  79934. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  79935. // The Reserved Instance product platform description.
  79936. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  79937. // The recurring charge tag assigned to the resource.
  79938. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  79939. // The ID of the Reserved Instance.
  79940. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  79941. // The scope of the Reserved Instance.
  79942. Scope *string `locationName:"scope" type:"string" enum:"Scope"`
  79943. // The date and time the Reserved Instance started.
  79944. Start *time.Time `locationName:"start" type:"timestamp"`
  79945. // The state of the Reserved Instance purchase.
  79946. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  79947. // Any tags assigned to the resource.
  79948. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  79949. // The usage price of the Reserved Instance, per hour.
  79950. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  79951. }
  79952. // String returns the string representation
  79953. func (s ReservedInstances) String() string {
  79954. return awsutil.Prettify(s)
  79955. }
  79956. // GoString returns the string representation
  79957. func (s ReservedInstances) GoString() string {
  79958. return s.String()
  79959. }
  79960. // SetAvailabilityZone sets the AvailabilityZone field's value.
  79961. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  79962. s.AvailabilityZone = &v
  79963. return s
  79964. }
  79965. // SetCurrencyCode sets the CurrencyCode field's value.
  79966. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  79967. s.CurrencyCode = &v
  79968. return s
  79969. }
  79970. // SetDuration sets the Duration field's value.
  79971. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  79972. s.Duration = &v
  79973. return s
  79974. }
  79975. // SetEnd sets the End field's value.
  79976. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  79977. s.End = &v
  79978. return s
  79979. }
  79980. // SetFixedPrice sets the FixedPrice field's value.
  79981. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  79982. s.FixedPrice = &v
  79983. return s
  79984. }
  79985. // SetInstanceCount sets the InstanceCount field's value.
  79986. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  79987. s.InstanceCount = &v
  79988. return s
  79989. }
  79990. // SetInstanceTenancy sets the InstanceTenancy field's value.
  79991. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  79992. s.InstanceTenancy = &v
  79993. return s
  79994. }
  79995. // SetInstanceType sets the InstanceType field's value.
  79996. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  79997. s.InstanceType = &v
  79998. return s
  79999. }
  80000. // SetOfferingClass sets the OfferingClass field's value.
  80001. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  80002. s.OfferingClass = &v
  80003. return s
  80004. }
  80005. // SetOfferingType sets the OfferingType field's value.
  80006. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  80007. s.OfferingType = &v
  80008. return s
  80009. }
  80010. // SetProductDescription sets the ProductDescription field's value.
  80011. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  80012. s.ProductDescription = &v
  80013. return s
  80014. }
  80015. // SetRecurringCharges sets the RecurringCharges field's value.
  80016. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  80017. s.RecurringCharges = v
  80018. return s
  80019. }
  80020. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  80021. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  80022. s.ReservedInstancesId = &v
  80023. return s
  80024. }
  80025. // SetScope sets the Scope field's value.
  80026. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  80027. s.Scope = &v
  80028. return s
  80029. }
  80030. // SetStart sets the Start field's value.
  80031. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  80032. s.Start = &v
  80033. return s
  80034. }
  80035. // SetState sets the State field's value.
  80036. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  80037. s.State = &v
  80038. return s
  80039. }
  80040. // SetTags sets the Tags field's value.
  80041. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  80042. s.Tags = v
  80043. return s
  80044. }
  80045. // SetUsagePrice sets the UsagePrice field's value.
  80046. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  80047. s.UsagePrice = &v
  80048. return s
  80049. }
  80050. // Describes the configuration settings for the modified Reserved Instances.
  80051. type ReservedInstancesConfiguration struct {
  80052. _ struct{} `type:"structure"`
  80053. // The Availability Zone for the modified Reserved Instances.
  80054. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  80055. // The number of modified Reserved Instances.
  80056. //
  80057. // This is a required field for a request.
  80058. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  80059. // The instance type for the modified Reserved Instances.
  80060. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  80061. // The network platform of the modified Reserved Instances, which is either
  80062. // EC2-Classic or EC2-VPC.
  80063. Platform *string `locationName:"platform" type:"string"`
  80064. // Whether the Reserved Instance is applied to instances in a Region or instances
  80065. // in a specific Availability Zone.
  80066. Scope *string `locationName:"scope" type:"string" enum:"Scope"`
  80067. }
  80068. // String returns the string representation
  80069. func (s ReservedInstancesConfiguration) String() string {
  80070. return awsutil.Prettify(s)
  80071. }
  80072. // GoString returns the string representation
  80073. func (s ReservedInstancesConfiguration) GoString() string {
  80074. return s.String()
  80075. }
  80076. // SetAvailabilityZone sets the AvailabilityZone field's value.
  80077. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  80078. s.AvailabilityZone = &v
  80079. return s
  80080. }
  80081. // SetInstanceCount sets the InstanceCount field's value.
  80082. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  80083. s.InstanceCount = &v
  80084. return s
  80085. }
  80086. // SetInstanceType sets the InstanceType field's value.
  80087. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  80088. s.InstanceType = &v
  80089. return s
  80090. }
  80091. // SetPlatform sets the Platform field's value.
  80092. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  80093. s.Platform = &v
  80094. return s
  80095. }
  80096. // SetScope sets the Scope field's value.
  80097. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  80098. s.Scope = &v
  80099. return s
  80100. }
  80101. // Describes the ID of a Reserved Instance.
  80102. type ReservedInstancesId struct {
  80103. _ struct{} `type:"structure"`
  80104. // The ID of the Reserved Instance.
  80105. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  80106. }
  80107. // String returns the string representation
  80108. func (s ReservedInstancesId) String() string {
  80109. return awsutil.Prettify(s)
  80110. }
  80111. // GoString returns the string representation
  80112. func (s ReservedInstancesId) GoString() string {
  80113. return s.String()
  80114. }
  80115. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  80116. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  80117. s.ReservedInstancesId = &v
  80118. return s
  80119. }
  80120. // Describes a Reserved Instance listing.
  80121. type ReservedInstancesListing struct {
  80122. _ struct{} `type:"structure"`
  80123. // A unique, case-sensitive key supplied by the client to ensure that the request
  80124. // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  80125. ClientToken *string `locationName:"clientToken" type:"string"`
  80126. // The time the listing was created.
  80127. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  80128. // The number of instances in this state.
  80129. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  80130. // The price of the Reserved Instance listing.
  80131. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  80132. // The ID of the Reserved Instance.
  80133. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  80134. // The ID of the Reserved Instance listing.
  80135. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  80136. // The status of the Reserved Instance listing.
  80137. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  80138. // The reason for the current status of the Reserved Instance listing. The response
  80139. // can be blank.
  80140. StatusMessage *string `locationName:"statusMessage" type:"string"`
  80141. // Any tags assigned to the resource.
  80142. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  80143. // The last modified timestamp of the listing.
  80144. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
  80145. }
  80146. // String returns the string representation
  80147. func (s ReservedInstancesListing) String() string {
  80148. return awsutil.Prettify(s)
  80149. }
  80150. // GoString returns the string representation
  80151. func (s ReservedInstancesListing) GoString() string {
  80152. return s.String()
  80153. }
  80154. // SetClientToken sets the ClientToken field's value.
  80155. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  80156. s.ClientToken = &v
  80157. return s
  80158. }
  80159. // SetCreateDate sets the CreateDate field's value.
  80160. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  80161. s.CreateDate = &v
  80162. return s
  80163. }
  80164. // SetInstanceCounts sets the InstanceCounts field's value.
  80165. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  80166. s.InstanceCounts = v
  80167. return s
  80168. }
  80169. // SetPriceSchedules sets the PriceSchedules field's value.
  80170. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  80171. s.PriceSchedules = v
  80172. return s
  80173. }
  80174. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  80175. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  80176. s.ReservedInstancesId = &v
  80177. return s
  80178. }
  80179. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  80180. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  80181. s.ReservedInstancesListingId = &v
  80182. return s
  80183. }
  80184. // SetStatus sets the Status field's value.
  80185. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  80186. s.Status = &v
  80187. return s
  80188. }
  80189. // SetStatusMessage sets the StatusMessage field's value.
  80190. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  80191. s.StatusMessage = &v
  80192. return s
  80193. }
  80194. // SetTags sets the Tags field's value.
  80195. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  80196. s.Tags = v
  80197. return s
  80198. }
  80199. // SetUpdateDate sets the UpdateDate field's value.
  80200. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  80201. s.UpdateDate = &v
  80202. return s
  80203. }
  80204. // Describes a Reserved Instance modification.
  80205. type ReservedInstancesModification struct {
  80206. _ struct{} `type:"structure"`
  80207. // A unique, case-sensitive key supplied by the client to ensure that the request
  80208. // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  80209. ClientToken *string `locationName:"clientToken" type:"string"`
  80210. // The time when the modification request was created.
  80211. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  80212. // The time for the modification to become effective.
  80213. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
  80214. // Contains target configurations along with their corresponding new Reserved
  80215. // Instance IDs.
  80216. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  80217. // The IDs of one or more Reserved Instances.
  80218. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  80219. // A unique ID for the Reserved Instance modification.
  80220. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  80221. // The status of the Reserved Instances modification request.
  80222. Status *string `locationName:"status" type:"string"`
  80223. // The reason for the status.
  80224. StatusMessage *string `locationName:"statusMessage" type:"string"`
  80225. // The time when the modification request was last updated.
  80226. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
  80227. }
  80228. // String returns the string representation
  80229. func (s ReservedInstancesModification) String() string {
  80230. return awsutil.Prettify(s)
  80231. }
  80232. // GoString returns the string representation
  80233. func (s ReservedInstancesModification) GoString() string {
  80234. return s.String()
  80235. }
  80236. // SetClientToken sets the ClientToken field's value.
  80237. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  80238. s.ClientToken = &v
  80239. return s
  80240. }
  80241. // SetCreateDate sets the CreateDate field's value.
  80242. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  80243. s.CreateDate = &v
  80244. return s
  80245. }
  80246. // SetEffectiveDate sets the EffectiveDate field's value.
  80247. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  80248. s.EffectiveDate = &v
  80249. return s
  80250. }
  80251. // SetModificationResults sets the ModificationResults field's value.
  80252. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  80253. s.ModificationResults = v
  80254. return s
  80255. }
  80256. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  80257. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  80258. s.ReservedInstancesIds = v
  80259. return s
  80260. }
  80261. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  80262. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  80263. s.ReservedInstancesModificationId = &v
  80264. return s
  80265. }
  80266. // SetStatus sets the Status field's value.
  80267. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  80268. s.Status = &v
  80269. return s
  80270. }
  80271. // SetStatusMessage sets the StatusMessage field's value.
  80272. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  80273. s.StatusMessage = &v
  80274. return s
  80275. }
  80276. // SetUpdateDate sets the UpdateDate field's value.
  80277. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  80278. s.UpdateDate = &v
  80279. return s
  80280. }
  80281. // Describes the modification request/s.
  80282. type ReservedInstancesModificationResult struct {
  80283. _ struct{} `type:"structure"`
  80284. // The ID for the Reserved Instances that were created as part of the modification
  80285. // request. This field is only available when the modification is fulfilled.
  80286. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  80287. // The target Reserved Instances configurations supplied as part of the modification
  80288. // request.
  80289. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  80290. }
  80291. // String returns the string representation
  80292. func (s ReservedInstancesModificationResult) String() string {
  80293. return awsutil.Prettify(s)
  80294. }
  80295. // GoString returns the string representation
  80296. func (s ReservedInstancesModificationResult) GoString() string {
  80297. return s.String()
  80298. }
  80299. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  80300. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  80301. s.ReservedInstancesId = &v
  80302. return s
  80303. }
  80304. // SetTargetConfiguration sets the TargetConfiguration field's value.
  80305. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  80306. s.TargetConfiguration = v
  80307. return s
  80308. }
  80309. // Describes a Reserved Instance offering.
  80310. type ReservedInstancesOffering struct {
  80311. _ struct{} `type:"structure"`
  80312. // The Availability Zone in which the Reserved Instance can be used.
  80313. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  80314. // The currency of the Reserved Instance offering you are purchasing. It's specified
  80315. // using ISO 4217 standard currency codes. At this time, the only supported
  80316. // currency is USD.
  80317. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  80318. // The duration of the Reserved Instance, in seconds.
  80319. Duration *int64 `locationName:"duration" type:"long"`
  80320. // The purchase price of the Reserved Instance.
  80321. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  80322. // The tenancy of the instance.
  80323. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  80324. // The instance type on which the Reserved Instance can be used.
  80325. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  80326. // Indicates whether the offering is available through the Reserved Instance
  80327. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  80328. // this is true.
  80329. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  80330. // If convertible it can be exchanged for Reserved Instances of the same or
  80331. // higher monetary value, with different configurations. If standard, it is
  80332. // not possible to perform an exchange.
  80333. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  80334. // The Reserved Instance offering type.
  80335. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  80336. // The pricing details of the Reserved Instance offering.
  80337. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  80338. // The Reserved Instance product platform description.
  80339. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  80340. // The recurring charge tag assigned to the resource.
  80341. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  80342. // The ID of the Reserved Instance offering. This is the offering ID used in
  80343. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  80344. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  80345. // Whether the Reserved Instance is applied to instances in a Region or an Availability
  80346. // Zone.
  80347. Scope *string `locationName:"scope" type:"string" enum:"Scope"`
  80348. // The usage price of the Reserved Instance, per hour.
  80349. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  80350. }
  80351. // String returns the string representation
  80352. func (s ReservedInstancesOffering) String() string {
  80353. return awsutil.Prettify(s)
  80354. }
  80355. // GoString returns the string representation
  80356. func (s ReservedInstancesOffering) GoString() string {
  80357. return s.String()
  80358. }
  80359. // SetAvailabilityZone sets the AvailabilityZone field's value.
  80360. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  80361. s.AvailabilityZone = &v
  80362. return s
  80363. }
  80364. // SetCurrencyCode sets the CurrencyCode field's value.
  80365. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  80366. s.CurrencyCode = &v
  80367. return s
  80368. }
  80369. // SetDuration sets the Duration field's value.
  80370. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  80371. s.Duration = &v
  80372. return s
  80373. }
  80374. // SetFixedPrice sets the FixedPrice field's value.
  80375. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  80376. s.FixedPrice = &v
  80377. return s
  80378. }
  80379. // SetInstanceTenancy sets the InstanceTenancy field's value.
  80380. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  80381. s.InstanceTenancy = &v
  80382. return s
  80383. }
  80384. // SetInstanceType sets the InstanceType field's value.
  80385. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  80386. s.InstanceType = &v
  80387. return s
  80388. }
  80389. // SetMarketplace sets the Marketplace field's value.
  80390. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  80391. s.Marketplace = &v
  80392. return s
  80393. }
  80394. // SetOfferingClass sets the OfferingClass field's value.
  80395. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  80396. s.OfferingClass = &v
  80397. return s
  80398. }
  80399. // SetOfferingType sets the OfferingType field's value.
  80400. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  80401. s.OfferingType = &v
  80402. return s
  80403. }
  80404. // SetPricingDetails sets the PricingDetails field's value.
  80405. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  80406. s.PricingDetails = v
  80407. return s
  80408. }
  80409. // SetProductDescription sets the ProductDescription field's value.
  80410. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  80411. s.ProductDescription = &v
  80412. return s
  80413. }
  80414. // SetRecurringCharges sets the RecurringCharges field's value.
  80415. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  80416. s.RecurringCharges = v
  80417. return s
  80418. }
  80419. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  80420. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  80421. s.ReservedInstancesOfferingId = &v
  80422. return s
  80423. }
  80424. // SetScope sets the Scope field's value.
  80425. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  80426. s.Scope = &v
  80427. return s
  80428. }
  80429. // SetUsagePrice sets the UsagePrice field's value.
  80430. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  80431. s.UsagePrice = &v
  80432. return s
  80433. }
  80434. type ResetEbsDefaultKmsKeyIdInput struct {
  80435. _ struct{} `type:"structure"`
  80436. // Checks whether you have the required permissions for the action, without
  80437. // actually making the request, and provides an error response. If you have
  80438. // the required permissions, the error response is DryRunOperation. Otherwise,
  80439. // it is UnauthorizedOperation.
  80440. DryRun *bool `type:"boolean"`
  80441. }
  80442. // String returns the string representation
  80443. func (s ResetEbsDefaultKmsKeyIdInput) String() string {
  80444. return awsutil.Prettify(s)
  80445. }
  80446. // GoString returns the string representation
  80447. func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
  80448. return s.String()
  80449. }
  80450. // SetDryRun sets the DryRun field's value.
  80451. func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
  80452. s.DryRun = &v
  80453. return s
  80454. }
  80455. type ResetEbsDefaultKmsKeyIdOutput struct {
  80456. _ struct{} `type:"structure"`
  80457. // The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.
  80458. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  80459. }
  80460. // String returns the string representation
  80461. func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
  80462. return awsutil.Prettify(s)
  80463. }
  80464. // GoString returns the string representation
  80465. func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
  80466. return s.String()
  80467. }
  80468. // SetKmsKeyId sets the KmsKeyId field's value.
  80469. func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
  80470. s.KmsKeyId = &v
  80471. return s
  80472. }
  80473. type ResetFpgaImageAttributeInput struct {
  80474. _ struct{} `type:"structure"`
  80475. // The attribute.
  80476. Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
  80477. // Checks whether you have the required permissions for the action, without
  80478. // actually making the request, and provides an error response. If you have
  80479. // the required permissions, the error response is DryRunOperation. Otherwise,
  80480. // it is UnauthorizedOperation.
  80481. DryRun *bool `type:"boolean"`
  80482. // The ID of the AFI.
  80483. //
  80484. // FpgaImageId is a required field
  80485. FpgaImageId *string `type:"string" required:"true"`
  80486. }
  80487. // String returns the string representation
  80488. func (s ResetFpgaImageAttributeInput) String() string {
  80489. return awsutil.Prettify(s)
  80490. }
  80491. // GoString returns the string representation
  80492. func (s ResetFpgaImageAttributeInput) GoString() string {
  80493. return s.String()
  80494. }
  80495. // Validate inspects the fields of the type to determine if they are valid.
  80496. func (s *ResetFpgaImageAttributeInput) Validate() error {
  80497. invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
  80498. if s.FpgaImageId == nil {
  80499. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  80500. }
  80501. if invalidParams.Len() > 0 {
  80502. return invalidParams
  80503. }
  80504. return nil
  80505. }
  80506. // SetAttribute sets the Attribute field's value.
  80507. func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
  80508. s.Attribute = &v
  80509. return s
  80510. }
  80511. // SetDryRun sets the DryRun field's value.
  80512. func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
  80513. s.DryRun = &v
  80514. return s
  80515. }
  80516. // SetFpgaImageId sets the FpgaImageId field's value.
  80517. func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
  80518. s.FpgaImageId = &v
  80519. return s
  80520. }
  80521. type ResetFpgaImageAttributeOutput struct {
  80522. _ struct{} `type:"structure"`
  80523. // Is true if the request succeeds, and an error otherwise.
  80524. Return *bool `locationName:"return" type:"boolean"`
  80525. }
  80526. // String returns the string representation
  80527. func (s ResetFpgaImageAttributeOutput) String() string {
  80528. return awsutil.Prettify(s)
  80529. }
  80530. // GoString returns the string representation
  80531. func (s ResetFpgaImageAttributeOutput) GoString() string {
  80532. return s.String()
  80533. }
  80534. // SetReturn sets the Return field's value.
  80535. func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
  80536. s.Return = &v
  80537. return s
  80538. }
  80539. // Contains the parameters for ResetImageAttribute.
  80540. type ResetImageAttributeInput struct {
  80541. _ struct{} `type:"structure"`
  80542. // The attribute to reset (currently you can only reset the launch permission
  80543. // attribute).
  80544. //
  80545. // Attribute is a required field
  80546. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  80547. // Checks whether you have the required permissions for the action, without
  80548. // actually making the request, and provides an error response. If you have
  80549. // the required permissions, the error response is DryRunOperation. Otherwise,
  80550. // it is UnauthorizedOperation.
  80551. DryRun *bool `locationName:"dryRun" type:"boolean"`
  80552. // The ID of the AMI.
  80553. //
  80554. // ImageId is a required field
  80555. ImageId *string `type:"string" required:"true"`
  80556. }
  80557. // String returns the string representation
  80558. func (s ResetImageAttributeInput) String() string {
  80559. return awsutil.Prettify(s)
  80560. }
  80561. // GoString returns the string representation
  80562. func (s ResetImageAttributeInput) GoString() string {
  80563. return s.String()
  80564. }
  80565. // Validate inspects the fields of the type to determine if they are valid.
  80566. func (s *ResetImageAttributeInput) Validate() error {
  80567. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  80568. if s.Attribute == nil {
  80569. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  80570. }
  80571. if s.ImageId == nil {
  80572. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  80573. }
  80574. if invalidParams.Len() > 0 {
  80575. return invalidParams
  80576. }
  80577. return nil
  80578. }
  80579. // SetAttribute sets the Attribute field's value.
  80580. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  80581. s.Attribute = &v
  80582. return s
  80583. }
  80584. // SetDryRun sets the DryRun field's value.
  80585. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  80586. s.DryRun = &v
  80587. return s
  80588. }
  80589. // SetImageId sets the ImageId field's value.
  80590. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  80591. s.ImageId = &v
  80592. return s
  80593. }
  80594. type ResetImageAttributeOutput struct {
  80595. _ struct{} `type:"structure"`
  80596. }
  80597. // String returns the string representation
  80598. func (s ResetImageAttributeOutput) String() string {
  80599. return awsutil.Prettify(s)
  80600. }
  80601. // GoString returns the string representation
  80602. func (s ResetImageAttributeOutput) GoString() string {
  80603. return s.String()
  80604. }
  80605. type ResetInstanceAttributeInput struct {
  80606. _ struct{} `type:"structure"`
  80607. // The attribute to reset.
  80608. //
  80609. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  80610. // To change an instance attribute, use ModifyInstanceAttribute.
  80611. //
  80612. // Attribute is a required field
  80613. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  80614. // Checks whether you have the required permissions for the action, without
  80615. // actually making the request, and provides an error response. If you have
  80616. // the required permissions, the error response is DryRunOperation. Otherwise,
  80617. // it is UnauthorizedOperation.
  80618. DryRun *bool `locationName:"dryRun" type:"boolean"`
  80619. // The ID of the instance.
  80620. //
  80621. // InstanceId is a required field
  80622. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  80623. }
  80624. // String returns the string representation
  80625. func (s ResetInstanceAttributeInput) String() string {
  80626. return awsutil.Prettify(s)
  80627. }
  80628. // GoString returns the string representation
  80629. func (s ResetInstanceAttributeInput) GoString() string {
  80630. return s.String()
  80631. }
  80632. // Validate inspects the fields of the type to determine if they are valid.
  80633. func (s *ResetInstanceAttributeInput) Validate() error {
  80634. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  80635. if s.Attribute == nil {
  80636. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  80637. }
  80638. if s.InstanceId == nil {
  80639. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  80640. }
  80641. if invalidParams.Len() > 0 {
  80642. return invalidParams
  80643. }
  80644. return nil
  80645. }
  80646. // SetAttribute sets the Attribute field's value.
  80647. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  80648. s.Attribute = &v
  80649. return s
  80650. }
  80651. // SetDryRun sets the DryRun field's value.
  80652. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  80653. s.DryRun = &v
  80654. return s
  80655. }
  80656. // SetInstanceId sets the InstanceId field's value.
  80657. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  80658. s.InstanceId = &v
  80659. return s
  80660. }
  80661. type ResetInstanceAttributeOutput struct {
  80662. _ struct{} `type:"structure"`
  80663. }
  80664. // String returns the string representation
  80665. func (s ResetInstanceAttributeOutput) String() string {
  80666. return awsutil.Prettify(s)
  80667. }
  80668. // GoString returns the string representation
  80669. func (s ResetInstanceAttributeOutput) GoString() string {
  80670. return s.String()
  80671. }
  80672. // Contains the parameters for ResetNetworkInterfaceAttribute.
  80673. type ResetNetworkInterfaceAttributeInput struct {
  80674. _ struct{} `type:"structure"`
  80675. // Checks whether you have the required permissions for the action, without
  80676. // actually making the request, and provides an error response. If you have
  80677. // the required permissions, the error response is DryRunOperation. Otherwise,
  80678. // it is UnauthorizedOperation.
  80679. DryRun *bool `locationName:"dryRun" type:"boolean"`
  80680. // The ID of the network interface.
  80681. //
  80682. // NetworkInterfaceId is a required field
  80683. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  80684. // The source/destination checking attribute. Resets the value to true.
  80685. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  80686. }
  80687. // String returns the string representation
  80688. func (s ResetNetworkInterfaceAttributeInput) String() string {
  80689. return awsutil.Prettify(s)
  80690. }
  80691. // GoString returns the string representation
  80692. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  80693. return s.String()
  80694. }
  80695. // Validate inspects the fields of the type to determine if they are valid.
  80696. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  80697. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  80698. if s.NetworkInterfaceId == nil {
  80699. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  80700. }
  80701. if invalidParams.Len() > 0 {
  80702. return invalidParams
  80703. }
  80704. return nil
  80705. }
  80706. // SetDryRun sets the DryRun field's value.
  80707. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  80708. s.DryRun = &v
  80709. return s
  80710. }
  80711. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  80712. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  80713. s.NetworkInterfaceId = &v
  80714. return s
  80715. }
  80716. // SetSourceDestCheck sets the SourceDestCheck field's value.
  80717. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  80718. s.SourceDestCheck = &v
  80719. return s
  80720. }
  80721. type ResetNetworkInterfaceAttributeOutput struct {
  80722. _ struct{} `type:"structure"`
  80723. }
  80724. // String returns the string representation
  80725. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  80726. return awsutil.Prettify(s)
  80727. }
  80728. // GoString returns the string representation
  80729. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  80730. return s.String()
  80731. }
  80732. type ResetSnapshotAttributeInput struct {
  80733. _ struct{} `type:"structure"`
  80734. // The attribute to reset. Currently, only the attribute for permission to create
  80735. // volumes can be reset.
  80736. //
  80737. // Attribute is a required field
  80738. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  80739. // Checks whether you have the required permissions for the action, without
  80740. // actually making the request, and provides an error response. If you have
  80741. // the required permissions, the error response is DryRunOperation. Otherwise,
  80742. // it is UnauthorizedOperation.
  80743. DryRun *bool `locationName:"dryRun" type:"boolean"`
  80744. // The ID of the snapshot.
  80745. //
  80746. // SnapshotId is a required field
  80747. SnapshotId *string `type:"string" required:"true"`
  80748. }
  80749. // String returns the string representation
  80750. func (s ResetSnapshotAttributeInput) String() string {
  80751. return awsutil.Prettify(s)
  80752. }
  80753. // GoString returns the string representation
  80754. func (s ResetSnapshotAttributeInput) GoString() string {
  80755. return s.String()
  80756. }
  80757. // Validate inspects the fields of the type to determine if they are valid.
  80758. func (s *ResetSnapshotAttributeInput) Validate() error {
  80759. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  80760. if s.Attribute == nil {
  80761. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  80762. }
  80763. if s.SnapshotId == nil {
  80764. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  80765. }
  80766. if invalidParams.Len() > 0 {
  80767. return invalidParams
  80768. }
  80769. return nil
  80770. }
  80771. // SetAttribute sets the Attribute field's value.
  80772. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  80773. s.Attribute = &v
  80774. return s
  80775. }
  80776. // SetDryRun sets the DryRun field's value.
  80777. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  80778. s.DryRun = &v
  80779. return s
  80780. }
  80781. // SetSnapshotId sets the SnapshotId field's value.
  80782. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  80783. s.SnapshotId = &v
  80784. return s
  80785. }
  80786. type ResetSnapshotAttributeOutput struct {
  80787. _ struct{} `type:"structure"`
  80788. }
  80789. // String returns the string representation
  80790. func (s ResetSnapshotAttributeOutput) String() string {
  80791. return awsutil.Prettify(s)
  80792. }
  80793. // GoString returns the string representation
  80794. func (s ResetSnapshotAttributeOutput) GoString() string {
  80795. return s.String()
  80796. }
  80797. // Describes the error that's returned when you cannot delete a launch template
  80798. // version.
  80799. type ResponseError struct {
  80800. _ struct{} `type:"structure"`
  80801. // The error code.
  80802. Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
  80803. // The error message, if applicable.
  80804. Message *string `locationName:"message" type:"string"`
  80805. }
  80806. // String returns the string representation
  80807. func (s ResponseError) String() string {
  80808. return awsutil.Prettify(s)
  80809. }
  80810. // GoString returns the string representation
  80811. func (s ResponseError) GoString() string {
  80812. return s.String()
  80813. }
  80814. // SetCode sets the Code field's value.
  80815. func (s *ResponseError) SetCode(v string) *ResponseError {
  80816. s.Code = &v
  80817. return s
  80818. }
  80819. // SetMessage sets the Message field's value.
  80820. func (s *ResponseError) SetMessage(v string) *ResponseError {
  80821. s.Message = &v
  80822. return s
  80823. }
  80824. // The information for a launch template.
  80825. type ResponseLaunchTemplateData struct {
  80826. _ struct{} `type:"structure"`
  80827. // The block device mappings.
  80828. BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
  80829. // Information about the Capacity Reservation targeting option.
  80830. CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
  80831. // The CPU options for the instance. For more information, see Optimizing CPU
  80832. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  80833. // in the Amazon Elastic Compute Cloud User Guide.
  80834. CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
  80835. // The credit option for CPU usage of the instance.
  80836. CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
  80837. // If set to true, indicates that the instance cannot be terminated using the
  80838. // Amazon EC2 console, command line tool, or API.
  80839. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  80840. // Indicates whether the instance is optimized for Amazon EBS I/O.
  80841. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  80842. // The elastic GPU specification.
  80843. ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
  80844. // The elastic inference accelerator for the instance.
  80845. ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
  80846. // Indicates whether an instance is configured for hibernation. For more information,
  80847. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  80848. // in the Amazon Elastic Compute Cloud User Guide.
  80849. HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
  80850. // The IAM instance profile.
  80851. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  80852. // The ID of the AMI that was used to launch the instance.
  80853. ImageId *string `locationName:"imageId" type:"string"`
  80854. // Indicates whether an instance stops or terminates when you initiate shutdown
  80855. // from the instance (using the operating system command for system shutdown).
  80856. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  80857. // The market (purchasing) option for the instances.
  80858. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
  80859. // The instance type.
  80860. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  80861. // The ID of the kernel, if applicable.
  80862. KernelId *string `locationName:"kernelId" type:"string"`
  80863. // The name of the key pair.
  80864. KeyName *string `locationName:"keyName" type:"string"`
  80865. // The license configurations.
  80866. LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
  80867. // The metadata options for the instance. For more information, see Instance
  80868. // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
  80869. // in the Amazon Elastic Compute Cloud User Guide.
  80870. MetadataOptions *LaunchTemplateInstanceMetadataOptions `locationName:"metadataOptions" type:"structure"`
  80871. // The monitoring for the instance.
  80872. Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
  80873. // The network interfaces.
  80874. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  80875. // The placement of the instance.
  80876. Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
  80877. // The ID of the RAM disk, if applicable.
  80878. RamDiskId *string `locationName:"ramDiskId" type:"string"`
  80879. // The security group IDs.
  80880. SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
  80881. // The security group names.
  80882. SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
  80883. // The tags.
  80884. TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  80885. // The user data for the instance.
  80886. UserData *string `locationName:"userData" type:"string"`
  80887. }
  80888. // String returns the string representation
  80889. func (s ResponseLaunchTemplateData) String() string {
  80890. return awsutil.Prettify(s)
  80891. }
  80892. // GoString returns the string representation
  80893. func (s ResponseLaunchTemplateData) GoString() string {
  80894. return s.String()
  80895. }
  80896. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  80897. func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
  80898. s.BlockDeviceMappings = v
  80899. return s
  80900. }
  80901. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  80902. func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
  80903. s.CapacityReservationSpecification = v
  80904. return s
  80905. }
  80906. // SetCpuOptions sets the CpuOptions field's value.
  80907. func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
  80908. s.CpuOptions = v
  80909. return s
  80910. }
  80911. // SetCreditSpecification sets the CreditSpecification field's value.
  80912. func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
  80913. s.CreditSpecification = v
  80914. return s
  80915. }
  80916. // SetDisableApiTermination sets the DisableApiTermination field's value.
  80917. func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
  80918. s.DisableApiTermination = &v
  80919. return s
  80920. }
  80921. // SetEbsOptimized sets the EbsOptimized field's value.
  80922. func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
  80923. s.EbsOptimized = &v
  80924. return s
  80925. }
  80926. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  80927. func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
  80928. s.ElasticGpuSpecifications = v
  80929. return s
  80930. }
  80931. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  80932. func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
  80933. s.ElasticInferenceAccelerators = v
  80934. return s
  80935. }
  80936. // SetHibernationOptions sets the HibernationOptions field's value.
  80937. func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
  80938. s.HibernationOptions = v
  80939. return s
  80940. }
  80941. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  80942. func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
  80943. s.IamInstanceProfile = v
  80944. return s
  80945. }
  80946. // SetImageId sets the ImageId field's value.
  80947. func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
  80948. s.ImageId = &v
  80949. return s
  80950. }
  80951. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  80952. func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
  80953. s.InstanceInitiatedShutdownBehavior = &v
  80954. return s
  80955. }
  80956. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  80957. func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
  80958. s.InstanceMarketOptions = v
  80959. return s
  80960. }
  80961. // SetInstanceType sets the InstanceType field's value.
  80962. func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
  80963. s.InstanceType = &v
  80964. return s
  80965. }
  80966. // SetKernelId sets the KernelId field's value.
  80967. func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
  80968. s.KernelId = &v
  80969. return s
  80970. }
  80971. // SetKeyName sets the KeyName field's value.
  80972. func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
  80973. s.KeyName = &v
  80974. return s
  80975. }
  80976. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  80977. func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
  80978. s.LicenseSpecifications = v
  80979. return s
  80980. }
  80981. // SetMetadataOptions sets the MetadataOptions field's value.
  80982. func (s *ResponseLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptions) *ResponseLaunchTemplateData {
  80983. s.MetadataOptions = v
  80984. return s
  80985. }
  80986. // SetMonitoring sets the Monitoring field's value.
  80987. func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
  80988. s.Monitoring = v
  80989. return s
  80990. }
  80991. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  80992. func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
  80993. s.NetworkInterfaces = v
  80994. return s
  80995. }
  80996. // SetPlacement sets the Placement field's value.
  80997. func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
  80998. s.Placement = v
  80999. return s
  81000. }
  81001. // SetRamDiskId sets the RamDiskId field's value.
  81002. func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
  81003. s.RamDiskId = &v
  81004. return s
  81005. }
  81006. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  81007. func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
  81008. s.SecurityGroupIds = v
  81009. return s
  81010. }
  81011. // SetSecurityGroups sets the SecurityGroups field's value.
  81012. func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
  81013. s.SecurityGroups = v
  81014. return s
  81015. }
  81016. // SetTagSpecifications sets the TagSpecifications field's value.
  81017. func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
  81018. s.TagSpecifications = v
  81019. return s
  81020. }
  81021. // SetUserData sets the UserData field's value.
  81022. func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
  81023. s.UserData = &v
  81024. return s
  81025. }
  81026. type RestoreAddressToClassicInput struct {
  81027. _ struct{} `type:"structure"`
  81028. // Checks whether you have the required permissions for the action, without
  81029. // actually making the request, and provides an error response. If you have
  81030. // the required permissions, the error response is DryRunOperation. Otherwise,
  81031. // it is UnauthorizedOperation.
  81032. DryRun *bool `locationName:"dryRun" type:"boolean"`
  81033. // The Elastic IP address.
  81034. //
  81035. // PublicIp is a required field
  81036. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  81037. }
  81038. // String returns the string representation
  81039. func (s RestoreAddressToClassicInput) String() string {
  81040. return awsutil.Prettify(s)
  81041. }
  81042. // GoString returns the string representation
  81043. func (s RestoreAddressToClassicInput) GoString() string {
  81044. return s.String()
  81045. }
  81046. // Validate inspects the fields of the type to determine if they are valid.
  81047. func (s *RestoreAddressToClassicInput) Validate() error {
  81048. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  81049. if s.PublicIp == nil {
  81050. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  81051. }
  81052. if invalidParams.Len() > 0 {
  81053. return invalidParams
  81054. }
  81055. return nil
  81056. }
  81057. // SetDryRun sets the DryRun field's value.
  81058. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  81059. s.DryRun = &v
  81060. return s
  81061. }
  81062. // SetPublicIp sets the PublicIp field's value.
  81063. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  81064. s.PublicIp = &v
  81065. return s
  81066. }
  81067. type RestoreAddressToClassicOutput struct {
  81068. _ struct{} `type:"structure"`
  81069. // The Elastic IP address.
  81070. PublicIp *string `locationName:"publicIp" type:"string"`
  81071. // The move status for the IP address.
  81072. Status *string `locationName:"status" type:"string" enum:"Status"`
  81073. }
  81074. // String returns the string representation
  81075. func (s RestoreAddressToClassicOutput) String() string {
  81076. return awsutil.Prettify(s)
  81077. }
  81078. // GoString returns the string representation
  81079. func (s RestoreAddressToClassicOutput) GoString() string {
  81080. return s.String()
  81081. }
  81082. // SetPublicIp sets the PublicIp field's value.
  81083. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  81084. s.PublicIp = &v
  81085. return s
  81086. }
  81087. // SetStatus sets the Status field's value.
  81088. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  81089. s.Status = &v
  81090. return s
  81091. }
  81092. type RevokeClientVpnIngressInput struct {
  81093. _ struct{} `type:"structure"`
  81094. // The ID of the Active Directory group for which to revoke access.
  81095. AccessGroupId *string `type:"string"`
  81096. // The ID of the Client VPN endpoint with which the authorization rule is associated.
  81097. //
  81098. // ClientVpnEndpointId is a required field
  81099. ClientVpnEndpointId *string `type:"string" required:"true"`
  81100. // Checks whether you have the required permissions for the action, without
  81101. // actually making the request, and provides an error response. If you have
  81102. // the required permissions, the error response is DryRunOperation. Otherwise,
  81103. // it is UnauthorizedOperation.
  81104. DryRun *bool `type:"boolean"`
  81105. // Indicates whether access should be revoked for all clients.
  81106. RevokeAllGroups *bool `type:"boolean"`
  81107. // The IPv4 address range, in CIDR notation, of the network for which access
  81108. // is being removed.
  81109. //
  81110. // TargetNetworkCidr is a required field
  81111. TargetNetworkCidr *string `type:"string" required:"true"`
  81112. }
  81113. // String returns the string representation
  81114. func (s RevokeClientVpnIngressInput) String() string {
  81115. return awsutil.Prettify(s)
  81116. }
  81117. // GoString returns the string representation
  81118. func (s RevokeClientVpnIngressInput) GoString() string {
  81119. return s.String()
  81120. }
  81121. // Validate inspects the fields of the type to determine if they are valid.
  81122. func (s *RevokeClientVpnIngressInput) Validate() error {
  81123. invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
  81124. if s.ClientVpnEndpointId == nil {
  81125. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  81126. }
  81127. if s.TargetNetworkCidr == nil {
  81128. invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
  81129. }
  81130. if invalidParams.Len() > 0 {
  81131. return invalidParams
  81132. }
  81133. return nil
  81134. }
  81135. // SetAccessGroupId sets the AccessGroupId field's value.
  81136. func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
  81137. s.AccessGroupId = &v
  81138. return s
  81139. }
  81140. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  81141. func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
  81142. s.ClientVpnEndpointId = &v
  81143. return s
  81144. }
  81145. // SetDryRun sets the DryRun field's value.
  81146. func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
  81147. s.DryRun = &v
  81148. return s
  81149. }
  81150. // SetRevokeAllGroups sets the RevokeAllGroups field's value.
  81151. func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
  81152. s.RevokeAllGroups = &v
  81153. return s
  81154. }
  81155. // SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
  81156. func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
  81157. s.TargetNetworkCidr = &v
  81158. return s
  81159. }
  81160. type RevokeClientVpnIngressOutput struct {
  81161. _ struct{} `type:"structure"`
  81162. // The current state of the authorization rule.
  81163. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  81164. }
  81165. // String returns the string representation
  81166. func (s RevokeClientVpnIngressOutput) String() string {
  81167. return awsutil.Prettify(s)
  81168. }
  81169. // GoString returns the string representation
  81170. func (s RevokeClientVpnIngressOutput) GoString() string {
  81171. return s.String()
  81172. }
  81173. // SetStatus sets the Status field's value.
  81174. func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
  81175. s.Status = v
  81176. return s
  81177. }
  81178. type RevokeSecurityGroupEgressInput struct {
  81179. _ struct{} `type:"structure"`
  81180. // Not supported. Use a set of IP permissions to specify the CIDR.
  81181. CidrIp *string `locationName:"cidrIp" type:"string"`
  81182. // Checks whether you have the required permissions for the action, without
  81183. // actually making the request, and provides an error response. If you have
  81184. // the required permissions, the error response is DryRunOperation. Otherwise,
  81185. // it is UnauthorizedOperation.
  81186. DryRun *bool `locationName:"dryRun" type:"boolean"`
  81187. // Not supported. Use a set of IP permissions to specify the port.
  81188. FromPort *int64 `locationName:"fromPort" type:"integer"`
  81189. // The ID of the security group.
  81190. //
  81191. // GroupId is a required field
  81192. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  81193. // The sets of IP permissions. You can't specify a destination security group
  81194. // and a CIDR IP address range in the same set of permissions.
  81195. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  81196. // Not supported. Use a set of IP permissions to specify the protocol name or
  81197. // number.
  81198. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  81199. // Not supported. Use a set of IP permissions to specify a destination security
  81200. // group.
  81201. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  81202. // Not supported. Use a set of IP permissions to specify a destination security
  81203. // group.
  81204. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  81205. // Not supported. Use a set of IP permissions to specify the port.
  81206. ToPort *int64 `locationName:"toPort" type:"integer"`
  81207. }
  81208. // String returns the string representation
  81209. func (s RevokeSecurityGroupEgressInput) String() string {
  81210. return awsutil.Prettify(s)
  81211. }
  81212. // GoString returns the string representation
  81213. func (s RevokeSecurityGroupEgressInput) GoString() string {
  81214. return s.String()
  81215. }
  81216. // Validate inspects the fields of the type to determine if they are valid.
  81217. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  81218. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  81219. if s.GroupId == nil {
  81220. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  81221. }
  81222. if invalidParams.Len() > 0 {
  81223. return invalidParams
  81224. }
  81225. return nil
  81226. }
  81227. // SetCidrIp sets the CidrIp field's value.
  81228. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  81229. s.CidrIp = &v
  81230. return s
  81231. }
  81232. // SetDryRun sets the DryRun field's value.
  81233. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  81234. s.DryRun = &v
  81235. return s
  81236. }
  81237. // SetFromPort sets the FromPort field's value.
  81238. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  81239. s.FromPort = &v
  81240. return s
  81241. }
  81242. // SetGroupId sets the GroupId field's value.
  81243. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  81244. s.GroupId = &v
  81245. return s
  81246. }
  81247. // SetIpPermissions sets the IpPermissions field's value.
  81248. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  81249. s.IpPermissions = v
  81250. return s
  81251. }
  81252. // SetIpProtocol sets the IpProtocol field's value.
  81253. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  81254. s.IpProtocol = &v
  81255. return s
  81256. }
  81257. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  81258. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  81259. s.SourceSecurityGroupName = &v
  81260. return s
  81261. }
  81262. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  81263. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  81264. s.SourceSecurityGroupOwnerId = &v
  81265. return s
  81266. }
  81267. // SetToPort sets the ToPort field's value.
  81268. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  81269. s.ToPort = &v
  81270. return s
  81271. }
  81272. type RevokeSecurityGroupEgressOutput struct {
  81273. _ struct{} `type:"structure"`
  81274. }
  81275. // String returns the string representation
  81276. func (s RevokeSecurityGroupEgressOutput) String() string {
  81277. return awsutil.Prettify(s)
  81278. }
  81279. // GoString returns the string representation
  81280. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  81281. return s.String()
  81282. }
  81283. type RevokeSecurityGroupIngressInput struct {
  81284. _ struct{} `type:"structure"`
  81285. // The CIDR IP address range. You can't specify this parameter when specifying
  81286. // a source security group.
  81287. CidrIp *string `type:"string"`
  81288. // Checks whether you have the required permissions for the action, without
  81289. // actually making the request, and provides an error response. If you have
  81290. // the required permissions, the error response is DryRunOperation. Otherwise,
  81291. // it is UnauthorizedOperation.
  81292. DryRun *bool `locationName:"dryRun" type:"boolean"`
  81293. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  81294. // For the ICMP type number, use -1 to specify all ICMP types.
  81295. FromPort *int64 `type:"integer"`
  81296. // The ID of the security group. You must specify either the security group
  81297. // ID or the security group name in the request. For security groups in a nondefault
  81298. // VPC, you must specify the security group ID.
  81299. GroupId *string `type:"string"`
  81300. // [EC2-Classic, default VPC] The name of the security group. You must specify
  81301. // either the security group ID or the security group name in the request.
  81302. GroupName *string `type:"string"`
  81303. // The sets of IP permissions. You can't specify a source security group and
  81304. // a CIDR IP address range in the same set of permissions.
  81305. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  81306. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  81307. // Use -1 to specify all.
  81308. IpProtocol *string `type:"string"`
  81309. // [EC2-Classic, default VPC] The name of the source security group. You can't
  81310. // specify this parameter in combination with the following parameters: the
  81311. // CIDR IP address range, the start of the port range, the IP protocol, and
  81312. // the end of the port range. For EC2-VPC, the source security group must be
  81313. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  81314. // use a set of IP permissions instead.
  81315. SourceSecurityGroupName *string `type:"string"`
  81316. // [EC2-Classic] The AWS account ID of the source security group, if the source
  81317. // security group is in a different account. You can't specify this parameter
  81318. // in combination with the following parameters: the CIDR IP address range,
  81319. // the IP protocol, the start of the port range, and the end of the port range.
  81320. // To revoke a specific rule for an IP protocol and port range, use a set of
  81321. // IP permissions instead.
  81322. SourceSecurityGroupOwnerId *string `type:"string"`
  81323. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  81324. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  81325. ToPort *int64 `type:"integer"`
  81326. }
  81327. // String returns the string representation
  81328. func (s RevokeSecurityGroupIngressInput) String() string {
  81329. return awsutil.Prettify(s)
  81330. }
  81331. // GoString returns the string representation
  81332. func (s RevokeSecurityGroupIngressInput) GoString() string {
  81333. return s.String()
  81334. }
  81335. // SetCidrIp sets the CidrIp field's value.
  81336. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  81337. s.CidrIp = &v
  81338. return s
  81339. }
  81340. // SetDryRun sets the DryRun field's value.
  81341. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  81342. s.DryRun = &v
  81343. return s
  81344. }
  81345. // SetFromPort sets the FromPort field's value.
  81346. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  81347. s.FromPort = &v
  81348. return s
  81349. }
  81350. // SetGroupId sets the GroupId field's value.
  81351. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  81352. s.GroupId = &v
  81353. return s
  81354. }
  81355. // SetGroupName sets the GroupName field's value.
  81356. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  81357. s.GroupName = &v
  81358. return s
  81359. }
  81360. // SetIpPermissions sets the IpPermissions field's value.
  81361. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  81362. s.IpPermissions = v
  81363. return s
  81364. }
  81365. // SetIpProtocol sets the IpProtocol field's value.
  81366. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  81367. s.IpProtocol = &v
  81368. return s
  81369. }
  81370. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  81371. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  81372. s.SourceSecurityGroupName = &v
  81373. return s
  81374. }
  81375. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  81376. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  81377. s.SourceSecurityGroupOwnerId = &v
  81378. return s
  81379. }
  81380. // SetToPort sets the ToPort field's value.
  81381. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  81382. s.ToPort = &v
  81383. return s
  81384. }
  81385. type RevokeSecurityGroupIngressOutput struct {
  81386. _ struct{} `type:"structure"`
  81387. }
  81388. // String returns the string representation
  81389. func (s RevokeSecurityGroupIngressOutput) String() string {
  81390. return awsutil.Prettify(s)
  81391. }
  81392. // GoString returns the string representation
  81393. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  81394. return s.String()
  81395. }
  81396. // Describes a route in a route table.
  81397. type Route struct {
  81398. _ struct{} `type:"structure"`
  81399. // The IPv4 CIDR block used for the destination match.
  81400. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  81401. // The IPv6 CIDR block used for the destination match.
  81402. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  81403. // The prefix of the AWS service.
  81404. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  81405. // The ID of the egress-only internet gateway.
  81406. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  81407. // The ID of a gateway attached to your VPC.
  81408. GatewayId *string `locationName:"gatewayId" type:"string"`
  81409. // The ID of a NAT instance in your VPC.
  81410. InstanceId *string `locationName:"instanceId" type:"string"`
  81411. // The AWS account ID of the owner of the instance.
  81412. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  81413. // The ID of the local gateway.
  81414. LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
  81415. // The ID of a NAT gateway.
  81416. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  81417. // The ID of the network interface.
  81418. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  81419. // Describes how the route was created.
  81420. //
  81421. // * CreateRouteTable - The route was automatically created when the route
  81422. // table was created.
  81423. //
  81424. // * CreateRoute - The route was manually added to the route table.
  81425. //
  81426. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  81427. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  81428. // The state of the route. The blackhole state indicates that the route's target
  81429. // isn't available (for example, the specified gateway isn't attached to the
  81430. // VPC, or the specified NAT instance has been terminated).
  81431. State *string `locationName:"state" type:"string" enum:"RouteState"`
  81432. // The ID of a transit gateway.
  81433. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  81434. // The ID of a VPC peering connection.
  81435. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  81436. }
  81437. // String returns the string representation
  81438. func (s Route) String() string {
  81439. return awsutil.Prettify(s)
  81440. }
  81441. // GoString returns the string representation
  81442. func (s Route) GoString() string {
  81443. return s.String()
  81444. }
  81445. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  81446. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  81447. s.DestinationCidrBlock = &v
  81448. return s
  81449. }
  81450. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  81451. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  81452. s.DestinationIpv6CidrBlock = &v
  81453. return s
  81454. }
  81455. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  81456. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  81457. s.DestinationPrefixListId = &v
  81458. return s
  81459. }
  81460. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  81461. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  81462. s.EgressOnlyInternetGatewayId = &v
  81463. return s
  81464. }
  81465. // SetGatewayId sets the GatewayId field's value.
  81466. func (s *Route) SetGatewayId(v string) *Route {
  81467. s.GatewayId = &v
  81468. return s
  81469. }
  81470. // SetInstanceId sets the InstanceId field's value.
  81471. func (s *Route) SetInstanceId(v string) *Route {
  81472. s.InstanceId = &v
  81473. return s
  81474. }
  81475. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  81476. func (s *Route) SetInstanceOwnerId(v string) *Route {
  81477. s.InstanceOwnerId = &v
  81478. return s
  81479. }
  81480. // SetLocalGatewayId sets the LocalGatewayId field's value.
  81481. func (s *Route) SetLocalGatewayId(v string) *Route {
  81482. s.LocalGatewayId = &v
  81483. return s
  81484. }
  81485. // SetNatGatewayId sets the NatGatewayId field's value.
  81486. func (s *Route) SetNatGatewayId(v string) *Route {
  81487. s.NatGatewayId = &v
  81488. return s
  81489. }
  81490. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  81491. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  81492. s.NetworkInterfaceId = &v
  81493. return s
  81494. }
  81495. // SetOrigin sets the Origin field's value.
  81496. func (s *Route) SetOrigin(v string) *Route {
  81497. s.Origin = &v
  81498. return s
  81499. }
  81500. // SetState sets the State field's value.
  81501. func (s *Route) SetState(v string) *Route {
  81502. s.State = &v
  81503. return s
  81504. }
  81505. // SetTransitGatewayId sets the TransitGatewayId field's value.
  81506. func (s *Route) SetTransitGatewayId(v string) *Route {
  81507. s.TransitGatewayId = &v
  81508. return s
  81509. }
  81510. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  81511. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  81512. s.VpcPeeringConnectionId = &v
  81513. return s
  81514. }
  81515. // Describes a route table.
  81516. type RouteTable struct {
  81517. _ struct{} `type:"structure"`
  81518. // The associations between the route table and one or more subnets or a gateway.
  81519. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  81520. // The ID of the AWS account that owns the route table.
  81521. OwnerId *string `locationName:"ownerId" type:"string"`
  81522. // Any virtual private gateway (VGW) propagating routes.
  81523. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  81524. // The ID of the route table.
  81525. RouteTableId *string `locationName:"routeTableId" type:"string"`
  81526. // The routes in the route table.
  81527. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  81528. // Any tags assigned to the route table.
  81529. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  81530. // The ID of the VPC.
  81531. VpcId *string `locationName:"vpcId" type:"string"`
  81532. }
  81533. // String returns the string representation
  81534. func (s RouteTable) String() string {
  81535. return awsutil.Prettify(s)
  81536. }
  81537. // GoString returns the string representation
  81538. func (s RouteTable) GoString() string {
  81539. return s.String()
  81540. }
  81541. // SetAssociations sets the Associations field's value.
  81542. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  81543. s.Associations = v
  81544. return s
  81545. }
  81546. // SetOwnerId sets the OwnerId field's value.
  81547. func (s *RouteTable) SetOwnerId(v string) *RouteTable {
  81548. s.OwnerId = &v
  81549. return s
  81550. }
  81551. // SetPropagatingVgws sets the PropagatingVgws field's value.
  81552. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  81553. s.PropagatingVgws = v
  81554. return s
  81555. }
  81556. // SetRouteTableId sets the RouteTableId field's value.
  81557. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  81558. s.RouteTableId = &v
  81559. return s
  81560. }
  81561. // SetRoutes sets the Routes field's value.
  81562. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  81563. s.Routes = v
  81564. return s
  81565. }
  81566. // SetTags sets the Tags field's value.
  81567. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  81568. s.Tags = v
  81569. return s
  81570. }
  81571. // SetVpcId sets the VpcId field's value.
  81572. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  81573. s.VpcId = &v
  81574. return s
  81575. }
  81576. // Describes an association between a route table and a subnet or gateway.
  81577. type RouteTableAssociation struct {
  81578. _ struct{} `type:"structure"`
  81579. // The state of the association.
  81580. AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
  81581. // The ID of the internet gateway or virtual private gateway.
  81582. GatewayId *string `locationName:"gatewayId" type:"string"`
  81583. // Indicates whether this is the main route table.
  81584. Main *bool `locationName:"main" type:"boolean"`
  81585. // The ID of the association.
  81586. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  81587. // The ID of the route table.
  81588. RouteTableId *string `locationName:"routeTableId" type:"string"`
  81589. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  81590. SubnetId *string `locationName:"subnetId" type:"string"`
  81591. }
  81592. // String returns the string representation
  81593. func (s RouteTableAssociation) String() string {
  81594. return awsutil.Prettify(s)
  81595. }
  81596. // GoString returns the string representation
  81597. func (s RouteTableAssociation) GoString() string {
  81598. return s.String()
  81599. }
  81600. // SetAssociationState sets the AssociationState field's value.
  81601. func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
  81602. s.AssociationState = v
  81603. return s
  81604. }
  81605. // SetGatewayId sets the GatewayId field's value.
  81606. func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
  81607. s.GatewayId = &v
  81608. return s
  81609. }
  81610. // SetMain sets the Main field's value.
  81611. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  81612. s.Main = &v
  81613. return s
  81614. }
  81615. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  81616. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  81617. s.RouteTableAssociationId = &v
  81618. return s
  81619. }
  81620. // SetRouteTableId sets the RouteTableId field's value.
  81621. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  81622. s.RouteTableId = &v
  81623. return s
  81624. }
  81625. // SetSubnetId sets the SubnetId field's value.
  81626. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  81627. s.SubnetId = &v
  81628. return s
  81629. }
  81630. // Describes the state of an association between a route table and a subnet
  81631. // or gateway.
  81632. type RouteTableAssociationState struct {
  81633. _ struct{} `type:"structure"`
  81634. // The state of the association.
  81635. State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
  81636. // The status message, if applicable.
  81637. StatusMessage *string `locationName:"statusMessage" type:"string"`
  81638. }
  81639. // String returns the string representation
  81640. func (s RouteTableAssociationState) String() string {
  81641. return awsutil.Prettify(s)
  81642. }
  81643. // GoString returns the string representation
  81644. func (s RouteTableAssociationState) GoString() string {
  81645. return s.String()
  81646. }
  81647. // SetState sets the State field's value.
  81648. func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
  81649. s.State = &v
  81650. return s
  81651. }
  81652. // SetStatusMessage sets the StatusMessage field's value.
  81653. func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
  81654. s.StatusMessage = &v
  81655. return s
  81656. }
  81657. type RunInstancesInput struct {
  81658. _ struct{} `type:"structure"`
  81659. // Reserved.
  81660. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  81661. // The block device mapping entries.
  81662. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  81663. // Information about the Capacity Reservation targeting option. If you do not
  81664. // specify this parameter, the instance's Capacity Reservation preference defaults
  81665. // to open, which enables it to run in any open Capacity Reservation that has
  81666. // matching attributes (instance type, platform, Availability Zone).
  81667. CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
  81668. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  81669. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  81670. //
  81671. // Constraints: Maximum 64 ASCII characters
  81672. ClientToken *string `locationName:"clientToken" type:"string"`
  81673. // The CPU options for the instance. For more information, see Optimizing CPU
  81674. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  81675. // in the Amazon Elastic Compute Cloud User Guide.
  81676. CpuOptions *CpuOptionsRequest `type:"structure"`
  81677. // The credit option for CPU usage of the burstable performance instance. Valid
  81678. // values are standard and unlimited. To change this attribute after launch,
  81679. // use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
  81680. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  81681. // in the Amazon Elastic Compute Cloud User Guide.
  81682. //
  81683. // Default: standard (T2 instances) or unlimited (T3/T3a instances)
  81684. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  81685. // If you set this parameter to true, you can't terminate the instance using
  81686. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  81687. // after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
  81688. // Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
  81689. // you can terminate the instance by running the shutdown command from the instance.
  81690. //
  81691. // Default: false
  81692. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  81693. // Checks whether you have the required permissions for the action, without
  81694. // actually making the request, and provides an error response. If you have
  81695. // the required permissions, the error response is DryRunOperation. Otherwise,
  81696. // it is UnauthorizedOperation.
  81697. DryRun *bool `locationName:"dryRun" type:"boolean"`
  81698. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  81699. // provides dedicated throughput to Amazon EBS and an optimized configuration
  81700. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  81701. // available with all instance types. Additional usage charges apply when using
  81702. // an EBS-optimized instance.
  81703. //
  81704. // Default: false
  81705. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  81706. // An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
  81707. // that you can attach to your Windows instance to accelerate the graphics performance
  81708. // of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
  81709. // in the Amazon Elastic Compute Cloud User Guide.
  81710. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
  81711. // An elastic inference accelerator to associate with the instance. Elastic
  81712. // inference accelerators are a resource you can attach to your Amazon EC2 instances
  81713. // to accelerate your Deep Learning (DL) inference workloads.
  81714. ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
  81715. // Indicates whether an instance is enabled for hibernation. For more information,
  81716. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  81717. // in the Amazon Elastic Compute Cloud User Guide.
  81718. HibernationOptions *HibernationOptionsRequest `type:"structure"`
  81719. // The IAM instance profile.
  81720. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  81721. // The ID of the AMI. An AMI ID is required to launch an instance and must be
  81722. // specified here or in a launch template.
  81723. ImageId *string `type:"string"`
  81724. // Indicates whether an instance stops or terminates when you initiate shutdown
  81725. // from the instance (using the operating system command for system shutdown).
  81726. //
  81727. // Default: stop
  81728. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  81729. // The market (purchasing) option for the instances.
  81730. //
  81731. // For RunInstances, persistent Spot Instance requests are only supported when
  81732. // InstanceInterruptionBehavior is set to either hibernate or stop.
  81733. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
  81734. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  81735. // in the Amazon Elastic Compute Cloud User Guide.
  81736. //
  81737. // Default: m1.small
  81738. InstanceType *string `type:"string" enum:"InstanceType"`
  81739. // [EC2-VPC] The number of IPv6 addresses to associate with the primary network
  81740. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  81741. // You cannot specify this option and the option to assign specific IPv6 addresses
  81742. // in the same request. You can specify this option if you've specified a minimum
  81743. // number of instances to launch.
  81744. //
  81745. // You cannot specify this option and the network interfaces option in the same
  81746. // request.
  81747. Ipv6AddressCount *int64 `type:"integer"`
  81748. // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
  81749. // the primary network interface. You cannot specify this option and the option
  81750. // to assign a number of IPv6 addresses in the same request. You cannot specify
  81751. // this option if you've specified a minimum number of instances to launch.
  81752. //
  81753. // You cannot specify this option and the network interfaces option in the same
  81754. // request.
  81755. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  81756. // The ID of the kernel.
  81757. //
  81758. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  81759. // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  81760. // in the Amazon Elastic Compute Cloud User Guide.
  81761. KernelId *string `type:"string"`
  81762. // The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
  81763. // or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
  81764. //
  81765. // If you do not specify a key pair, you can't connect to the instance unless
  81766. // you choose an AMI that is configured to allow users another way to log in.
  81767. KeyName *string `type:"string"`
  81768. // The launch template to use to launch the instances. Any parameters that you
  81769. // specify in RunInstances override the same parameters in the launch template.
  81770. // You can specify either the name or ID of a launch template, but not both.
  81771. LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
  81772. // The license configurations.
  81773. LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
  81774. // The maximum number of instances to launch. If you specify more instances
  81775. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  81776. // the largest possible number of instances above MinCount.
  81777. //
  81778. // Constraints: Between 1 and the maximum number you're allowed for the specified
  81779. // instance type. For more information about the default limits, and how to
  81780. // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
  81781. // in the Amazon EC2 FAQ.
  81782. //
  81783. // MaxCount is a required field
  81784. MaxCount *int64 `type:"integer" required:"true"`
  81785. // The metadata options for the instance. For more information, see Instance
  81786. // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
  81787. MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"`
  81788. // The minimum number of instances to launch. If you specify a minimum that
  81789. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  81790. // Amazon EC2 launches no instances.
  81791. //
  81792. // Constraints: Between 1 and the maximum number you're allowed for the specified
  81793. // instance type. For more information about the default limits, and how to
  81794. // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
  81795. // in the Amazon EC2 General FAQ.
  81796. //
  81797. // MinCount is a required field
  81798. MinCount *int64 `type:"integer" required:"true"`
  81799. // Specifies whether detailed monitoring is enabled for the instance.
  81800. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  81801. // The network interfaces to associate with the instance. If you specify a network
  81802. // interface, you must specify any security groups and subnets as part of the
  81803. // network interface.
  81804. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  81805. // The placement for the instance.
  81806. Placement *Placement `type:"structure"`
  81807. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  81808. // address range of the subnet.
  81809. //
  81810. // Only one private IP address can be designated as primary. You can't specify
  81811. // this option if you've specified the option to designate a private IP address
  81812. // as the primary IP address in a network interface specification. You cannot
  81813. // specify this option if you're launching more than one instance in the request.
  81814. //
  81815. // You cannot specify this option and the network interfaces option in the same
  81816. // request.
  81817. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  81818. // The ID of the RAM disk to select. Some kernels require additional drivers
  81819. // at launch. Check the kernel requirements for information about whether you
  81820. // need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
  81821. // Center and search for the kernel ID.
  81822. //
  81823. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  81824. // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  81825. // in the Amazon Elastic Compute Cloud User Guide.
  81826. RamdiskId *string `type:"string"`
  81827. // The IDs of the security groups. You can create a security group using CreateSecurityGroup
  81828. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
  81829. //
  81830. // If you specify a network interface, you must specify any security groups
  81831. // as part of the network interface.
  81832. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  81833. // [EC2-Classic, default VPC] The names of the security groups. For a nondefault
  81834. // VPC, you must use security group IDs instead.
  81835. //
  81836. // If you specify a network interface, you must specify any security groups
  81837. // as part of the network interface.
  81838. //
  81839. // Default: Amazon EC2 uses the default security group.
  81840. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  81841. // [EC2-VPC] The ID of the subnet to launch the instance into.
  81842. //
  81843. // If you specify a network interface, you must specify any subnets as part
  81844. // of the network interface.
  81845. SubnetId *string `type:"string"`
  81846. // The tags to apply to the resources during launch. You can only tag instances
  81847. // and volumes on launch. The specified tags are applied to all instances or
  81848. // volumes that are created during launch. To tag a resource after it has been
  81849. // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
  81850. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  81851. // The user data to make available to the instance. For more information, see
  81852. // Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  81853. // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  81854. // (Windows). If you are using a command line tool, base64-encoding is performed
  81855. // for you, and you can load the text from a file. Otherwise, you must provide
  81856. // base64-encoded text. User data is limited to 16 KB.
  81857. UserData *string `type:"string"`
  81858. }
  81859. // String returns the string representation
  81860. func (s RunInstancesInput) String() string {
  81861. return awsutil.Prettify(s)
  81862. }
  81863. // GoString returns the string representation
  81864. func (s RunInstancesInput) GoString() string {
  81865. return s.String()
  81866. }
  81867. // Validate inspects the fields of the type to determine if they are valid.
  81868. func (s *RunInstancesInput) Validate() error {
  81869. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  81870. if s.MaxCount == nil {
  81871. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  81872. }
  81873. if s.MinCount == nil {
  81874. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  81875. }
  81876. if s.CreditSpecification != nil {
  81877. if err := s.CreditSpecification.Validate(); err != nil {
  81878. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  81879. }
  81880. }
  81881. if s.ElasticGpuSpecification != nil {
  81882. for i, v := range s.ElasticGpuSpecification {
  81883. if v == nil {
  81884. continue
  81885. }
  81886. if err := v.Validate(); err != nil {
  81887. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
  81888. }
  81889. }
  81890. }
  81891. if s.ElasticInferenceAccelerators != nil {
  81892. for i, v := range s.ElasticInferenceAccelerators {
  81893. if v == nil {
  81894. continue
  81895. }
  81896. if err := v.Validate(); err != nil {
  81897. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
  81898. }
  81899. }
  81900. }
  81901. if s.Monitoring != nil {
  81902. if err := s.Monitoring.Validate(); err != nil {
  81903. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  81904. }
  81905. }
  81906. if invalidParams.Len() > 0 {
  81907. return invalidParams
  81908. }
  81909. return nil
  81910. }
  81911. // SetAdditionalInfo sets the AdditionalInfo field's value.
  81912. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  81913. s.AdditionalInfo = &v
  81914. return s
  81915. }
  81916. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  81917. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  81918. s.BlockDeviceMappings = v
  81919. return s
  81920. }
  81921. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  81922. func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
  81923. s.CapacityReservationSpecification = v
  81924. return s
  81925. }
  81926. // SetClientToken sets the ClientToken field's value.
  81927. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  81928. s.ClientToken = &v
  81929. return s
  81930. }
  81931. // SetCpuOptions sets the CpuOptions field's value.
  81932. func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
  81933. s.CpuOptions = v
  81934. return s
  81935. }
  81936. // SetCreditSpecification sets the CreditSpecification field's value.
  81937. func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
  81938. s.CreditSpecification = v
  81939. return s
  81940. }
  81941. // SetDisableApiTermination sets the DisableApiTermination field's value.
  81942. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  81943. s.DisableApiTermination = &v
  81944. return s
  81945. }
  81946. // SetDryRun sets the DryRun field's value.
  81947. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  81948. s.DryRun = &v
  81949. return s
  81950. }
  81951. // SetEbsOptimized sets the EbsOptimized field's value.
  81952. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  81953. s.EbsOptimized = &v
  81954. return s
  81955. }
  81956. // SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
  81957. func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
  81958. s.ElasticGpuSpecification = v
  81959. return s
  81960. }
  81961. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  81962. func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
  81963. s.ElasticInferenceAccelerators = v
  81964. return s
  81965. }
  81966. // SetHibernationOptions sets the HibernationOptions field's value.
  81967. func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
  81968. s.HibernationOptions = v
  81969. return s
  81970. }
  81971. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  81972. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  81973. s.IamInstanceProfile = v
  81974. return s
  81975. }
  81976. // SetImageId sets the ImageId field's value.
  81977. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  81978. s.ImageId = &v
  81979. return s
  81980. }
  81981. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  81982. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  81983. s.InstanceInitiatedShutdownBehavior = &v
  81984. return s
  81985. }
  81986. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  81987. func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
  81988. s.InstanceMarketOptions = v
  81989. return s
  81990. }
  81991. // SetInstanceType sets the InstanceType field's value.
  81992. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  81993. s.InstanceType = &v
  81994. return s
  81995. }
  81996. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  81997. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  81998. s.Ipv6AddressCount = &v
  81999. return s
  82000. }
  82001. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  82002. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  82003. s.Ipv6Addresses = v
  82004. return s
  82005. }
  82006. // SetKernelId sets the KernelId field's value.
  82007. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  82008. s.KernelId = &v
  82009. return s
  82010. }
  82011. // SetKeyName sets the KeyName field's value.
  82012. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  82013. s.KeyName = &v
  82014. return s
  82015. }
  82016. // SetLaunchTemplate sets the LaunchTemplate field's value.
  82017. func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
  82018. s.LaunchTemplate = v
  82019. return s
  82020. }
  82021. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  82022. func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
  82023. s.LicenseSpecifications = v
  82024. return s
  82025. }
  82026. // SetMaxCount sets the MaxCount field's value.
  82027. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  82028. s.MaxCount = &v
  82029. return s
  82030. }
  82031. // SetMetadataOptions sets the MetadataOptions field's value.
  82032. func (s *RunInstancesInput) SetMetadataOptions(v *InstanceMetadataOptionsRequest) *RunInstancesInput {
  82033. s.MetadataOptions = v
  82034. return s
  82035. }
  82036. // SetMinCount sets the MinCount field's value.
  82037. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  82038. s.MinCount = &v
  82039. return s
  82040. }
  82041. // SetMonitoring sets the Monitoring field's value.
  82042. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  82043. s.Monitoring = v
  82044. return s
  82045. }
  82046. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  82047. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  82048. s.NetworkInterfaces = v
  82049. return s
  82050. }
  82051. // SetPlacement sets the Placement field's value.
  82052. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  82053. s.Placement = v
  82054. return s
  82055. }
  82056. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  82057. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  82058. s.PrivateIpAddress = &v
  82059. return s
  82060. }
  82061. // SetRamdiskId sets the RamdiskId field's value.
  82062. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  82063. s.RamdiskId = &v
  82064. return s
  82065. }
  82066. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  82067. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  82068. s.SecurityGroupIds = v
  82069. return s
  82070. }
  82071. // SetSecurityGroups sets the SecurityGroups field's value.
  82072. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  82073. s.SecurityGroups = v
  82074. return s
  82075. }
  82076. // SetSubnetId sets the SubnetId field's value.
  82077. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  82078. s.SubnetId = &v
  82079. return s
  82080. }
  82081. // SetTagSpecifications sets the TagSpecifications field's value.
  82082. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  82083. s.TagSpecifications = v
  82084. return s
  82085. }
  82086. // SetUserData sets the UserData field's value.
  82087. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  82088. s.UserData = &v
  82089. return s
  82090. }
  82091. // Describes the monitoring of an instance.
  82092. type RunInstancesMonitoringEnabled struct {
  82093. _ struct{} `type:"structure"`
  82094. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  82095. // is enabled.
  82096. //
  82097. // Enabled is a required field
  82098. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  82099. }
  82100. // String returns the string representation
  82101. func (s RunInstancesMonitoringEnabled) String() string {
  82102. return awsutil.Prettify(s)
  82103. }
  82104. // GoString returns the string representation
  82105. func (s RunInstancesMonitoringEnabled) GoString() string {
  82106. return s.String()
  82107. }
  82108. // Validate inspects the fields of the type to determine if they are valid.
  82109. func (s *RunInstancesMonitoringEnabled) Validate() error {
  82110. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  82111. if s.Enabled == nil {
  82112. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  82113. }
  82114. if invalidParams.Len() > 0 {
  82115. return invalidParams
  82116. }
  82117. return nil
  82118. }
  82119. // SetEnabled sets the Enabled field's value.
  82120. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  82121. s.Enabled = &v
  82122. return s
  82123. }
  82124. // Contains the parameters for RunScheduledInstances.
  82125. type RunScheduledInstancesInput struct {
  82126. _ struct{} `type:"structure"`
  82127. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  82128. // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  82129. ClientToken *string `type:"string" idempotencyToken:"true"`
  82130. // Checks whether you have the required permissions for the action, without
  82131. // actually making the request, and provides an error response. If you have
  82132. // the required permissions, the error response is DryRunOperation. Otherwise,
  82133. // it is UnauthorizedOperation.
  82134. DryRun *bool `type:"boolean"`
  82135. // The number of instances.
  82136. //
  82137. // Default: 1
  82138. InstanceCount *int64 `type:"integer"`
  82139. // The launch specification. You must match the instance type, Availability
  82140. // Zone, network, and platform of the schedule that you purchased.
  82141. //
  82142. // LaunchSpecification is a required field
  82143. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  82144. // The Scheduled Instance ID.
  82145. //
  82146. // ScheduledInstanceId is a required field
  82147. ScheduledInstanceId *string `type:"string" required:"true"`
  82148. }
  82149. // String returns the string representation
  82150. func (s RunScheduledInstancesInput) String() string {
  82151. return awsutil.Prettify(s)
  82152. }
  82153. // GoString returns the string representation
  82154. func (s RunScheduledInstancesInput) GoString() string {
  82155. return s.String()
  82156. }
  82157. // Validate inspects the fields of the type to determine if they are valid.
  82158. func (s *RunScheduledInstancesInput) Validate() error {
  82159. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  82160. if s.LaunchSpecification == nil {
  82161. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  82162. }
  82163. if s.ScheduledInstanceId == nil {
  82164. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  82165. }
  82166. if s.LaunchSpecification != nil {
  82167. if err := s.LaunchSpecification.Validate(); err != nil {
  82168. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  82169. }
  82170. }
  82171. if invalidParams.Len() > 0 {
  82172. return invalidParams
  82173. }
  82174. return nil
  82175. }
  82176. // SetClientToken sets the ClientToken field's value.
  82177. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  82178. s.ClientToken = &v
  82179. return s
  82180. }
  82181. // SetDryRun sets the DryRun field's value.
  82182. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  82183. s.DryRun = &v
  82184. return s
  82185. }
  82186. // SetInstanceCount sets the InstanceCount field's value.
  82187. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  82188. s.InstanceCount = &v
  82189. return s
  82190. }
  82191. // SetLaunchSpecification sets the LaunchSpecification field's value.
  82192. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  82193. s.LaunchSpecification = v
  82194. return s
  82195. }
  82196. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  82197. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  82198. s.ScheduledInstanceId = &v
  82199. return s
  82200. }
  82201. // Contains the output of RunScheduledInstances.
  82202. type RunScheduledInstancesOutput struct {
  82203. _ struct{} `type:"structure"`
  82204. // The IDs of the newly launched instances.
  82205. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  82206. }
  82207. // String returns the string representation
  82208. func (s RunScheduledInstancesOutput) String() string {
  82209. return awsutil.Prettify(s)
  82210. }
  82211. // GoString returns the string representation
  82212. func (s RunScheduledInstancesOutput) GoString() string {
  82213. return s.String()
  82214. }
  82215. // SetInstanceIdSet sets the InstanceIdSet field's value.
  82216. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  82217. s.InstanceIdSet = v
  82218. return s
  82219. }
  82220. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  82221. // AMI.
  82222. type S3Storage struct {
  82223. _ struct{} `type:"structure"`
  82224. // The access key ID of the owner of the bucket. Before you specify a value
  82225. // for your access key ID, review and follow the guidance in Best Practices
  82226. // for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  82227. AWSAccessKeyId *string `type:"string"`
  82228. // The bucket in which to store the AMI. You can specify a bucket that you already
  82229. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  82230. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  82231. Bucket *string `locationName:"bucket" type:"string"`
  82232. // The beginning of the file name of the AMI.
  82233. Prefix *string `locationName:"prefix" type:"string"`
  82234. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  82235. // into Amazon S3 on your behalf.
  82236. //
  82237. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  82238. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  82239. // The signature of the JSON document.
  82240. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  82241. }
  82242. // String returns the string representation
  82243. func (s S3Storage) String() string {
  82244. return awsutil.Prettify(s)
  82245. }
  82246. // GoString returns the string representation
  82247. func (s S3Storage) GoString() string {
  82248. return s.String()
  82249. }
  82250. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  82251. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  82252. s.AWSAccessKeyId = &v
  82253. return s
  82254. }
  82255. // SetBucket sets the Bucket field's value.
  82256. func (s *S3Storage) SetBucket(v string) *S3Storage {
  82257. s.Bucket = &v
  82258. return s
  82259. }
  82260. // SetPrefix sets the Prefix field's value.
  82261. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  82262. s.Prefix = &v
  82263. return s
  82264. }
  82265. // SetUploadPolicy sets the UploadPolicy field's value.
  82266. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  82267. s.UploadPolicy = v
  82268. return s
  82269. }
  82270. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  82271. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  82272. s.UploadPolicySignature = &v
  82273. return s
  82274. }
  82275. // Describes a Scheduled Instance.
  82276. type ScheduledInstance struct {
  82277. _ struct{} `type:"structure"`
  82278. // The Availability Zone.
  82279. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  82280. // The date when the Scheduled Instance was purchased.
  82281. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  82282. // The hourly price for a single instance.
  82283. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  82284. // The number of instances.
  82285. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  82286. // The instance type.
  82287. InstanceType *string `locationName:"instanceType" type:"string"`
  82288. // The network platform (EC2-Classic or EC2-VPC).
  82289. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  82290. // The time for the next schedule to start.
  82291. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
  82292. // The platform (Linux/UNIX or Windows).
  82293. Platform *string `locationName:"platform" type:"string"`
  82294. // The time that the previous schedule ended or will end.
  82295. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
  82296. // The schedule recurrence.
  82297. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  82298. // The Scheduled Instance ID.
  82299. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  82300. // The number of hours in the schedule.
  82301. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  82302. // The end date for the Scheduled Instance.
  82303. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
  82304. // The start date for the Scheduled Instance.
  82305. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
  82306. // The total number of hours for a single instance for the entire term.
  82307. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  82308. }
  82309. // String returns the string representation
  82310. func (s ScheduledInstance) String() string {
  82311. return awsutil.Prettify(s)
  82312. }
  82313. // GoString returns the string representation
  82314. func (s ScheduledInstance) GoString() string {
  82315. return s.String()
  82316. }
  82317. // SetAvailabilityZone sets the AvailabilityZone field's value.
  82318. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  82319. s.AvailabilityZone = &v
  82320. return s
  82321. }
  82322. // SetCreateDate sets the CreateDate field's value.
  82323. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  82324. s.CreateDate = &v
  82325. return s
  82326. }
  82327. // SetHourlyPrice sets the HourlyPrice field's value.
  82328. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  82329. s.HourlyPrice = &v
  82330. return s
  82331. }
  82332. // SetInstanceCount sets the InstanceCount field's value.
  82333. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  82334. s.InstanceCount = &v
  82335. return s
  82336. }
  82337. // SetInstanceType sets the InstanceType field's value.
  82338. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  82339. s.InstanceType = &v
  82340. return s
  82341. }
  82342. // SetNetworkPlatform sets the NetworkPlatform field's value.
  82343. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  82344. s.NetworkPlatform = &v
  82345. return s
  82346. }
  82347. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  82348. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  82349. s.NextSlotStartTime = &v
  82350. return s
  82351. }
  82352. // SetPlatform sets the Platform field's value.
  82353. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  82354. s.Platform = &v
  82355. return s
  82356. }
  82357. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  82358. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  82359. s.PreviousSlotEndTime = &v
  82360. return s
  82361. }
  82362. // SetRecurrence sets the Recurrence field's value.
  82363. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  82364. s.Recurrence = v
  82365. return s
  82366. }
  82367. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  82368. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  82369. s.ScheduledInstanceId = &v
  82370. return s
  82371. }
  82372. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  82373. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  82374. s.SlotDurationInHours = &v
  82375. return s
  82376. }
  82377. // SetTermEndDate sets the TermEndDate field's value.
  82378. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  82379. s.TermEndDate = &v
  82380. return s
  82381. }
  82382. // SetTermStartDate sets the TermStartDate field's value.
  82383. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  82384. s.TermStartDate = &v
  82385. return s
  82386. }
  82387. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  82388. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  82389. s.TotalScheduledInstanceHours = &v
  82390. return s
  82391. }
  82392. // Describes a schedule that is available for your Scheduled Instances.
  82393. type ScheduledInstanceAvailability struct {
  82394. _ struct{} `type:"structure"`
  82395. // The Availability Zone.
  82396. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  82397. // The number of available instances.
  82398. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  82399. // The time period for the first schedule to start.
  82400. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
  82401. // The hourly price for a single instance.
  82402. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  82403. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  82404. // types.
  82405. InstanceType *string `locationName:"instanceType" type:"string"`
  82406. // The maximum term. The only possible value is 365 days.
  82407. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  82408. // The minimum term. The only possible value is 365 days.
  82409. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  82410. // The network platform (EC2-Classic or EC2-VPC).
  82411. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  82412. // The platform (Linux/UNIX or Windows).
  82413. Platform *string `locationName:"platform" type:"string"`
  82414. // The purchase token. This token expires in two hours.
  82415. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  82416. // The schedule recurrence.
  82417. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  82418. // The number of hours in the schedule.
  82419. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  82420. // The total number of hours for a single instance for the entire term.
  82421. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  82422. }
  82423. // String returns the string representation
  82424. func (s ScheduledInstanceAvailability) String() string {
  82425. return awsutil.Prettify(s)
  82426. }
  82427. // GoString returns the string representation
  82428. func (s ScheduledInstanceAvailability) GoString() string {
  82429. return s.String()
  82430. }
  82431. // SetAvailabilityZone sets the AvailabilityZone field's value.
  82432. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  82433. s.AvailabilityZone = &v
  82434. return s
  82435. }
  82436. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  82437. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  82438. s.AvailableInstanceCount = &v
  82439. return s
  82440. }
  82441. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  82442. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  82443. s.FirstSlotStartTime = &v
  82444. return s
  82445. }
  82446. // SetHourlyPrice sets the HourlyPrice field's value.
  82447. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  82448. s.HourlyPrice = &v
  82449. return s
  82450. }
  82451. // SetInstanceType sets the InstanceType field's value.
  82452. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  82453. s.InstanceType = &v
  82454. return s
  82455. }
  82456. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  82457. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  82458. s.MaxTermDurationInDays = &v
  82459. return s
  82460. }
  82461. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  82462. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  82463. s.MinTermDurationInDays = &v
  82464. return s
  82465. }
  82466. // SetNetworkPlatform sets the NetworkPlatform field's value.
  82467. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  82468. s.NetworkPlatform = &v
  82469. return s
  82470. }
  82471. // SetPlatform sets the Platform field's value.
  82472. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  82473. s.Platform = &v
  82474. return s
  82475. }
  82476. // SetPurchaseToken sets the PurchaseToken field's value.
  82477. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  82478. s.PurchaseToken = &v
  82479. return s
  82480. }
  82481. // SetRecurrence sets the Recurrence field's value.
  82482. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  82483. s.Recurrence = v
  82484. return s
  82485. }
  82486. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  82487. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  82488. s.SlotDurationInHours = &v
  82489. return s
  82490. }
  82491. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  82492. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  82493. s.TotalScheduledInstanceHours = &v
  82494. return s
  82495. }
  82496. // Describes the recurring schedule for a Scheduled Instance.
  82497. type ScheduledInstanceRecurrence struct {
  82498. _ struct{} `type:"structure"`
  82499. // The frequency (Daily, Weekly, or Monthly).
  82500. Frequency *string `locationName:"frequency" type:"string"`
  82501. // The interval quantity. The interval unit depends on the value of frequency.
  82502. // For example, every 2 weeks or every 2 months.
  82503. Interval *int64 `locationName:"interval" type:"integer"`
  82504. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  82505. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  82506. // is Sunday).
  82507. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  82508. // Indicates whether the occurrence is relative to the end of the specified
  82509. // week or month.
  82510. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  82511. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  82512. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  82513. }
  82514. // String returns the string representation
  82515. func (s ScheduledInstanceRecurrence) String() string {
  82516. return awsutil.Prettify(s)
  82517. }
  82518. // GoString returns the string representation
  82519. func (s ScheduledInstanceRecurrence) GoString() string {
  82520. return s.String()
  82521. }
  82522. // SetFrequency sets the Frequency field's value.
  82523. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  82524. s.Frequency = &v
  82525. return s
  82526. }
  82527. // SetInterval sets the Interval field's value.
  82528. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  82529. s.Interval = &v
  82530. return s
  82531. }
  82532. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  82533. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  82534. s.OccurrenceDaySet = v
  82535. return s
  82536. }
  82537. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  82538. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  82539. s.OccurrenceRelativeToEnd = &v
  82540. return s
  82541. }
  82542. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  82543. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  82544. s.OccurrenceUnit = &v
  82545. return s
  82546. }
  82547. // Describes the recurring schedule for a Scheduled Instance.
  82548. type ScheduledInstanceRecurrenceRequest struct {
  82549. _ struct{} `type:"structure"`
  82550. // The frequency (Daily, Weekly, or Monthly).
  82551. Frequency *string `type:"string"`
  82552. // The interval quantity. The interval unit depends on the value of Frequency.
  82553. // For example, every 2 weeks or every 2 months.
  82554. Interval *int64 `type:"integer"`
  82555. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  82556. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  82557. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  82558. // is relative to the end of the month, you can specify only a single day.
  82559. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  82560. // Indicates whether the occurrence is relative to the end of the specified
  82561. // week or month. You can't specify this value with a daily schedule.
  82562. OccurrenceRelativeToEnd *bool `type:"boolean"`
  82563. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  82564. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  82565. // You can't specify this value with a daily schedule.
  82566. OccurrenceUnit *string `type:"string"`
  82567. }
  82568. // String returns the string representation
  82569. func (s ScheduledInstanceRecurrenceRequest) String() string {
  82570. return awsutil.Prettify(s)
  82571. }
  82572. // GoString returns the string representation
  82573. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  82574. return s.String()
  82575. }
  82576. // SetFrequency sets the Frequency field's value.
  82577. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  82578. s.Frequency = &v
  82579. return s
  82580. }
  82581. // SetInterval sets the Interval field's value.
  82582. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  82583. s.Interval = &v
  82584. return s
  82585. }
  82586. // SetOccurrenceDays sets the OccurrenceDays field's value.
  82587. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  82588. s.OccurrenceDays = v
  82589. return s
  82590. }
  82591. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  82592. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  82593. s.OccurrenceRelativeToEnd = &v
  82594. return s
  82595. }
  82596. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  82597. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  82598. s.OccurrenceUnit = &v
  82599. return s
  82600. }
  82601. // Describes a block device mapping for a Scheduled Instance.
  82602. type ScheduledInstancesBlockDeviceMapping struct {
  82603. _ struct{} `type:"structure"`
  82604. // The device name (for example, /dev/sdh or xvdh).
  82605. DeviceName *string `type:"string"`
  82606. // Parameters used to set up EBS volumes automatically when the instance is
  82607. // launched.
  82608. Ebs *ScheduledInstancesEbs `type:"structure"`
  82609. // Suppresses the specified device included in the block device mapping of the
  82610. // AMI.
  82611. NoDevice *string `type:"string"`
  82612. // The virtual device name (ephemeralN). Instance store volumes are numbered
  82613. // starting from 0. An instance type with two available instance store volumes
  82614. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  82615. // instance store volumes depends on the instance type. After you connect to
  82616. // the instance, you must mount the volume.
  82617. //
  82618. // Constraints: For M3 instances, you must specify instance store volumes in
  82619. // the block device mapping for the instance. When you launch an M3 instance,
  82620. // we ignore any instance store volumes specified in the block device mapping
  82621. // for the AMI.
  82622. VirtualName *string `type:"string"`
  82623. }
  82624. // String returns the string representation
  82625. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  82626. return awsutil.Prettify(s)
  82627. }
  82628. // GoString returns the string representation
  82629. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  82630. return s.String()
  82631. }
  82632. // SetDeviceName sets the DeviceName field's value.
  82633. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  82634. s.DeviceName = &v
  82635. return s
  82636. }
  82637. // SetEbs sets the Ebs field's value.
  82638. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  82639. s.Ebs = v
  82640. return s
  82641. }
  82642. // SetNoDevice sets the NoDevice field's value.
  82643. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  82644. s.NoDevice = &v
  82645. return s
  82646. }
  82647. // SetVirtualName sets the VirtualName field's value.
  82648. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  82649. s.VirtualName = &v
  82650. return s
  82651. }
  82652. // Describes an EBS volume for a Scheduled Instance.
  82653. type ScheduledInstancesEbs struct {
  82654. _ struct{} `type:"structure"`
  82655. // Indicates whether the volume is deleted on instance termination.
  82656. DeleteOnTermination *bool `type:"boolean"`
  82657. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  82658. // only to instances that support them.
  82659. Encrypted *bool `type:"boolean"`
  82660. // The number of I/O operations per second (IOPS) that the volume supports.
  82661. // For io1 volumes, this represents the number of IOPS that are provisioned
  82662. // for the volume. For gp2 volumes, this represents the baseline performance
  82663. // of the volume and the rate at which the volume accumulates I/O credits for
  82664. // bursting. For more information about gp2 baseline performance, I/O credits,
  82665. // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  82666. // in the Amazon Elastic Compute Cloud User Guide.
  82667. //
  82668. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  82669. // gp2 volumes.
  82670. //
  82671. // Condition: This parameter is required for requests to create io1volumes;
  82672. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  82673. Iops *int64 `type:"integer"`
  82674. // The ID of the snapshot.
  82675. SnapshotId *string `type:"string"`
  82676. // The size of the volume, in GiB.
  82677. //
  82678. // Default: If you're creating the volume from a snapshot and don't specify
  82679. // a volume size, the default is the snapshot size.
  82680. VolumeSize *int64 `type:"integer"`
  82681. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  82682. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  82683. //
  82684. // Default: gp2
  82685. VolumeType *string `type:"string"`
  82686. }
  82687. // String returns the string representation
  82688. func (s ScheduledInstancesEbs) String() string {
  82689. return awsutil.Prettify(s)
  82690. }
  82691. // GoString returns the string representation
  82692. func (s ScheduledInstancesEbs) GoString() string {
  82693. return s.String()
  82694. }
  82695. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  82696. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  82697. s.DeleteOnTermination = &v
  82698. return s
  82699. }
  82700. // SetEncrypted sets the Encrypted field's value.
  82701. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  82702. s.Encrypted = &v
  82703. return s
  82704. }
  82705. // SetIops sets the Iops field's value.
  82706. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  82707. s.Iops = &v
  82708. return s
  82709. }
  82710. // SetSnapshotId sets the SnapshotId field's value.
  82711. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  82712. s.SnapshotId = &v
  82713. return s
  82714. }
  82715. // SetVolumeSize sets the VolumeSize field's value.
  82716. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  82717. s.VolumeSize = &v
  82718. return s
  82719. }
  82720. // SetVolumeType sets the VolumeType field's value.
  82721. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  82722. s.VolumeType = &v
  82723. return s
  82724. }
  82725. // Describes an IAM instance profile for a Scheduled Instance.
  82726. type ScheduledInstancesIamInstanceProfile struct {
  82727. _ struct{} `type:"structure"`
  82728. // The Amazon Resource Name (ARN).
  82729. Arn *string `type:"string"`
  82730. // The name.
  82731. Name *string `type:"string"`
  82732. }
  82733. // String returns the string representation
  82734. func (s ScheduledInstancesIamInstanceProfile) String() string {
  82735. return awsutil.Prettify(s)
  82736. }
  82737. // GoString returns the string representation
  82738. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  82739. return s.String()
  82740. }
  82741. // SetArn sets the Arn field's value.
  82742. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  82743. s.Arn = &v
  82744. return s
  82745. }
  82746. // SetName sets the Name field's value.
  82747. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  82748. s.Name = &v
  82749. return s
  82750. }
  82751. // Describes an IPv6 address.
  82752. type ScheduledInstancesIpv6Address struct {
  82753. _ struct{} `type:"structure"`
  82754. // The IPv6 address.
  82755. Ipv6Address *string `type:"string"`
  82756. }
  82757. // String returns the string representation
  82758. func (s ScheduledInstancesIpv6Address) String() string {
  82759. return awsutil.Prettify(s)
  82760. }
  82761. // GoString returns the string representation
  82762. func (s ScheduledInstancesIpv6Address) GoString() string {
  82763. return s.String()
  82764. }
  82765. // SetIpv6Address sets the Ipv6Address field's value.
  82766. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  82767. s.Ipv6Address = &v
  82768. return s
  82769. }
  82770. // Describes the launch specification for a Scheduled Instance.
  82771. //
  82772. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  82773. // the ID of the subnet. You can specify the subnet using either SubnetId or
  82774. // NetworkInterface.
  82775. type ScheduledInstancesLaunchSpecification struct {
  82776. _ struct{} `type:"structure"`
  82777. // The block device mapping entries.
  82778. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  82779. // Indicates whether the instances are optimized for EBS I/O. This optimization
  82780. // provides dedicated throughput to Amazon EBS and an optimized configuration
  82781. // stack to provide optimal EBS I/O performance. This optimization isn't available
  82782. // with all instance types. Additional usage charges apply when using an EBS-optimized
  82783. // instance.
  82784. //
  82785. // Default: false
  82786. EbsOptimized *bool `type:"boolean"`
  82787. // The IAM instance profile.
  82788. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  82789. // The ID of the Amazon Machine Image (AMI).
  82790. //
  82791. // ImageId is a required field
  82792. ImageId *string `type:"string" required:"true"`
  82793. // The instance type.
  82794. InstanceType *string `type:"string"`
  82795. // The ID of the kernel.
  82796. KernelId *string `type:"string"`
  82797. // The name of the key pair.
  82798. KeyName *string `type:"string"`
  82799. // Enable or disable monitoring for the instances.
  82800. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  82801. // The network interfaces.
  82802. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  82803. // The placement information.
  82804. Placement *ScheduledInstancesPlacement `type:"structure"`
  82805. // The ID of the RAM disk.
  82806. RamdiskId *string `type:"string"`
  82807. // The IDs of the security groups.
  82808. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  82809. // The ID of the subnet in which to launch the instances.
  82810. SubnetId *string `type:"string"`
  82811. // The base64-encoded MIME user data.
  82812. UserData *string `type:"string"`
  82813. }
  82814. // String returns the string representation
  82815. func (s ScheduledInstancesLaunchSpecification) String() string {
  82816. return awsutil.Prettify(s)
  82817. }
  82818. // GoString returns the string representation
  82819. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  82820. return s.String()
  82821. }
  82822. // Validate inspects the fields of the type to determine if they are valid.
  82823. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  82824. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  82825. if s.ImageId == nil {
  82826. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  82827. }
  82828. if invalidParams.Len() > 0 {
  82829. return invalidParams
  82830. }
  82831. return nil
  82832. }
  82833. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  82834. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  82835. s.BlockDeviceMappings = v
  82836. return s
  82837. }
  82838. // SetEbsOptimized sets the EbsOptimized field's value.
  82839. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  82840. s.EbsOptimized = &v
  82841. return s
  82842. }
  82843. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  82844. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  82845. s.IamInstanceProfile = v
  82846. return s
  82847. }
  82848. // SetImageId sets the ImageId field's value.
  82849. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  82850. s.ImageId = &v
  82851. return s
  82852. }
  82853. // SetInstanceType sets the InstanceType field's value.
  82854. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  82855. s.InstanceType = &v
  82856. return s
  82857. }
  82858. // SetKernelId sets the KernelId field's value.
  82859. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  82860. s.KernelId = &v
  82861. return s
  82862. }
  82863. // SetKeyName sets the KeyName field's value.
  82864. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  82865. s.KeyName = &v
  82866. return s
  82867. }
  82868. // SetMonitoring sets the Monitoring field's value.
  82869. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  82870. s.Monitoring = v
  82871. return s
  82872. }
  82873. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  82874. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  82875. s.NetworkInterfaces = v
  82876. return s
  82877. }
  82878. // SetPlacement sets the Placement field's value.
  82879. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  82880. s.Placement = v
  82881. return s
  82882. }
  82883. // SetRamdiskId sets the RamdiskId field's value.
  82884. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  82885. s.RamdiskId = &v
  82886. return s
  82887. }
  82888. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  82889. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  82890. s.SecurityGroupIds = v
  82891. return s
  82892. }
  82893. // SetSubnetId sets the SubnetId field's value.
  82894. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  82895. s.SubnetId = &v
  82896. return s
  82897. }
  82898. // SetUserData sets the UserData field's value.
  82899. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  82900. s.UserData = &v
  82901. return s
  82902. }
  82903. // Describes whether monitoring is enabled for a Scheduled Instance.
  82904. type ScheduledInstancesMonitoring struct {
  82905. _ struct{} `type:"structure"`
  82906. // Indicates whether monitoring is enabled.
  82907. Enabled *bool `type:"boolean"`
  82908. }
  82909. // String returns the string representation
  82910. func (s ScheduledInstancesMonitoring) String() string {
  82911. return awsutil.Prettify(s)
  82912. }
  82913. // GoString returns the string representation
  82914. func (s ScheduledInstancesMonitoring) GoString() string {
  82915. return s.String()
  82916. }
  82917. // SetEnabled sets the Enabled field's value.
  82918. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  82919. s.Enabled = &v
  82920. return s
  82921. }
  82922. // Describes a network interface for a Scheduled Instance.
  82923. type ScheduledInstancesNetworkInterface struct {
  82924. _ struct{} `type:"structure"`
  82925. // Indicates whether to assign a public IPv4 address to instances launched in
  82926. // a VPC. The public IPv4 address can only be assigned to a network interface
  82927. // for eth0, and can only be assigned to a new network interface, not an existing
  82928. // one. You cannot specify more than one network interface in the request. If
  82929. // launching into a default subnet, the default value is true.
  82930. AssociatePublicIpAddress *bool `type:"boolean"`
  82931. // Indicates whether to delete the interface when the instance is terminated.
  82932. DeleteOnTermination *bool `type:"boolean"`
  82933. // The description.
  82934. Description *string `type:"string"`
  82935. // The index of the device for the network interface attachment.
  82936. DeviceIndex *int64 `type:"integer"`
  82937. // The IDs of the security groups.
  82938. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  82939. // The number of IPv6 addresses to assign to the network interface. The IPv6
  82940. // addresses are automatically selected from the subnet range.
  82941. Ipv6AddressCount *int64 `type:"integer"`
  82942. // The specific IPv6 addresses from the subnet range.
  82943. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  82944. // The ID of the network interface.
  82945. NetworkInterfaceId *string `type:"string"`
  82946. // The IPv4 address of the network interface within the subnet.
  82947. PrivateIpAddress *string `type:"string"`
  82948. // The private IPv4 addresses.
  82949. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  82950. // The number of secondary private IPv4 addresses.
  82951. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  82952. // The ID of the subnet.
  82953. SubnetId *string `type:"string"`
  82954. }
  82955. // String returns the string representation
  82956. func (s ScheduledInstancesNetworkInterface) String() string {
  82957. return awsutil.Prettify(s)
  82958. }
  82959. // GoString returns the string representation
  82960. func (s ScheduledInstancesNetworkInterface) GoString() string {
  82961. return s.String()
  82962. }
  82963. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  82964. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  82965. s.AssociatePublicIpAddress = &v
  82966. return s
  82967. }
  82968. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  82969. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  82970. s.DeleteOnTermination = &v
  82971. return s
  82972. }
  82973. // SetDescription sets the Description field's value.
  82974. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  82975. s.Description = &v
  82976. return s
  82977. }
  82978. // SetDeviceIndex sets the DeviceIndex field's value.
  82979. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  82980. s.DeviceIndex = &v
  82981. return s
  82982. }
  82983. // SetGroups sets the Groups field's value.
  82984. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  82985. s.Groups = v
  82986. return s
  82987. }
  82988. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  82989. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  82990. s.Ipv6AddressCount = &v
  82991. return s
  82992. }
  82993. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  82994. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  82995. s.Ipv6Addresses = v
  82996. return s
  82997. }
  82998. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  82999. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  83000. s.NetworkInterfaceId = &v
  83001. return s
  83002. }
  83003. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  83004. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  83005. s.PrivateIpAddress = &v
  83006. return s
  83007. }
  83008. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  83009. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  83010. s.PrivateIpAddressConfigs = v
  83011. return s
  83012. }
  83013. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  83014. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  83015. s.SecondaryPrivateIpAddressCount = &v
  83016. return s
  83017. }
  83018. // SetSubnetId sets the SubnetId field's value.
  83019. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  83020. s.SubnetId = &v
  83021. return s
  83022. }
  83023. // Describes the placement for a Scheduled Instance.
  83024. type ScheduledInstancesPlacement struct {
  83025. _ struct{} `type:"structure"`
  83026. // The Availability Zone.
  83027. AvailabilityZone *string `type:"string"`
  83028. // The name of the placement group.
  83029. GroupName *string `type:"string"`
  83030. }
  83031. // String returns the string representation
  83032. func (s ScheduledInstancesPlacement) String() string {
  83033. return awsutil.Prettify(s)
  83034. }
  83035. // GoString returns the string representation
  83036. func (s ScheduledInstancesPlacement) GoString() string {
  83037. return s.String()
  83038. }
  83039. // SetAvailabilityZone sets the AvailabilityZone field's value.
  83040. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  83041. s.AvailabilityZone = &v
  83042. return s
  83043. }
  83044. // SetGroupName sets the GroupName field's value.
  83045. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  83046. s.GroupName = &v
  83047. return s
  83048. }
  83049. // Describes a private IPv4 address for a Scheduled Instance.
  83050. type ScheduledInstancesPrivateIpAddressConfig struct {
  83051. _ struct{} `type:"structure"`
  83052. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  83053. // IPv4 address.
  83054. Primary *bool `type:"boolean"`
  83055. // The IPv4 address.
  83056. PrivateIpAddress *string `type:"string"`
  83057. }
  83058. // String returns the string representation
  83059. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  83060. return awsutil.Prettify(s)
  83061. }
  83062. // GoString returns the string representation
  83063. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  83064. return s.String()
  83065. }
  83066. // SetPrimary sets the Primary field's value.
  83067. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  83068. s.Primary = &v
  83069. return s
  83070. }
  83071. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  83072. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  83073. s.PrivateIpAddress = &v
  83074. return s
  83075. }
  83076. type SearchLocalGatewayRoutesInput struct {
  83077. _ struct{} `type:"structure"`
  83078. // Checks whether you have the required permissions for the action, without
  83079. // actually making the request, and provides an error response. If you have
  83080. // the required permissions, the error response is DryRunOperation. Otherwise,
  83081. // it is UnauthorizedOperation.
  83082. DryRun *bool `type:"boolean"`
  83083. // One or more filters.
  83084. //
  83085. // Filters is a required field
  83086. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
  83087. // The ID of the local gateway route table.
  83088. //
  83089. // LocalGatewayRouteTableId is a required field
  83090. LocalGatewayRouteTableId *string `type:"string" required:"true"`
  83091. // The maximum number of results to return with a single call. To retrieve the
  83092. // remaining results, make another call with the returned nextToken value.
  83093. MaxResults *int64 `type:"integer"`
  83094. // The token for the next page of results.
  83095. NextToken *string `type:"string"`
  83096. }
  83097. // String returns the string representation
  83098. func (s SearchLocalGatewayRoutesInput) String() string {
  83099. return awsutil.Prettify(s)
  83100. }
  83101. // GoString returns the string representation
  83102. func (s SearchLocalGatewayRoutesInput) GoString() string {
  83103. return s.String()
  83104. }
  83105. // Validate inspects the fields of the type to determine if they are valid.
  83106. func (s *SearchLocalGatewayRoutesInput) Validate() error {
  83107. invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
  83108. if s.Filters == nil {
  83109. invalidParams.Add(request.NewErrParamRequired("Filters"))
  83110. }
  83111. if s.LocalGatewayRouteTableId == nil {
  83112. invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
  83113. }
  83114. if invalidParams.Len() > 0 {
  83115. return invalidParams
  83116. }
  83117. return nil
  83118. }
  83119. // SetDryRun sets the DryRun field's value.
  83120. func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
  83121. s.DryRun = &v
  83122. return s
  83123. }
  83124. // SetFilters sets the Filters field's value.
  83125. func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
  83126. s.Filters = v
  83127. return s
  83128. }
  83129. // SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
  83130. func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
  83131. s.LocalGatewayRouteTableId = &v
  83132. return s
  83133. }
  83134. // SetMaxResults sets the MaxResults field's value.
  83135. func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
  83136. s.MaxResults = &v
  83137. return s
  83138. }
  83139. // SetNextToken sets the NextToken field's value.
  83140. func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
  83141. s.NextToken = &v
  83142. return s
  83143. }
  83144. type SearchLocalGatewayRoutesOutput struct {
  83145. _ struct{} `type:"structure"`
  83146. // The token to use to retrieve the next page of results. This value is null
  83147. // when there are no more results to return.
  83148. NextToken *string `locationName:"nextToken" type:"string"`
  83149. // Information about the routes.
  83150. Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
  83151. }
  83152. // String returns the string representation
  83153. func (s SearchLocalGatewayRoutesOutput) String() string {
  83154. return awsutil.Prettify(s)
  83155. }
  83156. // GoString returns the string representation
  83157. func (s SearchLocalGatewayRoutesOutput) GoString() string {
  83158. return s.String()
  83159. }
  83160. // SetNextToken sets the NextToken field's value.
  83161. func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
  83162. s.NextToken = &v
  83163. return s
  83164. }
  83165. // SetRoutes sets the Routes field's value.
  83166. func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
  83167. s.Routes = v
  83168. return s
  83169. }
  83170. type SearchTransitGatewayMulticastGroupsInput struct {
  83171. _ struct{} `type:"structure"`
  83172. // Checks whether you have the required permissions for the action, without
  83173. // actually making the request, and provides an error response. If you have
  83174. // the required permissions, the error response is DryRunOperation. Otherwise,
  83175. // it is UnauthorizedOperation.
  83176. DryRun *bool `type:"boolean"`
  83177. // One or more filters. The possible values are:
  83178. //
  83179. // * group-ip-address - The IP address of the transit gateway multicast group.
  83180. //
  83181. // * is-group-member - The resource is a group member. Valid values are true
  83182. // | false.
  83183. //
  83184. // * is-group-source - The resource is a group source. Valid values are true
  83185. // | false.
  83186. //
  83187. // * member-type - The member type. Valid values are igmp | static.
  83188. //
  83189. // * resource-id - The ID of the resource.
  83190. //
  83191. // * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
  83192. // | tgw-peering.
  83193. //
  83194. // * source-type - The source type. Valid values are igmp | static.
  83195. //
  83196. // * state - The state of the subnet association. Valid values are associated
  83197. // | associated | disassociated | disassociating.
  83198. //
  83199. // * subnet-id - The ID of the subnet.
  83200. //
  83201. // * transit-gateway-attachment-id - The id of the transit gateway attachment.
  83202. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  83203. // The maximum number of results to return with a single call. To retrieve the
  83204. // remaining results, make another call with the returned nextToken value.
  83205. MaxResults *int64 `min:"5" type:"integer"`
  83206. // The token for the next page of results.
  83207. NextToken *string `type:"string"`
  83208. // The ID of the transit gateway multicast domain.
  83209. TransitGatewayMulticastDomainId *string `type:"string"`
  83210. }
  83211. // String returns the string representation
  83212. func (s SearchTransitGatewayMulticastGroupsInput) String() string {
  83213. return awsutil.Prettify(s)
  83214. }
  83215. // GoString returns the string representation
  83216. func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
  83217. return s.String()
  83218. }
  83219. // Validate inspects the fields of the type to determine if they are valid.
  83220. func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
  83221. invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
  83222. if s.MaxResults != nil && *s.MaxResults < 5 {
  83223. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  83224. }
  83225. if invalidParams.Len() > 0 {
  83226. return invalidParams
  83227. }
  83228. return nil
  83229. }
  83230. // SetDryRun sets the DryRun field's value.
  83231. func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
  83232. s.DryRun = &v
  83233. return s
  83234. }
  83235. // SetFilters sets the Filters field's value.
  83236. func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
  83237. s.Filters = v
  83238. return s
  83239. }
  83240. // SetMaxResults sets the MaxResults field's value.
  83241. func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
  83242. s.MaxResults = &v
  83243. return s
  83244. }
  83245. // SetNextToken sets the NextToken field's value.
  83246. func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
  83247. s.NextToken = &v
  83248. return s
  83249. }
  83250. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  83251. func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
  83252. s.TransitGatewayMulticastDomainId = &v
  83253. return s
  83254. }
  83255. type SearchTransitGatewayMulticastGroupsOutput struct {
  83256. _ struct{} `type:"structure"`
  83257. // Information about the transit gateway multicast group.
  83258. MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
  83259. // The token to use to retrieve the next page of results. This value is null
  83260. // when there are no more results to return.
  83261. NextToken *string `locationName:"nextToken" type:"string"`
  83262. }
  83263. // String returns the string representation
  83264. func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
  83265. return awsutil.Prettify(s)
  83266. }
  83267. // GoString returns the string representation
  83268. func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
  83269. return s.String()
  83270. }
  83271. // SetMulticastGroups sets the MulticastGroups field's value.
  83272. func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
  83273. s.MulticastGroups = v
  83274. return s
  83275. }
  83276. // SetNextToken sets the NextToken field's value.
  83277. func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
  83278. s.NextToken = &v
  83279. return s
  83280. }
  83281. type SearchTransitGatewayRoutesInput struct {
  83282. _ struct{} `type:"structure"`
  83283. // Checks whether you have the required permissions for the action, without
  83284. // actually making the request, and provides an error response. If you have
  83285. // the required permissions, the error response is DryRunOperation. Otherwise,
  83286. // it is UnauthorizedOperation.
  83287. DryRun *bool `type:"boolean"`
  83288. // One or more filters. The possible values are:
  83289. //
  83290. // * attachment.transit-gateway-attachment-id- The id of the transit gateway
  83291. // attachment.
  83292. //
  83293. // * attachment.resource-id - The resource id of the transit gateway attachment.
  83294. //
  83295. // * attachment.resource-type - The attachment resource type (vpc | vpn).
  83296. //
  83297. // * route-search.exact-match - The exact match of the specified filter.
  83298. //
  83299. // * route-search.longest-prefix-match - The longest prefix that matches
  83300. // the route.
  83301. //
  83302. // * route-search.subnet-of-match - The routes with a subnet that match the
  83303. // specified CIDR filter.
  83304. //
  83305. // * route-search.supernet-of-match - The routes with a CIDR that encompass
  83306. // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
  83307. // routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
  83308. // then the result returns 10.0.1.0/29.
  83309. //
  83310. // * state - The state of the route (active | blackhole).
  83311. //
  83312. // * type - The type of route (propagated | static).
  83313. //
  83314. // Filters is a required field
  83315. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
  83316. // The maximum number of routes to return.
  83317. MaxResults *int64 `min:"5" type:"integer"`
  83318. // The ID of the transit gateway route table.
  83319. //
  83320. // TransitGatewayRouteTableId is a required field
  83321. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  83322. }
  83323. // String returns the string representation
  83324. func (s SearchTransitGatewayRoutesInput) String() string {
  83325. return awsutil.Prettify(s)
  83326. }
  83327. // GoString returns the string representation
  83328. func (s SearchTransitGatewayRoutesInput) GoString() string {
  83329. return s.String()
  83330. }
  83331. // Validate inspects the fields of the type to determine if they are valid.
  83332. func (s *SearchTransitGatewayRoutesInput) Validate() error {
  83333. invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
  83334. if s.Filters == nil {
  83335. invalidParams.Add(request.NewErrParamRequired("Filters"))
  83336. }
  83337. if s.MaxResults != nil && *s.MaxResults < 5 {
  83338. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  83339. }
  83340. if s.TransitGatewayRouteTableId == nil {
  83341. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  83342. }
  83343. if invalidParams.Len() > 0 {
  83344. return invalidParams
  83345. }
  83346. return nil
  83347. }
  83348. // SetDryRun sets the DryRun field's value.
  83349. func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
  83350. s.DryRun = &v
  83351. return s
  83352. }
  83353. // SetFilters sets the Filters field's value.
  83354. func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
  83355. s.Filters = v
  83356. return s
  83357. }
  83358. // SetMaxResults sets the MaxResults field's value.
  83359. func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
  83360. s.MaxResults = &v
  83361. return s
  83362. }
  83363. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  83364. func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
  83365. s.TransitGatewayRouteTableId = &v
  83366. return s
  83367. }
  83368. type SearchTransitGatewayRoutesOutput struct {
  83369. _ struct{} `type:"structure"`
  83370. // Indicates whether there are additional routes available.
  83371. AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
  83372. // Information about the routes.
  83373. Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
  83374. }
  83375. // String returns the string representation
  83376. func (s SearchTransitGatewayRoutesOutput) String() string {
  83377. return awsutil.Prettify(s)
  83378. }
  83379. // GoString returns the string representation
  83380. func (s SearchTransitGatewayRoutesOutput) GoString() string {
  83381. return s.String()
  83382. }
  83383. // SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
  83384. func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
  83385. s.AdditionalRoutesAvailable = &v
  83386. return s
  83387. }
  83388. // SetRoutes sets the Routes field's value.
  83389. func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
  83390. s.Routes = v
  83391. return s
  83392. }
  83393. // Describes a security group
  83394. type SecurityGroup struct {
  83395. _ struct{} `type:"structure"`
  83396. // A description of the security group.
  83397. Description *string `locationName:"groupDescription" type:"string"`
  83398. // The ID of the security group.
  83399. GroupId *string `locationName:"groupId" type:"string"`
  83400. // The name of the security group.
  83401. GroupName *string `locationName:"groupName" type:"string"`
  83402. // The inbound rules associated with the security group.
  83403. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  83404. // [VPC only] The outbound rules associated with the security group.
  83405. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  83406. // The AWS account ID of the owner of the security group.
  83407. OwnerId *string `locationName:"ownerId" type:"string"`
  83408. // Any tags assigned to the security group.
  83409. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  83410. // [VPC only] The ID of the VPC for the security group.
  83411. VpcId *string `locationName:"vpcId" type:"string"`
  83412. }
  83413. // String returns the string representation
  83414. func (s SecurityGroup) String() string {
  83415. return awsutil.Prettify(s)
  83416. }
  83417. // GoString returns the string representation
  83418. func (s SecurityGroup) GoString() string {
  83419. return s.String()
  83420. }
  83421. // SetDescription sets the Description field's value.
  83422. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  83423. s.Description = &v
  83424. return s
  83425. }
  83426. // SetGroupId sets the GroupId field's value.
  83427. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  83428. s.GroupId = &v
  83429. return s
  83430. }
  83431. // SetGroupName sets the GroupName field's value.
  83432. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  83433. s.GroupName = &v
  83434. return s
  83435. }
  83436. // SetIpPermissions sets the IpPermissions field's value.
  83437. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  83438. s.IpPermissions = v
  83439. return s
  83440. }
  83441. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  83442. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  83443. s.IpPermissionsEgress = v
  83444. return s
  83445. }
  83446. // SetOwnerId sets the OwnerId field's value.
  83447. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  83448. s.OwnerId = &v
  83449. return s
  83450. }
  83451. // SetTags sets the Tags field's value.
  83452. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  83453. s.Tags = v
  83454. return s
  83455. }
  83456. // SetVpcId sets the VpcId field's value.
  83457. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  83458. s.VpcId = &v
  83459. return s
  83460. }
  83461. // Describes a security group.
  83462. type SecurityGroupIdentifier struct {
  83463. _ struct{} `type:"structure"`
  83464. // The ID of the security group.
  83465. GroupId *string `locationName:"groupId" type:"string"`
  83466. // The name of the security group.
  83467. GroupName *string `locationName:"groupName" type:"string"`
  83468. }
  83469. // String returns the string representation
  83470. func (s SecurityGroupIdentifier) String() string {
  83471. return awsutil.Prettify(s)
  83472. }
  83473. // GoString returns the string representation
  83474. func (s SecurityGroupIdentifier) GoString() string {
  83475. return s.String()
  83476. }
  83477. // SetGroupId sets the GroupId field's value.
  83478. func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
  83479. s.GroupId = &v
  83480. return s
  83481. }
  83482. // SetGroupName sets the GroupName field's value.
  83483. func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
  83484. s.GroupName = &v
  83485. return s
  83486. }
  83487. // Describes a VPC with a security group that references your security group.
  83488. type SecurityGroupReference struct {
  83489. _ struct{} `type:"structure"`
  83490. // The ID of your security group.
  83491. GroupId *string `locationName:"groupId" type:"string"`
  83492. // The ID of the VPC with the referencing security group.
  83493. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
  83494. // The ID of the VPC peering connection.
  83495. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  83496. }
  83497. // String returns the string representation
  83498. func (s SecurityGroupReference) String() string {
  83499. return awsutil.Prettify(s)
  83500. }
  83501. // GoString returns the string representation
  83502. func (s SecurityGroupReference) GoString() string {
  83503. return s.String()
  83504. }
  83505. // SetGroupId sets the GroupId field's value.
  83506. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  83507. s.GroupId = &v
  83508. return s
  83509. }
  83510. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  83511. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  83512. s.ReferencingVpcId = &v
  83513. return s
  83514. }
  83515. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  83516. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  83517. s.VpcPeeringConnectionId = &v
  83518. return s
  83519. }
  83520. type SendDiagnosticInterruptInput struct {
  83521. _ struct{} `type:"structure"`
  83522. // Checks whether you have the required permissions for the action, without
  83523. // actually making the request, and provides an error response. If you have
  83524. // the required permissions, the error response is DryRunOperation. Otherwise,
  83525. // it is UnauthorizedOperation.
  83526. DryRun *bool `type:"boolean"`
  83527. // The ID of the instance.
  83528. //
  83529. // InstanceId is a required field
  83530. InstanceId *string `type:"string" required:"true"`
  83531. }
  83532. // String returns the string representation
  83533. func (s SendDiagnosticInterruptInput) String() string {
  83534. return awsutil.Prettify(s)
  83535. }
  83536. // GoString returns the string representation
  83537. func (s SendDiagnosticInterruptInput) GoString() string {
  83538. return s.String()
  83539. }
  83540. // Validate inspects the fields of the type to determine if they are valid.
  83541. func (s *SendDiagnosticInterruptInput) Validate() error {
  83542. invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"}
  83543. if s.InstanceId == nil {
  83544. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  83545. }
  83546. if invalidParams.Len() > 0 {
  83547. return invalidParams
  83548. }
  83549. return nil
  83550. }
  83551. // SetDryRun sets the DryRun field's value.
  83552. func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput {
  83553. s.DryRun = &v
  83554. return s
  83555. }
  83556. // SetInstanceId sets the InstanceId field's value.
  83557. func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput {
  83558. s.InstanceId = &v
  83559. return s
  83560. }
  83561. type SendDiagnosticInterruptOutput struct {
  83562. _ struct{} `type:"structure"`
  83563. }
  83564. // String returns the string representation
  83565. func (s SendDiagnosticInterruptOutput) String() string {
  83566. return awsutil.Prettify(s)
  83567. }
  83568. // GoString returns the string representation
  83569. func (s SendDiagnosticInterruptOutput) GoString() string {
  83570. return s.String()
  83571. }
  83572. // Describes a service configuration for a VPC endpoint service.
  83573. type ServiceConfiguration struct {
  83574. _ struct{} `type:"structure"`
  83575. // Indicates whether requests from other AWS accounts to create an endpoint
  83576. // to the service must first be accepted.
  83577. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  83578. // The Availability Zones in which the service is available.
  83579. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  83580. // The DNS names for the service.
  83581. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  83582. // Indicates whether the service manages its VPC endpoints. Management of the
  83583. // service VPC endpoints using the VPC endpoint API is restricted.
  83584. ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
  83585. // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
  83586. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
  83587. // The private DNS name for the service.
  83588. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  83589. // Information about the endpoint service private DNS name configuration.
  83590. PrivateDnsNameConfiguration *PrivateDnsNameConfiguration `locationName:"privateDnsNameConfiguration" type:"structure"`
  83591. // The ID of the service.
  83592. ServiceId *string `locationName:"serviceId" type:"string"`
  83593. // The name of the service.
  83594. ServiceName *string `locationName:"serviceName" type:"string"`
  83595. // The service state.
  83596. ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
  83597. // The type of service.
  83598. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  83599. // Any tags assigned to the service.
  83600. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  83601. }
  83602. // String returns the string representation
  83603. func (s ServiceConfiguration) String() string {
  83604. return awsutil.Prettify(s)
  83605. }
  83606. // GoString returns the string representation
  83607. func (s ServiceConfiguration) GoString() string {
  83608. return s.String()
  83609. }
  83610. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  83611. func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
  83612. s.AcceptanceRequired = &v
  83613. return s
  83614. }
  83615. // SetAvailabilityZones sets the AvailabilityZones field's value.
  83616. func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
  83617. s.AvailabilityZones = v
  83618. return s
  83619. }
  83620. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  83621. func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
  83622. s.BaseEndpointDnsNames = v
  83623. return s
  83624. }
  83625. // SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
  83626. func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
  83627. s.ManagesVpcEndpoints = &v
  83628. return s
  83629. }
  83630. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  83631. func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
  83632. s.NetworkLoadBalancerArns = v
  83633. return s
  83634. }
  83635. // SetPrivateDnsName sets the PrivateDnsName field's value.
  83636. func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
  83637. s.PrivateDnsName = &v
  83638. return s
  83639. }
  83640. // SetPrivateDnsNameConfiguration sets the PrivateDnsNameConfiguration field's value.
  83641. func (s *ServiceConfiguration) SetPrivateDnsNameConfiguration(v *PrivateDnsNameConfiguration) *ServiceConfiguration {
  83642. s.PrivateDnsNameConfiguration = v
  83643. return s
  83644. }
  83645. // SetServiceId sets the ServiceId field's value.
  83646. func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
  83647. s.ServiceId = &v
  83648. return s
  83649. }
  83650. // SetServiceName sets the ServiceName field's value.
  83651. func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
  83652. s.ServiceName = &v
  83653. return s
  83654. }
  83655. // SetServiceState sets the ServiceState field's value.
  83656. func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
  83657. s.ServiceState = &v
  83658. return s
  83659. }
  83660. // SetServiceType sets the ServiceType field's value.
  83661. func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
  83662. s.ServiceType = v
  83663. return s
  83664. }
  83665. // SetTags sets the Tags field's value.
  83666. func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
  83667. s.Tags = v
  83668. return s
  83669. }
  83670. // Describes a VPC endpoint service.
  83671. type ServiceDetail struct {
  83672. _ struct{} `type:"structure"`
  83673. // Indicates whether VPC endpoint connection requests to the service must be
  83674. // accepted by the service owner.
  83675. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  83676. // The Availability Zones in which the service is available.
  83677. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  83678. // The DNS names for the service.
  83679. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  83680. // Indicates whether the service manages its VPC endpoints. Management of the
  83681. // service VPC endpoints using the VPC endpoint API is restricted.
  83682. ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
  83683. // The AWS account ID of the service owner.
  83684. Owner *string `locationName:"owner" type:"string"`
  83685. // The private DNS name for the service.
  83686. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  83687. // The verification state of the VPC endpoint service.
  83688. //
  83689. // Consumers of the endpoint service cannot use the private name when the state
  83690. // is not verified.
  83691. PrivateDnsNameVerificationState *string `locationName:"privateDnsNameVerificationState" type:"string" enum:"DnsNameState"`
  83692. // The ID of the endpoint service.
  83693. ServiceId *string `locationName:"serviceId" type:"string"`
  83694. // The Amazon Resource Name (ARN) of the service.
  83695. ServiceName *string `locationName:"serviceName" type:"string"`
  83696. // The type of service.
  83697. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  83698. // Any tags assigned to the service.
  83699. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  83700. // Indicates whether the service supports endpoint policies.
  83701. VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
  83702. }
  83703. // String returns the string representation
  83704. func (s ServiceDetail) String() string {
  83705. return awsutil.Prettify(s)
  83706. }
  83707. // GoString returns the string representation
  83708. func (s ServiceDetail) GoString() string {
  83709. return s.String()
  83710. }
  83711. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  83712. func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
  83713. s.AcceptanceRequired = &v
  83714. return s
  83715. }
  83716. // SetAvailabilityZones sets the AvailabilityZones field's value.
  83717. func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
  83718. s.AvailabilityZones = v
  83719. return s
  83720. }
  83721. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  83722. func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
  83723. s.BaseEndpointDnsNames = v
  83724. return s
  83725. }
  83726. // SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
  83727. func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
  83728. s.ManagesVpcEndpoints = &v
  83729. return s
  83730. }
  83731. // SetOwner sets the Owner field's value.
  83732. func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
  83733. s.Owner = &v
  83734. return s
  83735. }
  83736. // SetPrivateDnsName sets the PrivateDnsName field's value.
  83737. func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
  83738. s.PrivateDnsName = &v
  83739. return s
  83740. }
  83741. // SetPrivateDnsNameVerificationState sets the PrivateDnsNameVerificationState field's value.
  83742. func (s *ServiceDetail) SetPrivateDnsNameVerificationState(v string) *ServiceDetail {
  83743. s.PrivateDnsNameVerificationState = &v
  83744. return s
  83745. }
  83746. // SetServiceId sets the ServiceId field's value.
  83747. func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
  83748. s.ServiceId = &v
  83749. return s
  83750. }
  83751. // SetServiceName sets the ServiceName field's value.
  83752. func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
  83753. s.ServiceName = &v
  83754. return s
  83755. }
  83756. // SetServiceType sets the ServiceType field's value.
  83757. func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
  83758. s.ServiceType = v
  83759. return s
  83760. }
  83761. // SetTags sets the Tags field's value.
  83762. func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
  83763. s.Tags = v
  83764. return s
  83765. }
  83766. // SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
  83767. func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
  83768. s.VpcEndpointPolicySupported = &v
  83769. return s
  83770. }
  83771. // Describes the type of service for a VPC endpoint.
  83772. type ServiceTypeDetail struct {
  83773. _ struct{} `type:"structure"`
  83774. // The type of service.
  83775. ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
  83776. }
  83777. // String returns the string representation
  83778. func (s ServiceTypeDetail) String() string {
  83779. return awsutil.Prettify(s)
  83780. }
  83781. // GoString returns the string representation
  83782. func (s ServiceTypeDetail) GoString() string {
  83783. return s.String()
  83784. }
  83785. // SetServiceType sets the ServiceType field's value.
  83786. func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
  83787. s.ServiceType = &v
  83788. return s
  83789. }
  83790. // Describes the time period for a Scheduled Instance to start its first schedule.
  83791. // The time period must span less than one day.
  83792. type SlotDateTimeRangeRequest struct {
  83793. _ struct{} `type:"structure"`
  83794. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  83795. //
  83796. // EarliestTime is a required field
  83797. EarliestTime *time.Time `type:"timestamp" required:"true"`
  83798. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  83799. // value must be later than or equal to the earliest date and at most three
  83800. // months in the future.
  83801. //
  83802. // LatestTime is a required field
  83803. LatestTime *time.Time `type:"timestamp" required:"true"`
  83804. }
  83805. // String returns the string representation
  83806. func (s SlotDateTimeRangeRequest) String() string {
  83807. return awsutil.Prettify(s)
  83808. }
  83809. // GoString returns the string representation
  83810. func (s SlotDateTimeRangeRequest) GoString() string {
  83811. return s.String()
  83812. }
  83813. // Validate inspects the fields of the type to determine if they are valid.
  83814. func (s *SlotDateTimeRangeRequest) Validate() error {
  83815. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  83816. if s.EarliestTime == nil {
  83817. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  83818. }
  83819. if s.LatestTime == nil {
  83820. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  83821. }
  83822. if invalidParams.Len() > 0 {
  83823. return invalidParams
  83824. }
  83825. return nil
  83826. }
  83827. // SetEarliestTime sets the EarliestTime field's value.
  83828. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  83829. s.EarliestTime = &v
  83830. return s
  83831. }
  83832. // SetLatestTime sets the LatestTime field's value.
  83833. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  83834. s.LatestTime = &v
  83835. return s
  83836. }
  83837. // Describes the time period for a Scheduled Instance to start its first schedule.
  83838. type SlotStartTimeRangeRequest struct {
  83839. _ struct{} `type:"structure"`
  83840. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  83841. EarliestTime *time.Time `type:"timestamp"`
  83842. // The latest date and time, in UTC, for the Scheduled Instance to start.
  83843. LatestTime *time.Time `type:"timestamp"`
  83844. }
  83845. // String returns the string representation
  83846. func (s SlotStartTimeRangeRequest) String() string {
  83847. return awsutil.Prettify(s)
  83848. }
  83849. // GoString returns the string representation
  83850. func (s SlotStartTimeRangeRequest) GoString() string {
  83851. return s.String()
  83852. }
  83853. // SetEarliestTime sets the EarliestTime field's value.
  83854. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  83855. s.EarliestTime = &v
  83856. return s
  83857. }
  83858. // SetLatestTime sets the LatestTime field's value.
  83859. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  83860. s.LatestTime = &v
  83861. return s
  83862. }
  83863. // Describes a snapshot.
  83864. type Snapshot struct {
  83865. _ struct{} `type:"structure"`
  83866. // The data encryption key identifier for the snapshot. This value is a unique
  83867. // identifier that corresponds to the data encryption key that was used to encrypt
  83868. // the original volume or snapshot copy. Because data encryption keys are inherited
  83869. // by volumes created from snapshots, and vice versa, if snapshots share the
  83870. // same data encryption key identifier, then they belong to the same volume/snapshot
  83871. // lineage. This parameter is only returned by DescribeSnapshots.
  83872. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  83873. // The description for the snapshot.
  83874. Description *string `locationName:"description" type:"string"`
  83875. // Indicates whether the snapshot is encrypted.
  83876. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  83877. // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
  83878. // customer master key (CMK) that was used to protect the volume encryption
  83879. // key for the parent volume.
  83880. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  83881. // Value from an Amazon-maintained list (amazon | self | all | aws-marketplace
  83882. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  83883. // AWS account alias, which is set from the IAM console.
  83884. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  83885. // The AWS account ID of the EBS snapshot owner.
  83886. OwnerId *string `locationName:"ownerId" type:"string"`
  83887. // The progress of the snapshot, as a percentage.
  83888. Progress *string `locationName:"progress" type:"string"`
  83889. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  83890. // is created.
  83891. SnapshotId *string `locationName:"snapshotId" type:"string"`
  83892. // The time stamp when the snapshot was initiated.
  83893. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  83894. // The snapshot state.
  83895. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  83896. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  83897. // operation fails (for example, if the proper AWS Key Management Service (AWS
  83898. // KMS) permissions are not obtained) this field displays error state details
  83899. // to help you diagnose why the error occurred. This parameter is only returned
  83900. // by DescribeSnapshots.
  83901. StateMessage *string `locationName:"statusMessage" type:"string"`
  83902. // Any tags assigned to the snapshot.
  83903. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  83904. // The ID of the volume that was used to create the snapshot. Snapshots created
  83905. // by the CopySnapshot action have an arbitrary volume ID that should not be
  83906. // used for any purpose.
  83907. VolumeId *string `locationName:"volumeId" type:"string"`
  83908. // The size of the volume, in GiB.
  83909. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  83910. }
  83911. // String returns the string representation
  83912. func (s Snapshot) String() string {
  83913. return awsutil.Prettify(s)
  83914. }
  83915. // GoString returns the string representation
  83916. func (s Snapshot) GoString() string {
  83917. return s.String()
  83918. }
  83919. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  83920. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  83921. s.DataEncryptionKeyId = &v
  83922. return s
  83923. }
  83924. // SetDescription sets the Description field's value.
  83925. func (s *Snapshot) SetDescription(v string) *Snapshot {
  83926. s.Description = &v
  83927. return s
  83928. }
  83929. // SetEncrypted sets the Encrypted field's value.
  83930. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  83931. s.Encrypted = &v
  83932. return s
  83933. }
  83934. // SetKmsKeyId sets the KmsKeyId field's value.
  83935. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  83936. s.KmsKeyId = &v
  83937. return s
  83938. }
  83939. // SetOwnerAlias sets the OwnerAlias field's value.
  83940. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  83941. s.OwnerAlias = &v
  83942. return s
  83943. }
  83944. // SetOwnerId sets the OwnerId field's value.
  83945. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  83946. s.OwnerId = &v
  83947. return s
  83948. }
  83949. // SetProgress sets the Progress field's value.
  83950. func (s *Snapshot) SetProgress(v string) *Snapshot {
  83951. s.Progress = &v
  83952. return s
  83953. }
  83954. // SetSnapshotId sets the SnapshotId field's value.
  83955. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  83956. s.SnapshotId = &v
  83957. return s
  83958. }
  83959. // SetStartTime sets the StartTime field's value.
  83960. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  83961. s.StartTime = &v
  83962. return s
  83963. }
  83964. // SetState sets the State field's value.
  83965. func (s *Snapshot) SetState(v string) *Snapshot {
  83966. s.State = &v
  83967. return s
  83968. }
  83969. // SetStateMessage sets the StateMessage field's value.
  83970. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  83971. s.StateMessage = &v
  83972. return s
  83973. }
  83974. // SetTags sets the Tags field's value.
  83975. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  83976. s.Tags = v
  83977. return s
  83978. }
  83979. // SetVolumeId sets the VolumeId field's value.
  83980. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  83981. s.VolumeId = &v
  83982. return s
  83983. }
  83984. // SetVolumeSize sets the VolumeSize field's value.
  83985. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  83986. s.VolumeSize = &v
  83987. return s
  83988. }
  83989. // Describes the snapshot created from the imported disk.
  83990. type SnapshotDetail struct {
  83991. _ struct{} `type:"structure"`
  83992. // A description for the snapshot.
  83993. Description *string `locationName:"description" type:"string"`
  83994. // The block device mapping for the snapshot.
  83995. DeviceName *string `locationName:"deviceName" type:"string"`
  83996. // The size of the disk in the snapshot, in GiB.
  83997. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  83998. // The format of the disk image from which the snapshot is created.
  83999. Format *string `locationName:"format" type:"string"`
  84000. // The percentage of progress for the task.
  84001. Progress *string `locationName:"progress" type:"string"`
  84002. // The snapshot ID of the disk being imported.
  84003. SnapshotId *string `locationName:"snapshotId" type:"string"`
  84004. // A brief status of the snapshot creation.
  84005. Status *string `locationName:"status" type:"string"`
  84006. // A detailed status message for the snapshot creation.
  84007. StatusMessage *string `locationName:"statusMessage" type:"string"`
  84008. // The URL used to access the disk image.
  84009. Url *string `locationName:"url" type:"string"`
  84010. // The S3 bucket for the disk image.
  84011. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  84012. }
  84013. // String returns the string representation
  84014. func (s SnapshotDetail) String() string {
  84015. return awsutil.Prettify(s)
  84016. }
  84017. // GoString returns the string representation
  84018. func (s SnapshotDetail) GoString() string {
  84019. return s.String()
  84020. }
  84021. // SetDescription sets the Description field's value.
  84022. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  84023. s.Description = &v
  84024. return s
  84025. }
  84026. // SetDeviceName sets the DeviceName field's value.
  84027. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  84028. s.DeviceName = &v
  84029. return s
  84030. }
  84031. // SetDiskImageSize sets the DiskImageSize field's value.
  84032. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  84033. s.DiskImageSize = &v
  84034. return s
  84035. }
  84036. // SetFormat sets the Format field's value.
  84037. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  84038. s.Format = &v
  84039. return s
  84040. }
  84041. // SetProgress sets the Progress field's value.
  84042. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  84043. s.Progress = &v
  84044. return s
  84045. }
  84046. // SetSnapshotId sets the SnapshotId field's value.
  84047. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  84048. s.SnapshotId = &v
  84049. return s
  84050. }
  84051. // SetStatus sets the Status field's value.
  84052. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  84053. s.Status = &v
  84054. return s
  84055. }
  84056. // SetStatusMessage sets the StatusMessage field's value.
  84057. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  84058. s.StatusMessage = &v
  84059. return s
  84060. }
  84061. // SetUrl sets the Url field's value.
  84062. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  84063. s.Url = &v
  84064. return s
  84065. }
  84066. // SetUserBucket sets the UserBucket field's value.
  84067. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  84068. s.UserBucket = v
  84069. return s
  84070. }
  84071. // The disk container object for the import snapshot request.
  84072. type SnapshotDiskContainer struct {
  84073. _ struct{} `type:"structure"`
  84074. // The description of the disk image being imported.
  84075. Description *string `type:"string"`
  84076. // The format of the disk image being imported.
  84077. //
  84078. // Valid values: VHD | VMDK
  84079. Format *string `type:"string"`
  84080. // The URL to the Amazon S3-based disk image being imported. It can either be
  84081. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  84082. Url *string `type:"string"`
  84083. // The S3 bucket for the disk image.
  84084. UserBucket *UserBucket `type:"structure"`
  84085. }
  84086. // String returns the string representation
  84087. func (s SnapshotDiskContainer) String() string {
  84088. return awsutil.Prettify(s)
  84089. }
  84090. // GoString returns the string representation
  84091. func (s SnapshotDiskContainer) GoString() string {
  84092. return s.String()
  84093. }
  84094. // SetDescription sets the Description field's value.
  84095. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  84096. s.Description = &v
  84097. return s
  84098. }
  84099. // SetFormat sets the Format field's value.
  84100. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  84101. s.Format = &v
  84102. return s
  84103. }
  84104. // SetUrl sets the Url field's value.
  84105. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  84106. s.Url = &v
  84107. return s
  84108. }
  84109. // SetUserBucket sets the UserBucket field's value.
  84110. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  84111. s.UserBucket = v
  84112. return s
  84113. }
  84114. // Information about a snapshot.
  84115. type SnapshotInfo struct {
  84116. _ struct{} `type:"structure"`
  84117. // Description specified by the CreateSnapshotRequest that has been applied
  84118. // to all snapshots.
  84119. Description *string `locationName:"description" type:"string"`
  84120. // Indicates whether the snapshot is encrypted.
  84121. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  84122. // Account id used when creating this snapshot.
  84123. OwnerId *string `locationName:"ownerId" type:"string"`
  84124. // Progress this snapshot has made towards completing.
  84125. Progress *string `locationName:"progress" type:"string"`
  84126. // Snapshot id that can be used to describe this snapshot.
  84127. SnapshotId *string `locationName:"snapshotId" type:"string"`
  84128. // Time this snapshot was started. This is the same for all snapshots initiated
  84129. // by the same request.
  84130. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  84131. // Current state of the snapshot.
  84132. State *string `locationName:"state" type:"string" enum:"SnapshotState"`
  84133. // Tags associated with this snapshot.
  84134. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  84135. // Source volume from which this snapshot was created.
  84136. VolumeId *string `locationName:"volumeId" type:"string"`
  84137. // Size of the volume from which this snapshot was created.
  84138. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  84139. }
  84140. // String returns the string representation
  84141. func (s SnapshotInfo) String() string {
  84142. return awsutil.Prettify(s)
  84143. }
  84144. // GoString returns the string representation
  84145. func (s SnapshotInfo) GoString() string {
  84146. return s.String()
  84147. }
  84148. // SetDescription sets the Description field's value.
  84149. func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo {
  84150. s.Description = &v
  84151. return s
  84152. }
  84153. // SetEncrypted sets the Encrypted field's value.
  84154. func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo {
  84155. s.Encrypted = &v
  84156. return s
  84157. }
  84158. // SetOwnerId sets the OwnerId field's value.
  84159. func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo {
  84160. s.OwnerId = &v
  84161. return s
  84162. }
  84163. // SetProgress sets the Progress field's value.
  84164. func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo {
  84165. s.Progress = &v
  84166. return s
  84167. }
  84168. // SetSnapshotId sets the SnapshotId field's value.
  84169. func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo {
  84170. s.SnapshotId = &v
  84171. return s
  84172. }
  84173. // SetStartTime sets the StartTime field's value.
  84174. func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo {
  84175. s.StartTime = &v
  84176. return s
  84177. }
  84178. // SetState sets the State field's value.
  84179. func (s *SnapshotInfo) SetState(v string) *SnapshotInfo {
  84180. s.State = &v
  84181. return s
  84182. }
  84183. // SetTags sets the Tags field's value.
  84184. func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo {
  84185. s.Tags = v
  84186. return s
  84187. }
  84188. // SetVolumeId sets the VolumeId field's value.
  84189. func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo {
  84190. s.VolumeId = &v
  84191. return s
  84192. }
  84193. // SetVolumeSize sets the VolumeSize field's value.
  84194. func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo {
  84195. s.VolumeSize = &v
  84196. return s
  84197. }
  84198. // Details about the import snapshot task.
  84199. type SnapshotTaskDetail struct {
  84200. _ struct{} `type:"structure"`
  84201. // The description of the snapshot.
  84202. Description *string `locationName:"description" type:"string"`
  84203. // The size of the disk in the snapshot, in GiB.
  84204. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  84205. // Indicates whether the snapshot is encrypted.
  84206. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  84207. // The format of the disk image from which the snapshot is created.
  84208. Format *string `locationName:"format" type:"string"`
  84209. // The identifier for the AWS Key Management Service (AWS KMS) customer master
  84210. // key (CMK) that was used to create the encrypted snapshot.
  84211. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  84212. // The percentage of completion for the import snapshot task.
  84213. Progress *string `locationName:"progress" type:"string"`
  84214. // The snapshot ID of the disk being imported.
  84215. SnapshotId *string `locationName:"snapshotId" type:"string"`
  84216. // A brief status for the import snapshot task.
  84217. Status *string `locationName:"status" type:"string"`
  84218. // A detailed status message for the import snapshot task.
  84219. StatusMessage *string `locationName:"statusMessage" type:"string"`
  84220. // The URL of the disk image from which the snapshot is created.
  84221. Url *string `locationName:"url" type:"string"`
  84222. // The S3 bucket for the disk image.
  84223. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  84224. }
  84225. // String returns the string representation
  84226. func (s SnapshotTaskDetail) String() string {
  84227. return awsutil.Prettify(s)
  84228. }
  84229. // GoString returns the string representation
  84230. func (s SnapshotTaskDetail) GoString() string {
  84231. return s.String()
  84232. }
  84233. // SetDescription sets the Description field's value.
  84234. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  84235. s.Description = &v
  84236. return s
  84237. }
  84238. // SetDiskImageSize sets the DiskImageSize field's value.
  84239. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  84240. s.DiskImageSize = &v
  84241. return s
  84242. }
  84243. // SetEncrypted sets the Encrypted field's value.
  84244. func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
  84245. s.Encrypted = &v
  84246. return s
  84247. }
  84248. // SetFormat sets the Format field's value.
  84249. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  84250. s.Format = &v
  84251. return s
  84252. }
  84253. // SetKmsKeyId sets the KmsKeyId field's value.
  84254. func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
  84255. s.KmsKeyId = &v
  84256. return s
  84257. }
  84258. // SetProgress sets the Progress field's value.
  84259. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  84260. s.Progress = &v
  84261. return s
  84262. }
  84263. // SetSnapshotId sets the SnapshotId field's value.
  84264. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  84265. s.SnapshotId = &v
  84266. return s
  84267. }
  84268. // SetStatus sets the Status field's value.
  84269. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  84270. s.Status = &v
  84271. return s
  84272. }
  84273. // SetStatusMessage sets the StatusMessage field's value.
  84274. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  84275. s.StatusMessage = &v
  84276. return s
  84277. }
  84278. // SetUrl sets the Url field's value.
  84279. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  84280. s.Url = &v
  84281. return s
  84282. }
  84283. // SetUserBucket sets the UserBucket field's value.
  84284. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  84285. s.UserBucket = v
  84286. return s
  84287. }
  84288. // Describes the data feed for a Spot Instance.
  84289. type SpotDatafeedSubscription struct {
  84290. _ struct{} `type:"structure"`
  84291. // The Amazon S3 bucket where the Spot Instance data feed is located.
  84292. Bucket *string `locationName:"bucket" type:"string"`
  84293. // The fault codes for the Spot Instance request, if any.
  84294. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  84295. // The AWS account ID of the account.
  84296. OwnerId *string `locationName:"ownerId" type:"string"`
  84297. // The prefix that is prepended to data feed files.
  84298. Prefix *string `locationName:"prefix" type:"string"`
  84299. // The state of the Spot Instance data feed subscription.
  84300. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  84301. }
  84302. // String returns the string representation
  84303. func (s SpotDatafeedSubscription) String() string {
  84304. return awsutil.Prettify(s)
  84305. }
  84306. // GoString returns the string representation
  84307. func (s SpotDatafeedSubscription) GoString() string {
  84308. return s.String()
  84309. }
  84310. // SetBucket sets the Bucket field's value.
  84311. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  84312. s.Bucket = &v
  84313. return s
  84314. }
  84315. // SetFault sets the Fault field's value.
  84316. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  84317. s.Fault = v
  84318. return s
  84319. }
  84320. // SetOwnerId sets the OwnerId field's value.
  84321. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  84322. s.OwnerId = &v
  84323. return s
  84324. }
  84325. // SetPrefix sets the Prefix field's value.
  84326. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  84327. s.Prefix = &v
  84328. return s
  84329. }
  84330. // SetState sets the State field's value.
  84331. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  84332. s.State = &v
  84333. return s
  84334. }
  84335. // Describes the launch specification for one or more Spot Instances. If you
  84336. // include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification;
  84337. // you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
  84338. type SpotFleetLaunchSpecification struct {
  84339. _ struct{} `type:"structure"`
  84340. // Deprecated.
  84341. AddressingType *string `locationName:"addressingType" type:"string"`
  84342. // One or more block devices that are mapped to the Spot Instances. You can't
  84343. // specify both a snapshot ID and an encryption value. This is because only
  84344. // blank volumes can be encrypted on creation. If a snapshot is the basis for
  84345. // a volume, it is not blank and its encryption status is used for the volume
  84346. // encryption status.
  84347. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  84348. // Indicates whether the instances are optimized for EBS I/O. This optimization
  84349. // provides dedicated throughput to Amazon EBS and an optimized configuration
  84350. // stack to provide optimal EBS I/O performance. This optimization isn't available
  84351. // with all instance types. Additional usage charges apply when using an EBS
  84352. // Optimized instance.
  84353. //
  84354. // Default: false
  84355. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  84356. // The IAM instance profile.
  84357. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  84358. // The ID of the AMI.
  84359. ImageId *string `locationName:"imageId" type:"string"`
  84360. // The instance type.
  84361. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  84362. // The ID of the kernel.
  84363. KernelId *string `locationName:"kernelId" type:"string"`
  84364. // The name of the key pair.
  84365. KeyName *string `locationName:"keyName" type:"string"`
  84366. // Enable or disable monitoring for the instances.
  84367. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  84368. // One or more network interfaces. If you specify a network interface, you must
  84369. // specify subnet IDs and security group IDs using the network interface.
  84370. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  84371. // The placement information.
  84372. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  84373. // The ID of the RAM disk. Some kernels require additional drivers at launch.
  84374. // Check the kernel requirements for information about whether you need to specify
  84375. // a RAM disk. To find kernel requirements, refer to the AWS Resource Center
  84376. // and search for the kernel ID.
  84377. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  84378. // One or more security groups. When requesting instances in a VPC, you must
  84379. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  84380. // you can specify the names or the IDs of the security groups.
  84381. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  84382. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  84383. // If this value is not specified, the default is the Spot price specified for
  84384. // the fleet. To determine the Spot price per unit hour, divide the Spot price
  84385. // by the value of WeightedCapacity.
  84386. SpotPrice *string `locationName:"spotPrice" type:"string"`
  84387. // The IDs of the subnets in which to launch the instances. To specify multiple
  84388. // subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
  84389. // subnet-0987cdef6example2".
  84390. SubnetId *string `locationName:"subnetId" type:"string"`
  84391. // The tags to apply during creation.
  84392. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  84393. // The Base64-encoded user data that instances use when starting up.
  84394. UserData *string `locationName:"userData" type:"string"`
  84395. // The number of units provided by the specified instance type. These are the
  84396. // same units that you chose to set the target capacity in terms of instances,
  84397. // or a performance characteristic such as vCPUs, memory, or I/O.
  84398. //
  84399. // If the target capacity divided by this value is not a whole number, Amazon
  84400. // EC2 rounds the number of instances to the next whole number. If this value
  84401. // is not specified, the default is 1.
  84402. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  84403. }
  84404. // String returns the string representation
  84405. func (s SpotFleetLaunchSpecification) String() string {
  84406. return awsutil.Prettify(s)
  84407. }
  84408. // GoString returns the string representation
  84409. func (s SpotFleetLaunchSpecification) GoString() string {
  84410. return s.String()
  84411. }
  84412. // SetAddressingType sets the AddressingType field's value.
  84413. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  84414. s.AddressingType = &v
  84415. return s
  84416. }
  84417. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  84418. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  84419. s.BlockDeviceMappings = v
  84420. return s
  84421. }
  84422. // SetEbsOptimized sets the EbsOptimized field's value.
  84423. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  84424. s.EbsOptimized = &v
  84425. return s
  84426. }
  84427. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  84428. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  84429. s.IamInstanceProfile = v
  84430. return s
  84431. }
  84432. // SetImageId sets the ImageId field's value.
  84433. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  84434. s.ImageId = &v
  84435. return s
  84436. }
  84437. // SetInstanceType sets the InstanceType field's value.
  84438. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  84439. s.InstanceType = &v
  84440. return s
  84441. }
  84442. // SetKernelId sets the KernelId field's value.
  84443. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  84444. s.KernelId = &v
  84445. return s
  84446. }
  84447. // SetKeyName sets the KeyName field's value.
  84448. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  84449. s.KeyName = &v
  84450. return s
  84451. }
  84452. // SetMonitoring sets the Monitoring field's value.
  84453. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  84454. s.Monitoring = v
  84455. return s
  84456. }
  84457. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  84458. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  84459. s.NetworkInterfaces = v
  84460. return s
  84461. }
  84462. // SetPlacement sets the Placement field's value.
  84463. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  84464. s.Placement = v
  84465. return s
  84466. }
  84467. // SetRamdiskId sets the RamdiskId field's value.
  84468. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  84469. s.RamdiskId = &v
  84470. return s
  84471. }
  84472. // SetSecurityGroups sets the SecurityGroups field's value.
  84473. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  84474. s.SecurityGroups = v
  84475. return s
  84476. }
  84477. // SetSpotPrice sets the SpotPrice field's value.
  84478. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  84479. s.SpotPrice = &v
  84480. return s
  84481. }
  84482. // SetSubnetId sets the SubnetId field's value.
  84483. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  84484. s.SubnetId = &v
  84485. return s
  84486. }
  84487. // SetTagSpecifications sets the TagSpecifications field's value.
  84488. func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
  84489. s.TagSpecifications = v
  84490. return s
  84491. }
  84492. // SetUserData sets the UserData field's value.
  84493. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  84494. s.UserData = &v
  84495. return s
  84496. }
  84497. // SetWeightedCapacity sets the WeightedCapacity field's value.
  84498. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  84499. s.WeightedCapacity = &v
  84500. return s
  84501. }
  84502. // Describes whether monitoring is enabled.
  84503. type SpotFleetMonitoring struct {
  84504. _ struct{} `type:"structure"`
  84505. // Enables monitoring for the instance.
  84506. //
  84507. // Default: false
  84508. Enabled *bool `locationName:"enabled" type:"boolean"`
  84509. }
  84510. // String returns the string representation
  84511. func (s SpotFleetMonitoring) String() string {
  84512. return awsutil.Prettify(s)
  84513. }
  84514. // GoString returns the string representation
  84515. func (s SpotFleetMonitoring) GoString() string {
  84516. return s.String()
  84517. }
  84518. // SetEnabled sets the Enabled field's value.
  84519. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  84520. s.Enabled = &v
  84521. return s
  84522. }
  84523. // Describes a Spot Fleet request.
  84524. type SpotFleetRequestConfig struct {
  84525. _ struct{} `type:"structure"`
  84526. // The progress of the Spot Fleet request. If there is an error, the status
  84527. // is error. After all requests are placed, the status is pending_fulfillment.
  84528. // If the size of the fleet is equal to or greater than its target capacity,
  84529. // the status is fulfilled. If the size of the fleet is decreased, the status
  84530. // is pending_termination while Spot Instances are terminating.
  84531. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  84532. // The creation date and time of the request.
  84533. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  84534. // The configuration of the Spot Fleet request.
  84535. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
  84536. // The ID of the Spot Fleet request.
  84537. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  84538. // The state of the Spot Fleet request.
  84539. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
  84540. }
  84541. // String returns the string representation
  84542. func (s SpotFleetRequestConfig) String() string {
  84543. return awsutil.Prettify(s)
  84544. }
  84545. // GoString returns the string representation
  84546. func (s SpotFleetRequestConfig) GoString() string {
  84547. return s.String()
  84548. }
  84549. // SetActivityStatus sets the ActivityStatus field's value.
  84550. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  84551. s.ActivityStatus = &v
  84552. return s
  84553. }
  84554. // SetCreateTime sets the CreateTime field's value.
  84555. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  84556. s.CreateTime = &v
  84557. return s
  84558. }
  84559. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  84560. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  84561. s.SpotFleetRequestConfig = v
  84562. return s
  84563. }
  84564. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  84565. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  84566. s.SpotFleetRequestId = &v
  84567. return s
  84568. }
  84569. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  84570. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  84571. s.SpotFleetRequestState = &v
  84572. return s
  84573. }
  84574. // Describes the configuration of a Spot Fleet request.
  84575. type SpotFleetRequestConfigData struct {
  84576. _ struct{} `type:"structure"`
  84577. // Indicates how to allocate the target Spot Instance capacity across the Spot
  84578. // Instance pools specified by the Spot Fleet request.
  84579. //
  84580. // If the allocation strategy is lowestPrice, Spot Fleet launches instances
  84581. // from the Spot Instance pools with the lowest price. This is the default allocation
  84582. // strategy.
  84583. //
  84584. // If the allocation strategy is diversified, Spot Fleet launches instances
  84585. // from all the Spot Instance pools that you specify.
  84586. //
  84587. // If the allocation strategy is capacityOptimized, Spot Fleet launches instances
  84588. // from Spot Instance pools with optimal capacity for the number of instances
  84589. // that are launching.
  84590. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  84591. // A unique, case-sensitive identifier that you provide to ensure the idempotency
  84592. // of your listings. This helps to avoid duplicate listings. For more information,
  84593. // see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  84594. ClientToken *string `locationName:"clientToken" type:"string"`
  84595. // Indicates whether running Spot Instances should be terminated if you decrease
  84596. // the target capacity of the Spot Fleet request below the current size of the
  84597. // Spot Fleet.
  84598. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  84599. // The number of units fulfilled by this request compared to the set target
  84600. // capacity. You cannot set this value.
  84601. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  84602. // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
  84603. // role that grants the Spot Fleet the permission to request, launch, terminate,
  84604. // and tag instances on your behalf. For more information, see Spot Fleet Prerequisites
  84605. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
  84606. // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
  84607. // Spot Instances on your behalf when you cancel its Spot Fleet request using
  84608. // CancelSpotFleetRequests or when the Spot Fleet request expires, if you set
  84609. // TerminateInstancesWithExpiration.
  84610. //
  84611. // IamFleetRole is a required field
  84612. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  84613. // The behavior when a Spot Instance is interrupted. The default is terminate.
  84614. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  84615. // The number of Spot pools across which to allocate your target Spot capacity.
  84616. // Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
  84617. // selects the cheapest Spot pools and evenly allocates your target Spot capacity
  84618. // across the number of Spot pools that you specify.
  84619. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
  84620. // The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
  84621. // you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
  84622. // in your request, you must use LaunchTemplateConfigs.
  84623. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
  84624. // The launch template and overrides. If you specify LaunchTemplateConfigs,
  84625. // you can't specify LaunchSpecifications. If you include On-Demand capacity
  84626. // in your request, you must use LaunchTemplateConfigs.
  84627. LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  84628. // One or more Classic Load Balancers and target groups to attach to the Spot
  84629. // Fleet request. Spot Fleet registers the running Spot Instances with the specified
  84630. // Classic Load Balancers and target groups.
  84631. //
  84632. // With Network Load Balancers, Spot Fleet cannot register instances that have
  84633. // the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
  84634. // HS1, M1, M2, M3, and T1.
  84635. LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
  84636. // The order of the launch template overrides to use in fulfilling On-Demand
  84637. // capacity. If you specify lowestPrice, Spot Fleet uses price to determine
  84638. // the order, launching the lowest price first. If you specify prioritized,
  84639. // Spot Fleet uses the priority that you assign to each Spot Fleet launch template
  84640. // override, launching the highest priority first. If you do not specify a value,
  84641. // Spot Fleet defaults to lowestPrice.
  84642. OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
  84643. // The number of On-Demand units fulfilled by this request compared to the set
  84644. // target On-Demand capacity.
  84645. OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
  84646. // The maximum amount per hour for On-Demand Instances that you're willing to
  84647. // pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice
  84648. // parameter, or both parameters to ensure that your fleet cost does not exceed
  84649. // your budget. If you set a maximum price per hour for the On-Demand Instances
  84650. // and Spot Instances in your request, Spot Fleet will launch instances until
  84651. // it reaches the maximum amount you're willing to pay. When the maximum amount
  84652. // you're willing to pay is reached, the fleet stops launching instances even
  84653. // if it hasn’t met the target capacity.
  84654. OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"`
  84655. // The number of On-Demand units to request. You can choose to set the target
  84656. // capacity in terms of instances or a performance characteristic that is important
  84657. // to your application workload, such as vCPUs, memory, or I/O. If the request
  84658. // type is maintain, you can specify a target capacity of 0 and add capacity
  84659. // later.
  84660. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  84661. // Indicates whether Spot Fleet should replace unhealthy instances.
  84662. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  84663. // The maximum amount per hour for Spot Instances that you're willing to pay.
  84664. // You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
  84665. // or both parameters to ensure that your fleet cost does not exceed your budget.
  84666. // If you set a maximum price per hour for the On-Demand Instances and Spot
  84667. // Instances in your request, Spot Fleet will launch instances until it reaches
  84668. // the maximum amount you're willing to pay. When the maximum amount you're
  84669. // willing to pay is reached, the fleet stops launching instances even if it
  84670. // hasn’t met the target capacity.
  84671. SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"`
  84672. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  84673. // The default is the On-Demand price.
  84674. SpotPrice *string `locationName:"spotPrice" type:"string"`
  84675. // The number of units to request for the Spot Fleet. You can choose to set
  84676. // the target capacity in terms of instances or a performance characteristic
  84677. // that is important to your application workload, such as vCPUs, memory, or
  84678. // I/O. If the request type is maintain, you can specify a target capacity of
  84679. // 0 and add capacity later.
  84680. //
  84681. // TargetCapacity is a required field
  84682. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  84683. // Indicates whether running Spot Instances are terminated when the Spot Fleet
  84684. // request expires.
  84685. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  84686. // The type of request. Indicates whether the Spot Fleet only requests the target
  84687. // capacity or also attempts to maintain it. When this value is request, the
  84688. // Spot Fleet only places the required requests. It does not attempt to replenish
  84689. // Spot Instances if capacity is diminished, nor does it submit requests in
  84690. // alternative Spot pools if capacity is not available. When this value is maintain,
  84691. // the Spot Fleet maintains the target capacity. The Spot Fleet places the required
  84692. // requests to meet capacity and automatically replenishes any interrupted instances.
  84693. // Default: maintain. instant is listed but is not used by Spot Fleet.
  84694. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  84695. // The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
  84696. // By default, Amazon EC2 starts fulfilling the request immediately.
  84697. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  84698. // The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
  84699. // After the end date and time, no new Spot Instance requests are placed or
  84700. // able to fulfill the request. If no value is specified, the Spot Fleet request
  84701. // remains until you cancel it.
  84702. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  84703. }
  84704. // String returns the string representation
  84705. func (s SpotFleetRequestConfigData) String() string {
  84706. return awsutil.Prettify(s)
  84707. }
  84708. // GoString returns the string representation
  84709. func (s SpotFleetRequestConfigData) GoString() string {
  84710. return s.String()
  84711. }
  84712. // Validate inspects the fields of the type to determine if they are valid.
  84713. func (s *SpotFleetRequestConfigData) Validate() error {
  84714. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  84715. if s.IamFleetRole == nil {
  84716. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  84717. }
  84718. if s.TargetCapacity == nil {
  84719. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  84720. }
  84721. if s.LaunchTemplateConfigs != nil {
  84722. for i, v := range s.LaunchTemplateConfigs {
  84723. if v == nil {
  84724. continue
  84725. }
  84726. if err := v.Validate(); err != nil {
  84727. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  84728. }
  84729. }
  84730. }
  84731. if s.LoadBalancersConfig != nil {
  84732. if err := s.LoadBalancersConfig.Validate(); err != nil {
  84733. invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
  84734. }
  84735. }
  84736. if invalidParams.Len() > 0 {
  84737. return invalidParams
  84738. }
  84739. return nil
  84740. }
  84741. // SetAllocationStrategy sets the AllocationStrategy field's value.
  84742. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  84743. s.AllocationStrategy = &v
  84744. return s
  84745. }
  84746. // SetClientToken sets the ClientToken field's value.
  84747. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  84748. s.ClientToken = &v
  84749. return s
  84750. }
  84751. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  84752. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  84753. s.ExcessCapacityTerminationPolicy = &v
  84754. return s
  84755. }
  84756. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  84757. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  84758. s.FulfilledCapacity = &v
  84759. return s
  84760. }
  84761. // SetIamFleetRole sets the IamFleetRole field's value.
  84762. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  84763. s.IamFleetRole = &v
  84764. return s
  84765. }
  84766. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  84767. func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
  84768. s.InstanceInterruptionBehavior = &v
  84769. return s
  84770. }
  84771. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  84772. func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
  84773. s.InstancePoolsToUseCount = &v
  84774. return s
  84775. }
  84776. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  84777. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  84778. s.LaunchSpecifications = v
  84779. return s
  84780. }
  84781. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  84782. func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
  84783. s.LaunchTemplateConfigs = v
  84784. return s
  84785. }
  84786. // SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
  84787. func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
  84788. s.LoadBalancersConfig = v
  84789. return s
  84790. }
  84791. // SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
  84792. func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
  84793. s.OnDemandAllocationStrategy = &v
  84794. return s
  84795. }
  84796. // SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
  84797. func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  84798. s.OnDemandFulfilledCapacity = &v
  84799. return s
  84800. }
  84801. // SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value.
  84802. func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData {
  84803. s.OnDemandMaxTotalPrice = &v
  84804. return s
  84805. }
  84806. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  84807. func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
  84808. s.OnDemandTargetCapacity = &v
  84809. return s
  84810. }
  84811. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  84812. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  84813. s.ReplaceUnhealthyInstances = &v
  84814. return s
  84815. }
  84816. // SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
  84817. func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
  84818. s.SpotMaxTotalPrice = &v
  84819. return s
  84820. }
  84821. // SetSpotPrice sets the SpotPrice field's value.
  84822. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  84823. s.SpotPrice = &v
  84824. return s
  84825. }
  84826. // SetTargetCapacity sets the TargetCapacity field's value.
  84827. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  84828. s.TargetCapacity = &v
  84829. return s
  84830. }
  84831. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  84832. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  84833. s.TerminateInstancesWithExpiration = &v
  84834. return s
  84835. }
  84836. // SetType sets the Type field's value.
  84837. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  84838. s.Type = &v
  84839. return s
  84840. }
  84841. // SetValidFrom sets the ValidFrom field's value.
  84842. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  84843. s.ValidFrom = &v
  84844. return s
  84845. }
  84846. // SetValidUntil sets the ValidUntil field's value.
  84847. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  84848. s.ValidUntil = &v
  84849. return s
  84850. }
  84851. // The tags for a Spot Fleet resource.
  84852. type SpotFleetTagSpecification struct {
  84853. _ struct{} `type:"structure"`
  84854. // The type of resource. Currently, the only resource type that is supported
  84855. // is instance.
  84856. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  84857. // The tags.
  84858. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  84859. }
  84860. // String returns the string representation
  84861. func (s SpotFleetTagSpecification) String() string {
  84862. return awsutil.Prettify(s)
  84863. }
  84864. // GoString returns the string representation
  84865. func (s SpotFleetTagSpecification) GoString() string {
  84866. return s.String()
  84867. }
  84868. // SetResourceType sets the ResourceType field's value.
  84869. func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
  84870. s.ResourceType = &v
  84871. return s
  84872. }
  84873. // SetTags sets the Tags field's value.
  84874. func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
  84875. s.Tags = v
  84876. return s
  84877. }
  84878. // Describes a Spot Instance request.
  84879. type SpotInstanceRequest struct {
  84880. _ struct{} `type:"structure"`
  84881. // If you specified a duration and your Spot Instance request was fulfilled,
  84882. // this is the fixed hourly price in effect for the Spot Instance while it runs.
  84883. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  84884. // The Availability Zone group. If you specify the same Availability Zone group
  84885. // for all Spot Instance requests, all Spot Instances are launched in the same
  84886. // Availability Zone.
  84887. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  84888. // The duration for the Spot Instance, in minutes.
  84889. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  84890. // The date and time when the Spot Instance request was created, in UTC format
  84891. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  84892. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  84893. // The fault codes for the Spot Instance request, if any.
  84894. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  84895. // The instance ID, if an instance has been launched to fulfill the Spot Instance
  84896. // request.
  84897. InstanceId *string `locationName:"instanceId" type:"string"`
  84898. // The behavior when a Spot Instance is interrupted.
  84899. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  84900. // The instance launch group. Launch groups are Spot Instances that launch together
  84901. // and terminate together.
  84902. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  84903. // Additional information for launching instances.
  84904. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  84905. // The Availability Zone in which the request is launched.
  84906. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  84907. // The product description associated with the Spot Instance.
  84908. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  84909. // The ID of the Spot Instance request.
  84910. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  84911. // The maximum price per hour that you are willing to pay for a Spot Instance.
  84912. SpotPrice *string `locationName:"spotPrice" type:"string"`
  84913. // The state of the Spot Instance request. Spot status information helps track
  84914. // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  84915. // in the Amazon EC2 User Guide for Linux Instances.
  84916. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  84917. // The status code and status message describing the Spot Instance request.
  84918. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  84919. // Any tags assigned to the resource.
  84920. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  84921. // The Spot Instance request type.
  84922. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  84923. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  84924. // The request becomes active at this date and time.
  84925. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  84926. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  84927. // If this is a one-time request, it remains active until all instances launch,
  84928. // the request is canceled, or this date is reached. If the request is persistent,
  84929. // it remains active until it is canceled or this date is reached. The default
  84930. // end date is 7 days from the current date.
  84931. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  84932. }
  84933. // String returns the string representation
  84934. func (s SpotInstanceRequest) String() string {
  84935. return awsutil.Prettify(s)
  84936. }
  84937. // GoString returns the string representation
  84938. func (s SpotInstanceRequest) GoString() string {
  84939. return s.String()
  84940. }
  84941. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  84942. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  84943. s.ActualBlockHourlyPrice = &v
  84944. return s
  84945. }
  84946. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  84947. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  84948. s.AvailabilityZoneGroup = &v
  84949. return s
  84950. }
  84951. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  84952. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  84953. s.BlockDurationMinutes = &v
  84954. return s
  84955. }
  84956. // SetCreateTime sets the CreateTime field's value.
  84957. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  84958. s.CreateTime = &v
  84959. return s
  84960. }
  84961. // SetFault sets the Fault field's value.
  84962. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  84963. s.Fault = v
  84964. return s
  84965. }
  84966. // SetInstanceId sets the InstanceId field's value.
  84967. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  84968. s.InstanceId = &v
  84969. return s
  84970. }
  84971. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  84972. func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
  84973. s.InstanceInterruptionBehavior = &v
  84974. return s
  84975. }
  84976. // SetLaunchGroup sets the LaunchGroup field's value.
  84977. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  84978. s.LaunchGroup = &v
  84979. return s
  84980. }
  84981. // SetLaunchSpecification sets the LaunchSpecification field's value.
  84982. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  84983. s.LaunchSpecification = v
  84984. return s
  84985. }
  84986. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  84987. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  84988. s.LaunchedAvailabilityZone = &v
  84989. return s
  84990. }
  84991. // SetProductDescription sets the ProductDescription field's value.
  84992. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  84993. s.ProductDescription = &v
  84994. return s
  84995. }
  84996. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  84997. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  84998. s.SpotInstanceRequestId = &v
  84999. return s
  85000. }
  85001. // SetSpotPrice sets the SpotPrice field's value.
  85002. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  85003. s.SpotPrice = &v
  85004. return s
  85005. }
  85006. // SetState sets the State field's value.
  85007. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  85008. s.State = &v
  85009. return s
  85010. }
  85011. // SetStatus sets the Status field's value.
  85012. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  85013. s.Status = v
  85014. return s
  85015. }
  85016. // SetTags sets the Tags field's value.
  85017. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  85018. s.Tags = v
  85019. return s
  85020. }
  85021. // SetType sets the Type field's value.
  85022. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  85023. s.Type = &v
  85024. return s
  85025. }
  85026. // SetValidFrom sets the ValidFrom field's value.
  85027. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  85028. s.ValidFrom = &v
  85029. return s
  85030. }
  85031. // SetValidUntil sets the ValidUntil field's value.
  85032. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  85033. s.ValidUntil = &v
  85034. return s
  85035. }
  85036. // Describes a Spot Instance state change.
  85037. type SpotInstanceStateFault struct {
  85038. _ struct{} `type:"structure"`
  85039. // The reason code for the Spot Instance state change.
  85040. Code *string `locationName:"code" type:"string"`
  85041. // The message for the Spot Instance state change.
  85042. Message *string `locationName:"message" type:"string"`
  85043. }
  85044. // String returns the string representation
  85045. func (s SpotInstanceStateFault) String() string {
  85046. return awsutil.Prettify(s)
  85047. }
  85048. // GoString returns the string representation
  85049. func (s SpotInstanceStateFault) GoString() string {
  85050. return s.String()
  85051. }
  85052. // SetCode sets the Code field's value.
  85053. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  85054. s.Code = &v
  85055. return s
  85056. }
  85057. // SetMessage sets the Message field's value.
  85058. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  85059. s.Message = &v
  85060. return s
  85061. }
  85062. // Describes the status of a Spot Instance request.
  85063. type SpotInstanceStatus struct {
  85064. _ struct{} `type:"structure"`
  85065. // The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
  85066. // in the Amazon EC2 User Guide for Linux Instances.
  85067. Code *string `locationName:"code" type:"string"`
  85068. // The description for the status code.
  85069. Message *string `locationName:"message" type:"string"`
  85070. // The date and time of the most recent status update, in UTC format (for example,
  85071. // YYYY-MM-DDTHH:MM:SSZ).
  85072. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  85073. }
  85074. // String returns the string representation
  85075. func (s SpotInstanceStatus) String() string {
  85076. return awsutil.Prettify(s)
  85077. }
  85078. // GoString returns the string representation
  85079. func (s SpotInstanceStatus) GoString() string {
  85080. return s.String()
  85081. }
  85082. // SetCode sets the Code field's value.
  85083. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  85084. s.Code = &v
  85085. return s
  85086. }
  85087. // SetMessage sets the Message field's value.
  85088. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  85089. s.Message = &v
  85090. return s
  85091. }
  85092. // SetUpdateTime sets the UpdateTime field's value.
  85093. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  85094. s.UpdateTime = &v
  85095. return s
  85096. }
  85097. // The options for Spot Instances.
  85098. type SpotMarketOptions struct {
  85099. _ struct{} `type:"structure"`
  85100. // The required duration for the Spot Instances (also known as Spot blocks),
  85101. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  85102. // or 360).
  85103. BlockDurationMinutes *int64 `type:"integer"`
  85104. // The behavior when a Spot Instance is interrupted. The default is terminate.
  85105. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  85106. // The maximum hourly price you're willing to pay for the Spot Instances. The
  85107. // default is the On-Demand price.
  85108. MaxPrice *string `type:"string"`
  85109. // The Spot Instance request type. For RunInstances, persistent Spot Instance
  85110. // requests are only supported when InstanceInterruptionBehavior is set to either
  85111. // hibernate or stop.
  85112. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  85113. // The end date of the request. For a one-time request, the request remains
  85114. // active until all instances launch, the request is canceled, or this date
  85115. // is reached. If the request is persistent, it remains active until it is canceled
  85116. // or this date and time is reached. The default end date is 7 days from the
  85117. // current date.
  85118. ValidUntil *time.Time `type:"timestamp"`
  85119. }
  85120. // String returns the string representation
  85121. func (s SpotMarketOptions) String() string {
  85122. return awsutil.Prettify(s)
  85123. }
  85124. // GoString returns the string representation
  85125. func (s SpotMarketOptions) GoString() string {
  85126. return s.String()
  85127. }
  85128. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  85129. func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
  85130. s.BlockDurationMinutes = &v
  85131. return s
  85132. }
  85133. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  85134. func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
  85135. s.InstanceInterruptionBehavior = &v
  85136. return s
  85137. }
  85138. // SetMaxPrice sets the MaxPrice field's value.
  85139. func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
  85140. s.MaxPrice = &v
  85141. return s
  85142. }
  85143. // SetSpotInstanceType sets the SpotInstanceType field's value.
  85144. func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
  85145. s.SpotInstanceType = &v
  85146. return s
  85147. }
  85148. // SetValidUntil sets the ValidUntil field's value.
  85149. func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
  85150. s.ValidUntil = &v
  85151. return s
  85152. }
  85153. // Describes the configuration of Spot Instances in an EC2 Fleet.
  85154. type SpotOptions struct {
  85155. _ struct{} `type:"structure"`
  85156. // Indicates how to allocate the target Spot Instance capacity across the Spot
  85157. // Instance pools specified by the EC2 Fleet.
  85158. //
  85159. // If the allocation strategy is lowest-price, EC2 Fleet launches instances
  85160. // from the Spot Instance pools with the lowest price. This is the default allocation
  85161. // strategy.
  85162. //
  85163. // If the allocation strategy is diversified, EC2 Fleet launches instances from
  85164. // all of the Spot Instance pools that you specify.
  85165. //
  85166. // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
  85167. // from Spot Instance pools with optimal capacity for the number of instances
  85168. // that are launching.
  85169. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
  85170. // The behavior when a Spot Instance is interrupted. The default is terminate.
  85171. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
  85172. // The number of Spot pools across which to allocate your target Spot capacity.
  85173. // Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects
  85174. // the cheapest Spot pools and evenly allocates your target Spot capacity across
  85175. // the number of Spot pools that you specify.
  85176. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
  85177. // The maximum amount per hour for Spot Instances that you're willing to pay.
  85178. MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
  85179. // The minimum target capacity for Spot Instances in the fleet. If the minimum
  85180. // target capacity is not reached, the fleet launches no instances.
  85181. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
  85182. // Indicates that the fleet launches all Spot Instances into a single Availability
  85183. // Zone. Supported only for fleets of type instant.
  85184. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
  85185. // Indicates that the fleet uses a single instance type to launch all Spot Instances
  85186. // in the fleet. Supported only for fleets of type instant.
  85187. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
  85188. }
  85189. // String returns the string representation
  85190. func (s SpotOptions) String() string {
  85191. return awsutil.Prettify(s)
  85192. }
  85193. // GoString returns the string representation
  85194. func (s SpotOptions) GoString() string {
  85195. return s.String()
  85196. }
  85197. // SetAllocationStrategy sets the AllocationStrategy field's value.
  85198. func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
  85199. s.AllocationStrategy = &v
  85200. return s
  85201. }
  85202. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  85203. func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
  85204. s.InstanceInterruptionBehavior = &v
  85205. return s
  85206. }
  85207. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  85208. func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
  85209. s.InstancePoolsToUseCount = &v
  85210. return s
  85211. }
  85212. // SetMaxTotalPrice sets the MaxTotalPrice field's value.
  85213. func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
  85214. s.MaxTotalPrice = &v
  85215. return s
  85216. }
  85217. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  85218. func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
  85219. s.MinTargetCapacity = &v
  85220. return s
  85221. }
  85222. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  85223. func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
  85224. s.SingleAvailabilityZone = &v
  85225. return s
  85226. }
  85227. // SetSingleInstanceType sets the SingleInstanceType field's value.
  85228. func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
  85229. s.SingleInstanceType = &v
  85230. return s
  85231. }
  85232. // Describes the configuration of Spot Instances in an EC2 Fleet request.
  85233. type SpotOptionsRequest struct {
  85234. _ struct{} `type:"structure"`
  85235. // Indicates how to allocate the target Spot Instance capacity across the Spot
  85236. // Instance pools specified by the EC2 Fleet.
  85237. //
  85238. // If the allocation strategy is lowest-price, EC2 Fleet launches instances
  85239. // from the Spot Instance pools with the lowest price. This is the default allocation
  85240. // strategy.
  85241. //
  85242. // If the allocation strategy is diversified, EC2 Fleet launches instances from
  85243. // all of the Spot Instance pools that you specify.
  85244. //
  85245. // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
  85246. // from Spot Instance pools with optimal capacity for the number of instances
  85247. // that are launching.
  85248. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
  85249. // The behavior when a Spot Instance is interrupted. The default is terminate.
  85250. InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
  85251. // The number of Spot pools across which to allocate your target Spot capacity.
  85252. // Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
  85253. // selects the cheapest Spot pools and evenly allocates your target Spot capacity
  85254. // across the number of Spot pools that you specify.
  85255. InstancePoolsToUseCount *int64 `type:"integer"`
  85256. // The maximum amount per hour for Spot Instances that you're willing to pay.
  85257. MaxTotalPrice *string `type:"string"`
  85258. // The minimum target capacity for Spot Instances in the fleet. If the minimum
  85259. // target capacity is not reached, the fleet launches no instances.
  85260. MinTargetCapacity *int64 `type:"integer"`
  85261. // Indicates that the fleet launches all Spot Instances into a single Availability
  85262. // Zone. Supported only for fleets of type instant.
  85263. SingleAvailabilityZone *bool `type:"boolean"`
  85264. // Indicates that the fleet uses a single instance type to launch all Spot Instances
  85265. // in the fleet. Supported only for fleets of type instant.
  85266. SingleInstanceType *bool `type:"boolean"`
  85267. }
  85268. // String returns the string representation
  85269. func (s SpotOptionsRequest) String() string {
  85270. return awsutil.Prettify(s)
  85271. }
  85272. // GoString returns the string representation
  85273. func (s SpotOptionsRequest) GoString() string {
  85274. return s.String()
  85275. }
  85276. // SetAllocationStrategy sets the AllocationStrategy field's value.
  85277. func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
  85278. s.AllocationStrategy = &v
  85279. return s
  85280. }
  85281. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  85282. func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
  85283. s.InstanceInterruptionBehavior = &v
  85284. return s
  85285. }
  85286. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  85287. func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
  85288. s.InstancePoolsToUseCount = &v
  85289. return s
  85290. }
  85291. // SetMaxTotalPrice sets the MaxTotalPrice field's value.
  85292. func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
  85293. s.MaxTotalPrice = &v
  85294. return s
  85295. }
  85296. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  85297. func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
  85298. s.MinTargetCapacity = &v
  85299. return s
  85300. }
  85301. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  85302. func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
  85303. s.SingleAvailabilityZone = &v
  85304. return s
  85305. }
  85306. // SetSingleInstanceType sets the SingleInstanceType field's value.
  85307. func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
  85308. s.SingleInstanceType = &v
  85309. return s
  85310. }
  85311. // Describes Spot Instance placement.
  85312. type SpotPlacement struct {
  85313. _ struct{} `type:"structure"`
  85314. // The Availability Zone.
  85315. //
  85316. // [Spot Fleet only] To specify multiple Availability Zones, separate them using
  85317. // commas; for example, "us-west-2a, us-west-2b".
  85318. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  85319. // The name of the placement group.
  85320. GroupName *string `locationName:"groupName" type:"string"`
  85321. // The tenancy of the instance (if the instance is running in a VPC). An instance
  85322. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  85323. // is not supported for Spot Instances.
  85324. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  85325. }
  85326. // String returns the string representation
  85327. func (s SpotPlacement) String() string {
  85328. return awsutil.Prettify(s)
  85329. }
  85330. // GoString returns the string representation
  85331. func (s SpotPlacement) GoString() string {
  85332. return s.String()
  85333. }
  85334. // SetAvailabilityZone sets the AvailabilityZone field's value.
  85335. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  85336. s.AvailabilityZone = &v
  85337. return s
  85338. }
  85339. // SetGroupName sets the GroupName field's value.
  85340. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  85341. s.GroupName = &v
  85342. return s
  85343. }
  85344. // SetTenancy sets the Tenancy field's value.
  85345. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  85346. s.Tenancy = &v
  85347. return s
  85348. }
  85349. // Describes the maximum price per hour that you are willing to pay for a Spot
  85350. // Instance.
  85351. type SpotPrice struct {
  85352. _ struct{} `type:"structure"`
  85353. // The Availability Zone.
  85354. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  85355. // The instance type.
  85356. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  85357. // A general description of the AMI.
  85358. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  85359. // The maximum price per hour that you are willing to pay for a Spot Instance.
  85360. SpotPrice *string `locationName:"spotPrice" type:"string"`
  85361. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  85362. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  85363. }
  85364. // String returns the string representation
  85365. func (s SpotPrice) String() string {
  85366. return awsutil.Prettify(s)
  85367. }
  85368. // GoString returns the string representation
  85369. func (s SpotPrice) GoString() string {
  85370. return s.String()
  85371. }
  85372. // SetAvailabilityZone sets the AvailabilityZone field's value.
  85373. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  85374. s.AvailabilityZone = &v
  85375. return s
  85376. }
  85377. // SetInstanceType sets the InstanceType field's value.
  85378. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  85379. s.InstanceType = &v
  85380. return s
  85381. }
  85382. // SetProductDescription sets the ProductDescription field's value.
  85383. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  85384. s.ProductDescription = &v
  85385. return s
  85386. }
  85387. // SetSpotPrice sets the SpotPrice field's value.
  85388. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  85389. s.SpotPrice = &v
  85390. return s
  85391. }
  85392. // SetTimestamp sets the Timestamp field's value.
  85393. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  85394. s.Timestamp = &v
  85395. return s
  85396. }
  85397. // Describes a stale rule in a security group.
  85398. type StaleIpPermission struct {
  85399. _ struct{} `type:"structure"`
  85400. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  85401. // number. A value of -1 indicates all ICMP types.
  85402. FromPort *int64 `locationName:"fromPort" type:"integer"`
  85403. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  85404. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  85405. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  85406. // The IP ranges. Not applicable for stale security group rules.
  85407. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  85408. // The prefix list IDs for an AWS service. Not applicable for stale security
  85409. // group rules.
  85410. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  85411. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  85412. // number. A value of -1 indicates all ICMP types.
  85413. ToPort *int64 `locationName:"toPort" type:"integer"`
  85414. // The security group pairs. Returns the ID of the referenced security group
  85415. // and VPC, and the ID and status of the VPC peering connection.
  85416. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  85417. }
  85418. // String returns the string representation
  85419. func (s StaleIpPermission) String() string {
  85420. return awsutil.Prettify(s)
  85421. }
  85422. // GoString returns the string representation
  85423. func (s StaleIpPermission) GoString() string {
  85424. return s.String()
  85425. }
  85426. // SetFromPort sets the FromPort field's value.
  85427. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  85428. s.FromPort = &v
  85429. return s
  85430. }
  85431. // SetIpProtocol sets the IpProtocol field's value.
  85432. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  85433. s.IpProtocol = &v
  85434. return s
  85435. }
  85436. // SetIpRanges sets the IpRanges field's value.
  85437. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  85438. s.IpRanges = v
  85439. return s
  85440. }
  85441. // SetPrefixListIds sets the PrefixListIds field's value.
  85442. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  85443. s.PrefixListIds = v
  85444. return s
  85445. }
  85446. // SetToPort sets the ToPort field's value.
  85447. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  85448. s.ToPort = &v
  85449. return s
  85450. }
  85451. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  85452. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  85453. s.UserIdGroupPairs = v
  85454. return s
  85455. }
  85456. // Describes a stale security group (a security group that contains stale rules).
  85457. type StaleSecurityGroup struct {
  85458. _ struct{} `type:"structure"`
  85459. // The description of the security group.
  85460. Description *string `locationName:"description" type:"string"`
  85461. // The ID of the security group.
  85462. GroupId *string `locationName:"groupId" type:"string"`
  85463. // The name of the security group.
  85464. GroupName *string `locationName:"groupName" type:"string"`
  85465. // Information about the stale inbound rules in the security group.
  85466. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  85467. // Information about the stale outbound rules in the security group.
  85468. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  85469. // The ID of the VPC for the security group.
  85470. VpcId *string `locationName:"vpcId" type:"string"`
  85471. }
  85472. // String returns the string representation
  85473. func (s StaleSecurityGroup) String() string {
  85474. return awsutil.Prettify(s)
  85475. }
  85476. // GoString returns the string representation
  85477. func (s StaleSecurityGroup) GoString() string {
  85478. return s.String()
  85479. }
  85480. // SetDescription sets the Description field's value.
  85481. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  85482. s.Description = &v
  85483. return s
  85484. }
  85485. // SetGroupId sets the GroupId field's value.
  85486. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  85487. s.GroupId = &v
  85488. return s
  85489. }
  85490. // SetGroupName sets the GroupName field's value.
  85491. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  85492. s.GroupName = &v
  85493. return s
  85494. }
  85495. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  85496. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  85497. s.StaleIpPermissions = v
  85498. return s
  85499. }
  85500. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  85501. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  85502. s.StaleIpPermissionsEgress = v
  85503. return s
  85504. }
  85505. // SetVpcId sets the VpcId field's value.
  85506. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  85507. s.VpcId = &v
  85508. return s
  85509. }
  85510. type StartInstancesInput struct {
  85511. _ struct{} `type:"structure"`
  85512. // Reserved.
  85513. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  85514. // Checks whether you have the required permissions for the action, without
  85515. // actually making the request, and provides an error response. If you have
  85516. // the required permissions, the error response is DryRunOperation. Otherwise,
  85517. // it is UnauthorizedOperation.
  85518. DryRun *bool `locationName:"dryRun" type:"boolean"`
  85519. // The IDs of the instances.
  85520. //
  85521. // InstanceIds is a required field
  85522. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  85523. }
  85524. // String returns the string representation
  85525. func (s StartInstancesInput) String() string {
  85526. return awsutil.Prettify(s)
  85527. }
  85528. // GoString returns the string representation
  85529. func (s StartInstancesInput) GoString() string {
  85530. return s.String()
  85531. }
  85532. // Validate inspects the fields of the type to determine if they are valid.
  85533. func (s *StartInstancesInput) Validate() error {
  85534. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  85535. if s.InstanceIds == nil {
  85536. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  85537. }
  85538. if invalidParams.Len() > 0 {
  85539. return invalidParams
  85540. }
  85541. return nil
  85542. }
  85543. // SetAdditionalInfo sets the AdditionalInfo field's value.
  85544. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  85545. s.AdditionalInfo = &v
  85546. return s
  85547. }
  85548. // SetDryRun sets the DryRun field's value.
  85549. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  85550. s.DryRun = &v
  85551. return s
  85552. }
  85553. // SetInstanceIds sets the InstanceIds field's value.
  85554. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  85555. s.InstanceIds = v
  85556. return s
  85557. }
  85558. type StartInstancesOutput struct {
  85559. _ struct{} `type:"structure"`
  85560. // Information about the started instances.
  85561. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  85562. }
  85563. // String returns the string representation
  85564. func (s StartInstancesOutput) String() string {
  85565. return awsutil.Prettify(s)
  85566. }
  85567. // GoString returns the string representation
  85568. func (s StartInstancesOutput) GoString() string {
  85569. return s.String()
  85570. }
  85571. // SetStartingInstances sets the StartingInstances field's value.
  85572. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  85573. s.StartingInstances = v
  85574. return s
  85575. }
  85576. type StartVpcEndpointServicePrivateDnsVerificationInput struct {
  85577. _ struct{} `type:"structure"`
  85578. // Checks whether you have the required permissions for the action, without
  85579. // actually making the request, and provides an error response. If you have
  85580. // the required permissions, the error response is DryRunOperation. Otherwise,
  85581. // it is UnauthorizedOperation.
  85582. DryRun *bool `type:"boolean"`
  85583. // The ID of the endpoint service.
  85584. //
  85585. // ServiceId is a required field
  85586. ServiceId *string `type:"string" required:"true"`
  85587. }
  85588. // String returns the string representation
  85589. func (s StartVpcEndpointServicePrivateDnsVerificationInput) String() string {
  85590. return awsutil.Prettify(s)
  85591. }
  85592. // GoString returns the string representation
  85593. func (s StartVpcEndpointServicePrivateDnsVerificationInput) GoString() string {
  85594. return s.String()
  85595. }
  85596. // Validate inspects the fields of the type to determine if they are valid.
  85597. func (s *StartVpcEndpointServicePrivateDnsVerificationInput) Validate() error {
  85598. invalidParams := request.ErrInvalidParams{Context: "StartVpcEndpointServicePrivateDnsVerificationInput"}
  85599. if s.ServiceId == nil {
  85600. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  85601. }
  85602. if invalidParams.Len() > 0 {
  85603. return invalidParams
  85604. }
  85605. return nil
  85606. }
  85607. // SetDryRun sets the DryRun field's value.
  85608. func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetDryRun(v bool) *StartVpcEndpointServicePrivateDnsVerificationInput {
  85609. s.DryRun = &v
  85610. return s
  85611. }
  85612. // SetServiceId sets the ServiceId field's value.
  85613. func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetServiceId(v string) *StartVpcEndpointServicePrivateDnsVerificationInput {
  85614. s.ServiceId = &v
  85615. return s
  85616. }
  85617. type StartVpcEndpointServicePrivateDnsVerificationOutput struct {
  85618. _ struct{} `type:"structure"`
  85619. // Returns true if the request succeeds; otherwise, it returns an error.
  85620. ReturnValue *bool `locationName:"return" type:"boolean"`
  85621. }
  85622. // String returns the string representation
  85623. func (s StartVpcEndpointServicePrivateDnsVerificationOutput) String() string {
  85624. return awsutil.Prettify(s)
  85625. }
  85626. // GoString returns the string representation
  85627. func (s StartVpcEndpointServicePrivateDnsVerificationOutput) GoString() string {
  85628. return s.String()
  85629. }
  85630. // SetReturnValue sets the ReturnValue field's value.
  85631. func (s *StartVpcEndpointServicePrivateDnsVerificationOutput) SetReturnValue(v bool) *StartVpcEndpointServicePrivateDnsVerificationOutput {
  85632. s.ReturnValue = &v
  85633. return s
  85634. }
  85635. // Describes a state change.
  85636. type StateReason struct {
  85637. _ struct{} `type:"structure"`
  85638. // The reason code for the state change.
  85639. Code *string `locationName:"code" type:"string"`
  85640. // The message for the state change.
  85641. //
  85642. // * Server.InsufficientInstanceCapacity: There was insufficient capacity
  85643. // available to satisfy the launch request.
  85644. //
  85645. // * Server.InternalError: An internal error caused the instance to terminate
  85646. // during launch.
  85647. //
  85648. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  85649. //
  85650. // * Server.SpotInstanceShutdown: The instance was stopped because the number
  85651. // of Spot requests with a maximum price equal to or higher than the Spot
  85652. // price exceeded available capacity or because of an increase in the Spot
  85653. // price.
  85654. //
  85655. // * Server.SpotInstanceTermination: The instance was terminated because
  85656. // the number of Spot requests with a maximum price equal to or higher than
  85657. // the Spot price exceeded available capacity or because of an increase in
  85658. // the Spot price.
  85659. //
  85660. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  85661. // shutdown -h command from the instance.
  85662. //
  85663. // * Client.InstanceTerminated: The instance was terminated or rebooted during
  85664. // AMI creation.
  85665. //
  85666. // * Client.InternalError: A client error caused the instance to terminate
  85667. // during launch.
  85668. //
  85669. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  85670. //
  85671. // * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
  85672. //
  85673. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  85674. // EC2 API.
  85675. //
  85676. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  85677. // total storage was exceeded. Decrease usage or request an increase in your
  85678. // account limits.
  85679. Message *string `locationName:"message" type:"string"`
  85680. }
  85681. // String returns the string representation
  85682. func (s StateReason) String() string {
  85683. return awsutil.Prettify(s)
  85684. }
  85685. // GoString returns the string representation
  85686. func (s StateReason) GoString() string {
  85687. return s.String()
  85688. }
  85689. // SetCode sets the Code field's value.
  85690. func (s *StateReason) SetCode(v string) *StateReason {
  85691. s.Code = &v
  85692. return s
  85693. }
  85694. // SetMessage sets the Message field's value.
  85695. func (s *StateReason) SetMessage(v string) *StateReason {
  85696. s.Message = &v
  85697. return s
  85698. }
  85699. type StopInstancesInput struct {
  85700. _ struct{} `type:"structure"`
  85701. // Checks whether you have the required permissions for the action, without
  85702. // actually making the request, and provides an error response. If you have
  85703. // the required permissions, the error response is DryRunOperation. Otherwise,
  85704. // it is UnauthorizedOperation.
  85705. DryRun *bool `locationName:"dryRun" type:"boolean"`
  85706. // Forces the instances to stop. The instances do not have an opportunity to
  85707. // flush file system caches or file system metadata. If you use this option,
  85708. // you must perform file system check and repair procedures. This option is
  85709. // not recommended for Windows instances.
  85710. //
  85711. // Default: false
  85712. Force *bool `locationName:"force" type:"boolean"`
  85713. // Hibernates the instance if the instance was enabled for hibernation at launch.
  85714. // If the instance cannot hibernate successfully, a normal shutdown occurs.
  85715. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  85716. // in the Amazon Elastic Compute Cloud User Guide.
  85717. //
  85718. // Default: false
  85719. Hibernate *bool `type:"boolean"`
  85720. // The IDs of the instances.
  85721. //
  85722. // InstanceIds is a required field
  85723. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  85724. }
  85725. // String returns the string representation
  85726. func (s StopInstancesInput) String() string {
  85727. return awsutil.Prettify(s)
  85728. }
  85729. // GoString returns the string representation
  85730. func (s StopInstancesInput) GoString() string {
  85731. return s.String()
  85732. }
  85733. // Validate inspects the fields of the type to determine if they are valid.
  85734. func (s *StopInstancesInput) Validate() error {
  85735. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  85736. if s.InstanceIds == nil {
  85737. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  85738. }
  85739. if invalidParams.Len() > 0 {
  85740. return invalidParams
  85741. }
  85742. return nil
  85743. }
  85744. // SetDryRun sets the DryRun field's value.
  85745. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  85746. s.DryRun = &v
  85747. return s
  85748. }
  85749. // SetForce sets the Force field's value.
  85750. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  85751. s.Force = &v
  85752. return s
  85753. }
  85754. // SetHibernate sets the Hibernate field's value.
  85755. func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
  85756. s.Hibernate = &v
  85757. return s
  85758. }
  85759. // SetInstanceIds sets the InstanceIds field's value.
  85760. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  85761. s.InstanceIds = v
  85762. return s
  85763. }
  85764. type StopInstancesOutput struct {
  85765. _ struct{} `type:"structure"`
  85766. // Information about the stopped instances.
  85767. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  85768. }
  85769. // String returns the string representation
  85770. func (s StopInstancesOutput) String() string {
  85771. return awsutil.Prettify(s)
  85772. }
  85773. // GoString returns the string representation
  85774. func (s StopInstancesOutput) GoString() string {
  85775. return s.String()
  85776. }
  85777. // SetStoppingInstances sets the StoppingInstances field's value.
  85778. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  85779. s.StoppingInstances = v
  85780. return s
  85781. }
  85782. // Describes the storage location for an instance store-backed AMI.
  85783. type Storage struct {
  85784. _ struct{} `type:"structure"`
  85785. // An Amazon S3 storage location.
  85786. S3 *S3Storage `type:"structure"`
  85787. }
  85788. // String returns the string representation
  85789. func (s Storage) String() string {
  85790. return awsutil.Prettify(s)
  85791. }
  85792. // GoString returns the string representation
  85793. func (s Storage) GoString() string {
  85794. return s.String()
  85795. }
  85796. // SetS3 sets the S3 field's value.
  85797. func (s *Storage) SetS3(v *S3Storage) *Storage {
  85798. s.S3 = v
  85799. return s
  85800. }
  85801. // Describes a storage location in Amazon S3.
  85802. type StorageLocation struct {
  85803. _ struct{} `type:"structure"`
  85804. // The name of the S3 bucket.
  85805. Bucket *string `type:"string"`
  85806. // The key.
  85807. Key *string `type:"string"`
  85808. }
  85809. // String returns the string representation
  85810. func (s StorageLocation) String() string {
  85811. return awsutil.Prettify(s)
  85812. }
  85813. // GoString returns the string representation
  85814. func (s StorageLocation) GoString() string {
  85815. return s.String()
  85816. }
  85817. // SetBucket sets the Bucket field's value.
  85818. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  85819. s.Bucket = &v
  85820. return s
  85821. }
  85822. // SetKey sets the Key field's value.
  85823. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  85824. s.Key = &v
  85825. return s
  85826. }
  85827. // Describes a subnet.
  85828. type Subnet struct {
  85829. _ struct{} `type:"structure"`
  85830. // Indicates whether a network interface created in this subnet (including a
  85831. // network interface created by RunInstances) receives an IPv6 address.
  85832. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  85833. // The Availability Zone of the subnet.
  85834. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  85835. // The AZ ID of the subnet.
  85836. AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
  85837. // The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
  85838. // for any stopped instances are considered unavailable.
  85839. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  85840. // The IPv4 CIDR block assigned to the subnet.
  85841. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  85842. // Indicates whether this is the default subnet for the Availability Zone.
  85843. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  85844. // Information about the IPv6 CIDR blocks associated with the subnet.
  85845. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  85846. // Indicates whether instances launched in this subnet receive a public IPv4
  85847. // address.
  85848. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  85849. // The Amazon Resource Name (ARN) of the Outpost.
  85850. OutpostArn *string `locationName:"outpostArn" type:"string"`
  85851. // The ID of the AWS account that owns the subnet.
  85852. OwnerId *string `locationName:"ownerId" type:"string"`
  85853. // The current state of the subnet.
  85854. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  85855. // The Amazon Resource Name (ARN) of the subnet.
  85856. SubnetArn *string `locationName:"subnetArn" type:"string"`
  85857. // The ID of the subnet.
  85858. SubnetId *string `locationName:"subnetId" type:"string"`
  85859. // Any tags assigned to the subnet.
  85860. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  85861. // The ID of the VPC the subnet is in.
  85862. VpcId *string `locationName:"vpcId" type:"string"`
  85863. }
  85864. // String returns the string representation
  85865. func (s Subnet) String() string {
  85866. return awsutil.Prettify(s)
  85867. }
  85868. // GoString returns the string representation
  85869. func (s Subnet) GoString() string {
  85870. return s.String()
  85871. }
  85872. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  85873. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  85874. s.AssignIpv6AddressOnCreation = &v
  85875. return s
  85876. }
  85877. // SetAvailabilityZone sets the AvailabilityZone field's value.
  85878. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  85879. s.AvailabilityZone = &v
  85880. return s
  85881. }
  85882. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  85883. func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
  85884. s.AvailabilityZoneId = &v
  85885. return s
  85886. }
  85887. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  85888. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  85889. s.AvailableIpAddressCount = &v
  85890. return s
  85891. }
  85892. // SetCidrBlock sets the CidrBlock field's value.
  85893. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  85894. s.CidrBlock = &v
  85895. return s
  85896. }
  85897. // SetDefaultForAz sets the DefaultForAz field's value.
  85898. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  85899. s.DefaultForAz = &v
  85900. return s
  85901. }
  85902. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  85903. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  85904. s.Ipv6CidrBlockAssociationSet = v
  85905. return s
  85906. }
  85907. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  85908. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  85909. s.MapPublicIpOnLaunch = &v
  85910. return s
  85911. }
  85912. // SetOutpostArn sets the OutpostArn field's value.
  85913. func (s *Subnet) SetOutpostArn(v string) *Subnet {
  85914. s.OutpostArn = &v
  85915. return s
  85916. }
  85917. // SetOwnerId sets the OwnerId field's value.
  85918. func (s *Subnet) SetOwnerId(v string) *Subnet {
  85919. s.OwnerId = &v
  85920. return s
  85921. }
  85922. // SetState sets the State field's value.
  85923. func (s *Subnet) SetState(v string) *Subnet {
  85924. s.State = &v
  85925. return s
  85926. }
  85927. // SetSubnetArn sets the SubnetArn field's value.
  85928. func (s *Subnet) SetSubnetArn(v string) *Subnet {
  85929. s.SubnetArn = &v
  85930. return s
  85931. }
  85932. // SetSubnetId sets the SubnetId field's value.
  85933. func (s *Subnet) SetSubnetId(v string) *Subnet {
  85934. s.SubnetId = &v
  85935. return s
  85936. }
  85937. // SetTags sets the Tags field's value.
  85938. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  85939. s.Tags = v
  85940. return s
  85941. }
  85942. // SetVpcId sets the VpcId field's value.
  85943. func (s *Subnet) SetVpcId(v string) *Subnet {
  85944. s.VpcId = &v
  85945. return s
  85946. }
  85947. // Describes the subnet association with the transit gateway multicast domain.
  85948. type SubnetAssociation struct {
  85949. _ struct{} `type:"structure"`
  85950. // The state of the subnet association.
  85951. State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
  85952. // The ID of the subnet.
  85953. SubnetId *string `locationName:"subnetId" type:"string"`
  85954. }
  85955. // String returns the string representation
  85956. func (s SubnetAssociation) String() string {
  85957. return awsutil.Prettify(s)
  85958. }
  85959. // GoString returns the string representation
  85960. func (s SubnetAssociation) GoString() string {
  85961. return s.String()
  85962. }
  85963. // SetState sets the State field's value.
  85964. func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
  85965. s.State = &v
  85966. return s
  85967. }
  85968. // SetSubnetId sets the SubnetId field's value.
  85969. func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
  85970. s.SubnetId = &v
  85971. return s
  85972. }
  85973. // Describes the state of a CIDR block.
  85974. type SubnetCidrBlockState struct {
  85975. _ struct{} `type:"structure"`
  85976. // The state of a CIDR block.
  85977. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  85978. // A message about the status of the CIDR block, if applicable.
  85979. StatusMessage *string `locationName:"statusMessage" type:"string"`
  85980. }
  85981. // String returns the string representation
  85982. func (s SubnetCidrBlockState) String() string {
  85983. return awsutil.Prettify(s)
  85984. }
  85985. // GoString returns the string representation
  85986. func (s SubnetCidrBlockState) GoString() string {
  85987. return s.String()
  85988. }
  85989. // SetState sets the State field's value.
  85990. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  85991. s.State = &v
  85992. return s
  85993. }
  85994. // SetStatusMessage sets the StatusMessage field's value.
  85995. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  85996. s.StatusMessage = &v
  85997. return s
  85998. }
  85999. // Describes an IPv6 CIDR block associated with a subnet.
  86000. type SubnetIpv6CidrBlockAssociation struct {
  86001. _ struct{} `type:"structure"`
  86002. // The association ID for the CIDR block.
  86003. AssociationId *string `locationName:"associationId" type:"string"`
  86004. // The IPv6 CIDR block.
  86005. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  86006. // Information about the state of the CIDR block.
  86007. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  86008. }
  86009. // String returns the string representation
  86010. func (s SubnetIpv6CidrBlockAssociation) String() string {
  86011. return awsutil.Prettify(s)
  86012. }
  86013. // GoString returns the string representation
  86014. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  86015. return s.String()
  86016. }
  86017. // SetAssociationId sets the AssociationId field's value.
  86018. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  86019. s.AssociationId = &v
  86020. return s
  86021. }
  86022. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  86023. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  86024. s.Ipv6CidrBlock = &v
  86025. return s
  86026. }
  86027. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  86028. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  86029. s.Ipv6CidrBlockState = v
  86030. return s
  86031. }
  86032. // Describes the burstable performance instance whose credit option for CPU
  86033. // usage was successfully modified.
  86034. type SuccessfulInstanceCreditSpecificationItem struct {
  86035. _ struct{} `type:"structure"`
  86036. // The ID of the instance.
  86037. InstanceId *string `locationName:"instanceId" type:"string"`
  86038. }
  86039. // String returns the string representation
  86040. func (s SuccessfulInstanceCreditSpecificationItem) String() string {
  86041. return awsutil.Prettify(s)
  86042. }
  86043. // GoString returns the string representation
  86044. func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
  86045. return s.String()
  86046. }
  86047. // SetInstanceId sets the InstanceId field's value.
  86048. func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
  86049. s.InstanceId = &v
  86050. return s
  86051. }
  86052. // Describes a Reserved Instance whose queued purchase was successfully deleted.
  86053. type SuccessfulQueuedPurchaseDeletion struct {
  86054. _ struct{} `type:"structure"`
  86055. // The ID of the Reserved Instance.
  86056. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  86057. }
  86058. // String returns the string representation
  86059. func (s SuccessfulQueuedPurchaseDeletion) String() string {
  86060. return awsutil.Prettify(s)
  86061. }
  86062. // GoString returns the string representation
  86063. func (s SuccessfulQueuedPurchaseDeletion) GoString() string {
  86064. return s.String()
  86065. }
  86066. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  86067. func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion {
  86068. s.ReservedInstancesId = &v
  86069. return s
  86070. }
  86071. // Describes a tag.
  86072. type Tag struct {
  86073. _ struct{} `type:"structure"`
  86074. // The key of the tag.
  86075. //
  86076. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  86077. // characters. May not begin with aws:.
  86078. Key *string `locationName:"key" type:"string"`
  86079. // The value of the tag.
  86080. //
  86081. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  86082. // characters.
  86083. Value *string `locationName:"value" type:"string"`
  86084. }
  86085. // String returns the string representation
  86086. func (s Tag) String() string {
  86087. return awsutil.Prettify(s)
  86088. }
  86089. // GoString returns the string representation
  86090. func (s Tag) GoString() string {
  86091. return s.String()
  86092. }
  86093. // SetKey sets the Key field's value.
  86094. func (s *Tag) SetKey(v string) *Tag {
  86095. s.Key = &v
  86096. return s
  86097. }
  86098. // SetValue sets the Value field's value.
  86099. func (s *Tag) SetValue(v string) *Tag {
  86100. s.Value = &v
  86101. return s
  86102. }
  86103. // Describes a tag.
  86104. type TagDescription struct {
  86105. _ struct{} `type:"structure"`
  86106. // The tag key.
  86107. Key *string `locationName:"key" type:"string"`
  86108. // The ID of the resource.
  86109. ResourceId *string `locationName:"resourceId" type:"string"`
  86110. // The resource type.
  86111. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  86112. // The tag value.
  86113. Value *string `locationName:"value" type:"string"`
  86114. }
  86115. // String returns the string representation
  86116. func (s TagDescription) String() string {
  86117. return awsutil.Prettify(s)
  86118. }
  86119. // GoString returns the string representation
  86120. func (s TagDescription) GoString() string {
  86121. return s.String()
  86122. }
  86123. // SetKey sets the Key field's value.
  86124. func (s *TagDescription) SetKey(v string) *TagDescription {
  86125. s.Key = &v
  86126. return s
  86127. }
  86128. // SetResourceId sets the ResourceId field's value.
  86129. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  86130. s.ResourceId = &v
  86131. return s
  86132. }
  86133. // SetResourceType sets the ResourceType field's value.
  86134. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  86135. s.ResourceType = &v
  86136. return s
  86137. }
  86138. // SetValue sets the Value field's value.
  86139. func (s *TagDescription) SetValue(v string) *TagDescription {
  86140. s.Value = &v
  86141. return s
  86142. }
  86143. // The tags to apply to a resource when the resource is being created.
  86144. type TagSpecification struct {
  86145. _ struct{} `type:"structure"`
  86146. // The type of resource to tag. Currently, the resource types that support tagging
  86147. // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host
  86148. // | fleet | fpga-image | instance | key-pair | launch-template | placement-group
  86149. // | snapshot | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target
  86150. // | transit-gateway | transit-gateway-attachment | transit-gateway-route-table
  86151. // | volume.
  86152. //
  86153. // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
  86154. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  86155. // The tags to apply to the resource.
  86156. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  86157. }
  86158. // String returns the string representation
  86159. func (s TagSpecification) String() string {
  86160. return awsutil.Prettify(s)
  86161. }
  86162. // GoString returns the string representation
  86163. func (s TagSpecification) GoString() string {
  86164. return s.String()
  86165. }
  86166. // SetResourceType sets the ResourceType field's value.
  86167. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  86168. s.ResourceType = &v
  86169. return s
  86170. }
  86171. // SetTags sets the Tags field's value.
  86172. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  86173. s.Tags = v
  86174. return s
  86175. }
  86176. // The number of units to request. You can choose to set the target capacity
  86177. // in terms of instances or a performance characteristic that is important to
  86178. // your application workload, such as vCPUs, memory, or I/O. If the request
  86179. // type is maintain, you can specify a target capacity of 0 and add capacity
  86180. // later.
  86181. //
  86182. // You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
  86183. // MaxTotalPrice, or both to ensure that your fleet cost does not exceed your
  86184. // budget. If you set a maximum price per hour for the On-Demand Instances and
  86185. // Spot Instances in your request, EC2 Fleet will launch instances until it
  86186. // reaches the maximum amount that you're willing to pay. When the maximum amount
  86187. // you're willing to pay is reached, the fleet stops launching instances even
  86188. // if it hasn’t met the target capacity. The MaxTotalPrice parameters are
  86189. // located in and
  86190. type TargetCapacitySpecification struct {
  86191. _ struct{} `type:"structure"`
  86192. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  86193. DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
  86194. // The number of On-Demand units to request. If you specify a target capacity
  86195. // for Spot units, you cannot specify a target capacity for On-Demand units.
  86196. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  86197. // The maximum number of Spot units to launch. If you specify a target capacity
  86198. // for On-Demand units, you cannot specify a target capacity for Spot units.
  86199. SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
  86200. // The number of units to request, filled using DefaultTargetCapacityType.
  86201. TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
  86202. }
  86203. // String returns the string representation
  86204. func (s TargetCapacitySpecification) String() string {
  86205. return awsutil.Prettify(s)
  86206. }
  86207. // GoString returns the string representation
  86208. func (s TargetCapacitySpecification) GoString() string {
  86209. return s.String()
  86210. }
  86211. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  86212. func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
  86213. s.DefaultTargetCapacityType = &v
  86214. return s
  86215. }
  86216. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  86217. func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
  86218. s.OnDemandTargetCapacity = &v
  86219. return s
  86220. }
  86221. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  86222. func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
  86223. s.SpotTargetCapacity = &v
  86224. return s
  86225. }
  86226. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  86227. func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
  86228. s.TotalTargetCapacity = &v
  86229. return s
  86230. }
  86231. // The number of units to request. You can choose to set the target capacity
  86232. // as the number of instances. Or you can set the target capacity to a performance
  86233. // characteristic that is important to your application workload, such as vCPUs,
  86234. // memory, or I/O. If the request type is maintain, you can specify a target
  86235. // capacity of 0 and add capacity later.
  86236. //
  86237. // You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
  86238. // MaxTotalPrice parameter, or both parameters to ensure that your fleet cost
  86239. // does not exceed your budget. If you set a maximum price per hour for the
  86240. // On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch
  86241. // instances until it reaches the maximum amount that you're willing to pay.
  86242. // When the maximum amount you're willing to pay is reached, the fleet stops
  86243. // launching instances even if it hasn’t met the target capacity. The MaxTotalPrice
  86244. // parameters are located in and .
  86245. type TargetCapacitySpecificationRequest struct {
  86246. _ struct{} `type:"structure"`
  86247. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  86248. DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
  86249. // The number of On-Demand units to request.
  86250. OnDemandTargetCapacity *int64 `type:"integer"`
  86251. // The number of Spot units to request.
  86252. SpotTargetCapacity *int64 `type:"integer"`
  86253. // The number of units to request, filled using DefaultTargetCapacityType.
  86254. //
  86255. // TotalTargetCapacity is a required field
  86256. TotalTargetCapacity *int64 `type:"integer" required:"true"`
  86257. }
  86258. // String returns the string representation
  86259. func (s TargetCapacitySpecificationRequest) String() string {
  86260. return awsutil.Prettify(s)
  86261. }
  86262. // GoString returns the string representation
  86263. func (s TargetCapacitySpecificationRequest) GoString() string {
  86264. return s.String()
  86265. }
  86266. // Validate inspects the fields of the type to determine if they are valid.
  86267. func (s *TargetCapacitySpecificationRequest) Validate() error {
  86268. invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
  86269. if s.TotalTargetCapacity == nil {
  86270. invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
  86271. }
  86272. if invalidParams.Len() > 0 {
  86273. return invalidParams
  86274. }
  86275. return nil
  86276. }
  86277. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  86278. func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
  86279. s.DefaultTargetCapacityType = &v
  86280. return s
  86281. }
  86282. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  86283. func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  86284. s.OnDemandTargetCapacity = &v
  86285. return s
  86286. }
  86287. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  86288. func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  86289. s.SpotTargetCapacity = &v
  86290. return s
  86291. }
  86292. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  86293. func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  86294. s.TotalTargetCapacity = &v
  86295. return s
  86296. }
  86297. // Information about the Convertible Reserved Instance offering.
  86298. type TargetConfiguration struct {
  86299. _ struct{} `type:"structure"`
  86300. // The number of instances the Convertible Reserved Instance offering can be
  86301. // applied to. This parameter is reserved and cannot be specified in a request
  86302. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  86303. // The ID of the Convertible Reserved Instance offering.
  86304. OfferingId *string `locationName:"offeringId" type:"string"`
  86305. }
  86306. // String returns the string representation
  86307. func (s TargetConfiguration) String() string {
  86308. return awsutil.Prettify(s)
  86309. }
  86310. // GoString returns the string representation
  86311. func (s TargetConfiguration) GoString() string {
  86312. return s.String()
  86313. }
  86314. // SetInstanceCount sets the InstanceCount field's value.
  86315. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  86316. s.InstanceCount = &v
  86317. return s
  86318. }
  86319. // SetOfferingId sets the OfferingId field's value.
  86320. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  86321. s.OfferingId = &v
  86322. return s
  86323. }
  86324. // Details about the target configuration.
  86325. type TargetConfigurationRequest struct {
  86326. _ struct{} `type:"structure"`
  86327. // The number of instances the Covertible Reserved Instance offering can be
  86328. // applied to. This parameter is reserved and cannot be specified in a request
  86329. InstanceCount *int64 `type:"integer"`
  86330. // The Convertible Reserved Instance offering ID.
  86331. //
  86332. // OfferingId is a required field
  86333. OfferingId *string `type:"string" required:"true"`
  86334. }
  86335. // String returns the string representation
  86336. func (s TargetConfigurationRequest) String() string {
  86337. return awsutil.Prettify(s)
  86338. }
  86339. // GoString returns the string representation
  86340. func (s TargetConfigurationRequest) GoString() string {
  86341. return s.String()
  86342. }
  86343. // Validate inspects the fields of the type to determine if they are valid.
  86344. func (s *TargetConfigurationRequest) Validate() error {
  86345. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  86346. if s.OfferingId == nil {
  86347. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  86348. }
  86349. if invalidParams.Len() > 0 {
  86350. return invalidParams
  86351. }
  86352. return nil
  86353. }
  86354. // SetInstanceCount sets the InstanceCount field's value.
  86355. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  86356. s.InstanceCount = &v
  86357. return s
  86358. }
  86359. // SetOfferingId sets the OfferingId field's value.
  86360. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  86361. s.OfferingId = &v
  86362. return s
  86363. }
  86364. // Describes a load balancer target group.
  86365. type TargetGroup struct {
  86366. _ struct{} `type:"structure"`
  86367. // The Amazon Resource Name (ARN) of the target group.
  86368. Arn *string `locationName:"arn" type:"string"`
  86369. }
  86370. // String returns the string representation
  86371. func (s TargetGroup) String() string {
  86372. return awsutil.Prettify(s)
  86373. }
  86374. // GoString returns the string representation
  86375. func (s TargetGroup) GoString() string {
  86376. return s.String()
  86377. }
  86378. // SetArn sets the Arn field's value.
  86379. func (s *TargetGroup) SetArn(v string) *TargetGroup {
  86380. s.Arn = &v
  86381. return s
  86382. }
  86383. // Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
  86384. // the running Spot Instances with these target groups.
  86385. type TargetGroupsConfig struct {
  86386. _ struct{} `type:"structure"`
  86387. // One or more target groups.
  86388. TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
  86389. }
  86390. // String returns the string representation
  86391. func (s TargetGroupsConfig) String() string {
  86392. return awsutil.Prettify(s)
  86393. }
  86394. // GoString returns the string representation
  86395. func (s TargetGroupsConfig) GoString() string {
  86396. return s.String()
  86397. }
  86398. // Validate inspects the fields of the type to determine if they are valid.
  86399. func (s *TargetGroupsConfig) Validate() error {
  86400. invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
  86401. if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
  86402. invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
  86403. }
  86404. if invalidParams.Len() > 0 {
  86405. return invalidParams
  86406. }
  86407. return nil
  86408. }
  86409. // SetTargetGroups sets the TargetGroups field's value.
  86410. func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
  86411. s.TargetGroups = v
  86412. return s
  86413. }
  86414. // Describes a target network associated with a Client VPN endpoint.
  86415. type TargetNetwork struct {
  86416. _ struct{} `type:"structure"`
  86417. // The ID of the association.
  86418. AssociationId *string `locationName:"associationId" type:"string"`
  86419. // The ID of the Client VPN endpoint with which the target network is associated.
  86420. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  86421. // The IDs of the security groups applied to the target network association.
  86422. SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
  86423. // The current state of the target network association.
  86424. Status *AssociationStatus `locationName:"status" type:"structure"`
  86425. // The ID of the subnet specified as the target network.
  86426. TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
  86427. // The ID of the VPC in which the target network (subnet) is located.
  86428. VpcId *string `locationName:"vpcId" type:"string"`
  86429. }
  86430. // String returns the string representation
  86431. func (s TargetNetwork) String() string {
  86432. return awsutil.Prettify(s)
  86433. }
  86434. // GoString returns the string representation
  86435. func (s TargetNetwork) GoString() string {
  86436. return s.String()
  86437. }
  86438. // SetAssociationId sets the AssociationId field's value.
  86439. func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
  86440. s.AssociationId = &v
  86441. return s
  86442. }
  86443. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  86444. func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
  86445. s.ClientVpnEndpointId = &v
  86446. return s
  86447. }
  86448. // SetSecurityGroups sets the SecurityGroups field's value.
  86449. func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
  86450. s.SecurityGroups = v
  86451. return s
  86452. }
  86453. // SetStatus sets the Status field's value.
  86454. func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
  86455. s.Status = v
  86456. return s
  86457. }
  86458. // SetTargetNetworkId sets the TargetNetworkId field's value.
  86459. func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
  86460. s.TargetNetworkId = &v
  86461. return s
  86462. }
  86463. // SetVpcId sets the VpcId field's value.
  86464. func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
  86465. s.VpcId = &v
  86466. return s
  86467. }
  86468. // The total value of the new Convertible Reserved Instances.
  86469. type TargetReservationValue struct {
  86470. _ struct{} `type:"structure"`
  86471. // The total value of the Convertible Reserved Instances that make up the exchange.
  86472. // This is the sum of the list value, remaining upfront price, and additional
  86473. // upfront cost of the exchange.
  86474. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  86475. // The configuration of the Convertible Reserved Instances that make up the
  86476. // exchange.
  86477. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  86478. }
  86479. // String returns the string representation
  86480. func (s TargetReservationValue) String() string {
  86481. return awsutil.Prettify(s)
  86482. }
  86483. // GoString returns the string representation
  86484. func (s TargetReservationValue) GoString() string {
  86485. return s.String()
  86486. }
  86487. // SetReservationValue sets the ReservationValue field's value.
  86488. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  86489. s.ReservationValue = v
  86490. return s
  86491. }
  86492. // SetTargetConfiguration sets the TargetConfiguration field's value.
  86493. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  86494. s.TargetConfiguration = v
  86495. return s
  86496. }
  86497. type TerminateClientVpnConnectionsInput struct {
  86498. _ struct{} `type:"structure"`
  86499. // The ID of the Client VPN endpoint to which the client is connected.
  86500. //
  86501. // ClientVpnEndpointId is a required field
  86502. ClientVpnEndpointId *string `type:"string" required:"true"`
  86503. // The ID of the client connection to be terminated.
  86504. ConnectionId *string `type:"string"`
  86505. // Checks whether you have the required permissions for the action, without
  86506. // actually making the request, and provides an error response. If you have
  86507. // the required permissions, the error response is DryRunOperation. Otherwise,
  86508. // it is UnauthorizedOperation.
  86509. DryRun *bool `type:"boolean"`
  86510. // The name of the user who initiated the connection. Use this option to terminate
  86511. // all active connections for the specified user. This option can only be used
  86512. // if the user has established up to five connections.
  86513. Username *string `type:"string"`
  86514. }
  86515. // String returns the string representation
  86516. func (s TerminateClientVpnConnectionsInput) String() string {
  86517. return awsutil.Prettify(s)
  86518. }
  86519. // GoString returns the string representation
  86520. func (s TerminateClientVpnConnectionsInput) GoString() string {
  86521. return s.String()
  86522. }
  86523. // Validate inspects the fields of the type to determine if they are valid.
  86524. func (s *TerminateClientVpnConnectionsInput) Validate() error {
  86525. invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
  86526. if s.ClientVpnEndpointId == nil {
  86527. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  86528. }
  86529. if invalidParams.Len() > 0 {
  86530. return invalidParams
  86531. }
  86532. return nil
  86533. }
  86534. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  86535. func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
  86536. s.ClientVpnEndpointId = &v
  86537. return s
  86538. }
  86539. // SetConnectionId sets the ConnectionId field's value.
  86540. func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
  86541. s.ConnectionId = &v
  86542. return s
  86543. }
  86544. // SetDryRun sets the DryRun field's value.
  86545. func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
  86546. s.DryRun = &v
  86547. return s
  86548. }
  86549. // SetUsername sets the Username field's value.
  86550. func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
  86551. s.Username = &v
  86552. return s
  86553. }
  86554. type TerminateClientVpnConnectionsOutput struct {
  86555. _ struct{} `type:"structure"`
  86556. // The ID of the Client VPN endpoint.
  86557. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  86558. // The current state of the client connections.
  86559. ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
  86560. // The user who established the terminated client connections.
  86561. Username *string `locationName:"username" type:"string"`
  86562. }
  86563. // String returns the string representation
  86564. func (s TerminateClientVpnConnectionsOutput) String() string {
  86565. return awsutil.Prettify(s)
  86566. }
  86567. // GoString returns the string representation
  86568. func (s TerminateClientVpnConnectionsOutput) GoString() string {
  86569. return s.String()
  86570. }
  86571. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  86572. func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
  86573. s.ClientVpnEndpointId = &v
  86574. return s
  86575. }
  86576. // SetConnectionStatuses sets the ConnectionStatuses field's value.
  86577. func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
  86578. s.ConnectionStatuses = v
  86579. return s
  86580. }
  86581. // SetUsername sets the Username field's value.
  86582. func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
  86583. s.Username = &v
  86584. return s
  86585. }
  86586. // Information about a terminated Client VPN endpoint client connection.
  86587. type TerminateConnectionStatus struct {
  86588. _ struct{} `type:"structure"`
  86589. // The ID of the client connection.
  86590. ConnectionId *string `locationName:"connectionId" type:"string"`
  86591. // A message about the status of the client connection, if applicable.
  86592. CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
  86593. // The state of the client connection.
  86594. PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
  86595. }
  86596. // String returns the string representation
  86597. func (s TerminateConnectionStatus) String() string {
  86598. return awsutil.Prettify(s)
  86599. }
  86600. // GoString returns the string representation
  86601. func (s TerminateConnectionStatus) GoString() string {
  86602. return s.String()
  86603. }
  86604. // SetConnectionId sets the ConnectionId field's value.
  86605. func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
  86606. s.ConnectionId = &v
  86607. return s
  86608. }
  86609. // SetCurrentStatus sets the CurrentStatus field's value.
  86610. func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
  86611. s.CurrentStatus = v
  86612. return s
  86613. }
  86614. // SetPreviousStatus sets the PreviousStatus field's value.
  86615. func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
  86616. s.PreviousStatus = v
  86617. return s
  86618. }
  86619. type TerminateInstancesInput struct {
  86620. _ struct{} `type:"structure"`
  86621. // Checks whether you have the required permissions for the action, without
  86622. // actually making the request, and provides an error response. If you have
  86623. // the required permissions, the error response is DryRunOperation. Otherwise,
  86624. // it is UnauthorizedOperation.
  86625. DryRun *bool `locationName:"dryRun" type:"boolean"`
  86626. // The IDs of the instances.
  86627. //
  86628. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  86629. // into smaller batches.
  86630. //
  86631. // InstanceIds is a required field
  86632. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  86633. }
  86634. // String returns the string representation
  86635. func (s TerminateInstancesInput) String() string {
  86636. return awsutil.Prettify(s)
  86637. }
  86638. // GoString returns the string representation
  86639. func (s TerminateInstancesInput) GoString() string {
  86640. return s.String()
  86641. }
  86642. // Validate inspects the fields of the type to determine if they are valid.
  86643. func (s *TerminateInstancesInput) Validate() error {
  86644. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  86645. if s.InstanceIds == nil {
  86646. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  86647. }
  86648. if invalidParams.Len() > 0 {
  86649. return invalidParams
  86650. }
  86651. return nil
  86652. }
  86653. // SetDryRun sets the DryRun field's value.
  86654. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  86655. s.DryRun = &v
  86656. return s
  86657. }
  86658. // SetInstanceIds sets the InstanceIds field's value.
  86659. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  86660. s.InstanceIds = v
  86661. return s
  86662. }
  86663. type TerminateInstancesOutput struct {
  86664. _ struct{} `type:"structure"`
  86665. // Information about the terminated instances.
  86666. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  86667. }
  86668. // String returns the string representation
  86669. func (s TerminateInstancesOutput) String() string {
  86670. return awsutil.Prettify(s)
  86671. }
  86672. // GoString returns the string representation
  86673. func (s TerminateInstancesOutput) GoString() string {
  86674. return s.String()
  86675. }
  86676. // SetTerminatingInstances sets the TerminatingInstances field's value.
  86677. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  86678. s.TerminatingInstances = v
  86679. return s
  86680. }
  86681. // Describes the Traffic Mirror filter.
  86682. type TrafficMirrorFilter struct {
  86683. _ struct{} `type:"structure"`
  86684. // The description of the Traffic Mirror filter.
  86685. Description *string `locationName:"description" type:"string"`
  86686. // Information about the egress rules that are associated with the Traffic Mirror
  86687. // filter.
  86688. EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"`
  86689. // Information about the ingress rules that are associated with the Traffic
  86690. // Mirror filter.
  86691. IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"`
  86692. // The network service traffic that is associated with the Traffic Mirror filter.
  86693. NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"`
  86694. // The tags assigned to the Traffic Mirror filter.
  86695. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  86696. // The ID of the Traffic Mirror filter.
  86697. TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
  86698. }
  86699. // String returns the string representation
  86700. func (s TrafficMirrorFilter) String() string {
  86701. return awsutil.Prettify(s)
  86702. }
  86703. // GoString returns the string representation
  86704. func (s TrafficMirrorFilter) GoString() string {
  86705. return s.String()
  86706. }
  86707. // SetDescription sets the Description field's value.
  86708. func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter {
  86709. s.Description = &v
  86710. return s
  86711. }
  86712. // SetEgressFilterRules sets the EgressFilterRules field's value.
  86713. func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
  86714. s.EgressFilterRules = v
  86715. return s
  86716. }
  86717. // SetIngressFilterRules sets the IngressFilterRules field's value.
  86718. func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
  86719. s.IngressFilterRules = v
  86720. return s
  86721. }
  86722. // SetNetworkServices sets the NetworkServices field's value.
  86723. func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter {
  86724. s.NetworkServices = v
  86725. return s
  86726. }
  86727. // SetTags sets the Tags field's value.
  86728. func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter {
  86729. s.Tags = v
  86730. return s
  86731. }
  86732. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  86733. func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter {
  86734. s.TrafficMirrorFilterId = &v
  86735. return s
  86736. }
  86737. // Describes the Traffic Mirror rule.
  86738. type TrafficMirrorFilterRule struct {
  86739. _ struct{} `type:"structure"`
  86740. // The description of the Traffic Mirror rule.
  86741. Description *string `locationName:"description" type:"string"`
  86742. // The destination CIDR block assigned to the Traffic Mirror rule.
  86743. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  86744. // The destination port range assigned to the Traffic Mirror rule.
  86745. DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"`
  86746. // The protocol assigned to the Traffic Mirror rule.
  86747. Protocol *int64 `locationName:"protocol" type:"integer"`
  86748. // The action assigned to the Traffic Mirror rule.
  86749. RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"`
  86750. // The rule number of the Traffic Mirror rule.
  86751. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  86752. // The source CIDR block assigned to the Traffic Mirror rule.
  86753. SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"`
  86754. // The source port range assigned to the Traffic Mirror rule.
  86755. SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"`
  86756. // The traffic direction assigned to the Traffic Mirror rule.
  86757. TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"`
  86758. // The ID of the Traffic Mirror filter that the rule is associated with.
  86759. TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
  86760. // The ID of the Traffic Mirror rule.
  86761. TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
  86762. }
  86763. // String returns the string representation
  86764. func (s TrafficMirrorFilterRule) String() string {
  86765. return awsutil.Prettify(s)
  86766. }
  86767. // GoString returns the string representation
  86768. func (s TrafficMirrorFilterRule) GoString() string {
  86769. return s.String()
  86770. }
  86771. // SetDescription sets the Description field's value.
  86772. func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule {
  86773. s.Description = &v
  86774. return s
  86775. }
  86776. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  86777. func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule {
  86778. s.DestinationCidrBlock = &v
  86779. return s
  86780. }
  86781. // SetDestinationPortRange sets the DestinationPortRange field's value.
  86782. func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
  86783. s.DestinationPortRange = v
  86784. return s
  86785. }
  86786. // SetProtocol sets the Protocol field's value.
  86787. func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule {
  86788. s.Protocol = &v
  86789. return s
  86790. }
  86791. // SetRuleAction sets the RuleAction field's value.
  86792. func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule {
  86793. s.RuleAction = &v
  86794. return s
  86795. }
  86796. // SetRuleNumber sets the RuleNumber field's value.
  86797. func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule {
  86798. s.RuleNumber = &v
  86799. return s
  86800. }
  86801. // SetSourceCidrBlock sets the SourceCidrBlock field's value.
  86802. func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule {
  86803. s.SourceCidrBlock = &v
  86804. return s
  86805. }
  86806. // SetSourcePortRange sets the SourcePortRange field's value.
  86807. func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
  86808. s.SourcePortRange = v
  86809. return s
  86810. }
  86811. // SetTrafficDirection sets the TrafficDirection field's value.
  86812. func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule {
  86813. s.TrafficDirection = &v
  86814. return s
  86815. }
  86816. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  86817. func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule {
  86818. s.TrafficMirrorFilterId = &v
  86819. return s
  86820. }
  86821. // SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
  86822. func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule {
  86823. s.TrafficMirrorFilterRuleId = &v
  86824. return s
  86825. }
  86826. // Describes the Traffic Mirror port range.
  86827. type TrafficMirrorPortRange struct {
  86828. _ struct{} `type:"structure"`
  86829. // The start of the Traffic Mirror port range. This applies to the TCP and UDP
  86830. // protocols.
  86831. FromPort *int64 `locationName:"fromPort" type:"integer"`
  86832. // The end of the Traffic Mirror port range. This applies to the TCP and UDP
  86833. // protocols.
  86834. ToPort *int64 `locationName:"toPort" type:"integer"`
  86835. }
  86836. // String returns the string representation
  86837. func (s TrafficMirrorPortRange) String() string {
  86838. return awsutil.Prettify(s)
  86839. }
  86840. // GoString returns the string representation
  86841. func (s TrafficMirrorPortRange) GoString() string {
  86842. return s.String()
  86843. }
  86844. // SetFromPort sets the FromPort field's value.
  86845. func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange {
  86846. s.FromPort = &v
  86847. return s
  86848. }
  86849. // SetToPort sets the ToPort field's value.
  86850. func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange {
  86851. s.ToPort = &v
  86852. return s
  86853. }
  86854. // Information about the Traffic Mirror filter rule port range.
  86855. type TrafficMirrorPortRangeRequest struct {
  86856. _ struct{} `type:"structure"`
  86857. // The first port in the Traffic Mirror port range. This applies to the TCP
  86858. // and UDP protocols.
  86859. FromPort *int64 `type:"integer"`
  86860. // The last port in the Traffic Mirror port range. This applies to the TCP and
  86861. // UDP protocols.
  86862. ToPort *int64 `type:"integer"`
  86863. }
  86864. // String returns the string representation
  86865. func (s TrafficMirrorPortRangeRequest) String() string {
  86866. return awsutil.Prettify(s)
  86867. }
  86868. // GoString returns the string representation
  86869. func (s TrafficMirrorPortRangeRequest) GoString() string {
  86870. return s.String()
  86871. }
  86872. // SetFromPort sets the FromPort field's value.
  86873. func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest {
  86874. s.FromPort = &v
  86875. return s
  86876. }
  86877. // SetToPort sets the ToPort field's value.
  86878. func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest {
  86879. s.ToPort = &v
  86880. return s
  86881. }
  86882. // Describes a Traffic Mirror session.
  86883. type TrafficMirrorSession struct {
  86884. _ struct{} `type:"structure"`
  86885. // The description of the Traffic Mirror session.
  86886. Description *string `locationName:"description" type:"string"`
  86887. // The ID of the Traffic Mirror session's network interface.
  86888. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  86889. // The ID of the account that owns the Traffic Mirror session.
  86890. OwnerId *string `locationName:"ownerId" type:"string"`
  86891. // The number of bytes in each packet to mirror. These are the bytes after the
  86892. // VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror.
  86893. // For example, if you set this value to 100, then the first 100 bytes that
  86894. // meet the filter criteria are copied to the target. Do not specify this parameter
  86895. // when you want to mirror the entire packet
  86896. PacketLength *int64 `locationName:"packetLength" type:"integer"`
  86897. // The session number determines the order in which sessions are evaluated when
  86898. // an interface is used by multiple sessions. The first session with a matching
  86899. // filter is the one that mirrors the packets.
  86900. //
  86901. // Valid values are 1-32766.
  86902. SessionNumber *int64 `locationName:"sessionNumber" type:"integer"`
  86903. // The tags assigned to the Traffic Mirror session.
  86904. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  86905. // The ID of the Traffic Mirror filter.
  86906. TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
  86907. // The ID for the Traffic Mirror session.
  86908. TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
  86909. // The ID of the Traffic Mirror target.
  86910. TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
  86911. // The virtual network ID associated with the Traffic Mirror session.
  86912. VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"`
  86913. }
  86914. // String returns the string representation
  86915. func (s TrafficMirrorSession) String() string {
  86916. return awsutil.Prettify(s)
  86917. }
  86918. // GoString returns the string representation
  86919. func (s TrafficMirrorSession) GoString() string {
  86920. return s.String()
  86921. }
  86922. // SetDescription sets the Description field's value.
  86923. func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession {
  86924. s.Description = &v
  86925. return s
  86926. }
  86927. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  86928. func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession {
  86929. s.NetworkInterfaceId = &v
  86930. return s
  86931. }
  86932. // SetOwnerId sets the OwnerId field's value.
  86933. func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession {
  86934. s.OwnerId = &v
  86935. return s
  86936. }
  86937. // SetPacketLength sets the PacketLength field's value.
  86938. func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession {
  86939. s.PacketLength = &v
  86940. return s
  86941. }
  86942. // SetSessionNumber sets the SessionNumber field's value.
  86943. func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession {
  86944. s.SessionNumber = &v
  86945. return s
  86946. }
  86947. // SetTags sets the Tags field's value.
  86948. func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession {
  86949. s.Tags = v
  86950. return s
  86951. }
  86952. // SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
  86953. func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession {
  86954. s.TrafficMirrorFilterId = &v
  86955. return s
  86956. }
  86957. // SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
  86958. func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession {
  86959. s.TrafficMirrorSessionId = &v
  86960. return s
  86961. }
  86962. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  86963. func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession {
  86964. s.TrafficMirrorTargetId = &v
  86965. return s
  86966. }
  86967. // SetVirtualNetworkId sets the VirtualNetworkId field's value.
  86968. func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession {
  86969. s.VirtualNetworkId = &v
  86970. return s
  86971. }
  86972. // Describes a Traffic Mirror target.
  86973. type TrafficMirrorTarget struct {
  86974. _ struct{} `type:"structure"`
  86975. // Information about the Traffic Mirror target.
  86976. Description *string `locationName:"description" type:"string"`
  86977. // The network interface ID that is attached to the target.
  86978. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  86979. // The Amazon Resource Name (ARN) of the Network Load Balancer.
  86980. NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"`
  86981. // The ID of the account that owns the Traffic Mirror target.
  86982. OwnerId *string `locationName:"ownerId" type:"string"`
  86983. // The tags assigned to the Traffic Mirror target.
  86984. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  86985. // The ID of the Traffic Mirror target.
  86986. TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
  86987. // The type of Traffic Mirror target.
  86988. Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"`
  86989. }
  86990. // String returns the string representation
  86991. func (s TrafficMirrorTarget) String() string {
  86992. return awsutil.Prettify(s)
  86993. }
  86994. // GoString returns the string representation
  86995. func (s TrafficMirrorTarget) GoString() string {
  86996. return s.String()
  86997. }
  86998. // SetDescription sets the Description field's value.
  86999. func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget {
  87000. s.Description = &v
  87001. return s
  87002. }
  87003. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  87004. func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget {
  87005. s.NetworkInterfaceId = &v
  87006. return s
  87007. }
  87008. // SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
  87009. func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget {
  87010. s.NetworkLoadBalancerArn = &v
  87011. return s
  87012. }
  87013. // SetOwnerId sets the OwnerId field's value.
  87014. func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget {
  87015. s.OwnerId = &v
  87016. return s
  87017. }
  87018. // SetTags sets the Tags field's value.
  87019. func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget {
  87020. s.Tags = v
  87021. return s
  87022. }
  87023. // SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
  87024. func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget {
  87025. s.TrafficMirrorTargetId = &v
  87026. return s
  87027. }
  87028. // SetType sets the Type field's value.
  87029. func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget {
  87030. s.Type = &v
  87031. return s
  87032. }
  87033. // Describes a transit gateway.
  87034. type TransitGateway struct {
  87035. _ struct{} `type:"structure"`
  87036. // The creation time.
  87037. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  87038. // The description of the transit gateway.
  87039. Description *string `locationName:"description" type:"string"`
  87040. // The transit gateway options.
  87041. Options *TransitGatewayOptions `locationName:"options" type:"structure"`
  87042. // The ID of the AWS account ID that owns the transit gateway.
  87043. OwnerId *string `locationName:"ownerId" type:"string"`
  87044. // The state of the transit gateway.
  87045. State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
  87046. // The tags for the transit gateway.
  87047. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  87048. // The Amazon Resource Name (ARN) of the transit gateway.
  87049. TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
  87050. // The ID of the transit gateway.
  87051. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  87052. }
  87053. // String returns the string representation
  87054. func (s TransitGateway) String() string {
  87055. return awsutil.Prettify(s)
  87056. }
  87057. // GoString returns the string representation
  87058. func (s TransitGateway) GoString() string {
  87059. return s.String()
  87060. }
  87061. // SetCreationTime sets the CreationTime field's value.
  87062. func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
  87063. s.CreationTime = &v
  87064. return s
  87065. }
  87066. // SetDescription sets the Description field's value.
  87067. func (s *TransitGateway) SetDescription(v string) *TransitGateway {
  87068. s.Description = &v
  87069. return s
  87070. }
  87071. // SetOptions sets the Options field's value.
  87072. func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
  87073. s.Options = v
  87074. return s
  87075. }
  87076. // SetOwnerId sets the OwnerId field's value.
  87077. func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
  87078. s.OwnerId = &v
  87079. return s
  87080. }
  87081. // SetState sets the State field's value.
  87082. func (s *TransitGateway) SetState(v string) *TransitGateway {
  87083. s.State = &v
  87084. return s
  87085. }
  87086. // SetTags sets the Tags field's value.
  87087. func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
  87088. s.Tags = v
  87089. return s
  87090. }
  87091. // SetTransitGatewayArn sets the TransitGatewayArn field's value.
  87092. func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
  87093. s.TransitGatewayArn = &v
  87094. return s
  87095. }
  87096. // SetTransitGatewayId sets the TransitGatewayId field's value.
  87097. func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
  87098. s.TransitGatewayId = &v
  87099. return s
  87100. }
  87101. // Describes an association between a resource attachment and a transit gateway
  87102. // route table.
  87103. type TransitGatewayAssociation struct {
  87104. _ struct{} `type:"structure"`
  87105. // The ID of the resource.
  87106. ResourceId *string `locationName:"resourceId" type:"string"`
  87107. // The resource type.
  87108. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87109. // The state of the association.
  87110. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  87111. // The ID of the attachment.
  87112. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87113. // The ID of the transit gateway route table.
  87114. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  87115. }
  87116. // String returns the string representation
  87117. func (s TransitGatewayAssociation) String() string {
  87118. return awsutil.Prettify(s)
  87119. }
  87120. // GoString returns the string representation
  87121. func (s TransitGatewayAssociation) GoString() string {
  87122. return s.String()
  87123. }
  87124. // SetResourceId sets the ResourceId field's value.
  87125. func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
  87126. s.ResourceId = &v
  87127. return s
  87128. }
  87129. // SetResourceType sets the ResourceType field's value.
  87130. func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
  87131. s.ResourceType = &v
  87132. return s
  87133. }
  87134. // SetState sets the State field's value.
  87135. func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
  87136. s.State = &v
  87137. return s
  87138. }
  87139. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87140. func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
  87141. s.TransitGatewayAttachmentId = &v
  87142. return s
  87143. }
  87144. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  87145. func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
  87146. s.TransitGatewayRouteTableId = &v
  87147. return s
  87148. }
  87149. // Describes an attachment between a resource and a transit gateway.
  87150. type TransitGatewayAttachment struct {
  87151. _ struct{} `type:"structure"`
  87152. // The association.
  87153. Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
  87154. // The creation time.
  87155. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  87156. // The ID of the resource.
  87157. ResourceId *string `locationName:"resourceId" type:"string"`
  87158. // The ID of the AWS account that owns the resource.
  87159. ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
  87160. // The resource type.
  87161. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87162. // The attachment state.
  87163. State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
  87164. // The tags for the attachment.
  87165. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  87166. // The ID of the attachment.
  87167. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87168. // The ID of the transit gateway.
  87169. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  87170. // The ID of the AWS account that owns the transit gateway.
  87171. TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
  87172. }
  87173. // String returns the string representation
  87174. func (s TransitGatewayAttachment) String() string {
  87175. return awsutil.Prettify(s)
  87176. }
  87177. // GoString returns the string representation
  87178. func (s TransitGatewayAttachment) GoString() string {
  87179. return s.String()
  87180. }
  87181. // SetAssociation sets the Association field's value.
  87182. func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
  87183. s.Association = v
  87184. return s
  87185. }
  87186. // SetCreationTime sets the CreationTime field's value.
  87187. func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
  87188. s.CreationTime = &v
  87189. return s
  87190. }
  87191. // SetResourceId sets the ResourceId field's value.
  87192. func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
  87193. s.ResourceId = &v
  87194. return s
  87195. }
  87196. // SetResourceOwnerId sets the ResourceOwnerId field's value.
  87197. func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
  87198. s.ResourceOwnerId = &v
  87199. return s
  87200. }
  87201. // SetResourceType sets the ResourceType field's value.
  87202. func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
  87203. s.ResourceType = &v
  87204. return s
  87205. }
  87206. // SetState sets the State field's value.
  87207. func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
  87208. s.State = &v
  87209. return s
  87210. }
  87211. // SetTags sets the Tags field's value.
  87212. func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
  87213. s.Tags = v
  87214. return s
  87215. }
  87216. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87217. func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
  87218. s.TransitGatewayAttachmentId = &v
  87219. return s
  87220. }
  87221. // SetTransitGatewayId sets the TransitGatewayId field's value.
  87222. func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
  87223. s.TransitGatewayId = &v
  87224. return s
  87225. }
  87226. // SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
  87227. func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
  87228. s.TransitGatewayOwnerId = &v
  87229. return s
  87230. }
  87231. // Describes an association.
  87232. type TransitGatewayAttachmentAssociation struct {
  87233. _ struct{} `type:"structure"`
  87234. // The state of the association.
  87235. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  87236. // The ID of the route table for the transit gateway.
  87237. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  87238. }
  87239. // String returns the string representation
  87240. func (s TransitGatewayAttachmentAssociation) String() string {
  87241. return awsutil.Prettify(s)
  87242. }
  87243. // GoString returns the string representation
  87244. func (s TransitGatewayAttachmentAssociation) GoString() string {
  87245. return s.String()
  87246. }
  87247. // SetState sets the State field's value.
  87248. func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
  87249. s.State = &v
  87250. return s
  87251. }
  87252. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  87253. func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
  87254. s.TransitGatewayRouteTableId = &v
  87255. return s
  87256. }
  87257. // Describes a propagation route table.
  87258. type TransitGatewayAttachmentPropagation struct {
  87259. _ struct{} `type:"structure"`
  87260. // The state of the propagation route table.
  87261. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  87262. // The ID of the propagation route table.
  87263. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  87264. }
  87265. // String returns the string representation
  87266. func (s TransitGatewayAttachmentPropagation) String() string {
  87267. return awsutil.Prettify(s)
  87268. }
  87269. // GoString returns the string representation
  87270. func (s TransitGatewayAttachmentPropagation) GoString() string {
  87271. return s.String()
  87272. }
  87273. // SetState sets the State field's value.
  87274. func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
  87275. s.State = &v
  87276. return s
  87277. }
  87278. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  87279. func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
  87280. s.TransitGatewayRouteTableId = &v
  87281. return s
  87282. }
  87283. // Describes the deregistered transit gateway multicast group members.
  87284. type TransitGatewayMulticastDeregisteredGroupMembers struct {
  87285. _ struct{} `type:"structure"`
  87286. // The network interface IDs of the deregistered members.
  87287. DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
  87288. // The IP address assigned to the transit gateway multicast group.
  87289. GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
  87290. // The ID of the transit gateway multicast domain.
  87291. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87292. }
  87293. // String returns the string representation
  87294. func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
  87295. return awsutil.Prettify(s)
  87296. }
  87297. // GoString returns the string representation
  87298. func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
  87299. return s.String()
  87300. }
  87301. // SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
  87302. func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
  87303. s.DeregisteredNetworkInterfaceIds = v
  87304. return s
  87305. }
  87306. // SetGroupIpAddress sets the GroupIpAddress field's value.
  87307. func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
  87308. s.GroupIpAddress = &v
  87309. return s
  87310. }
  87311. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87312. func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
  87313. s.TransitGatewayMulticastDomainId = &v
  87314. return s
  87315. }
  87316. // Describes the deregistered transit gateway multicast group sources.
  87317. type TransitGatewayMulticastDeregisteredGroupSources struct {
  87318. _ struct{} `type:"structure"`
  87319. // The network interface IDs of the non-registered members.
  87320. DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
  87321. // The IP address assigned to the transit gateway multicast group.
  87322. GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
  87323. // The ID of the transit gateway multicast domain.
  87324. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87325. }
  87326. // String returns the string representation
  87327. func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
  87328. return awsutil.Prettify(s)
  87329. }
  87330. // GoString returns the string representation
  87331. func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
  87332. return s.String()
  87333. }
  87334. // SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
  87335. func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
  87336. s.DeregisteredNetworkInterfaceIds = v
  87337. return s
  87338. }
  87339. // SetGroupIpAddress sets the GroupIpAddress field's value.
  87340. func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
  87341. s.GroupIpAddress = &v
  87342. return s
  87343. }
  87344. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87345. func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
  87346. s.TransitGatewayMulticastDomainId = &v
  87347. return s
  87348. }
  87349. // Describes the transit gateway multicast domain.
  87350. type TransitGatewayMulticastDomain struct {
  87351. _ struct{} `type:"structure"`
  87352. // The time the transit gateway multicast domain was created.
  87353. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  87354. // The state of the transit gateway multicast domain.
  87355. State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
  87356. // The tags for the transit gateway multicast domain.
  87357. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  87358. // The ID of the transit gateway.
  87359. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  87360. // The ID of the transit gateway multicast domain.
  87361. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87362. }
  87363. // String returns the string representation
  87364. func (s TransitGatewayMulticastDomain) String() string {
  87365. return awsutil.Prettify(s)
  87366. }
  87367. // GoString returns the string representation
  87368. func (s TransitGatewayMulticastDomain) GoString() string {
  87369. return s.String()
  87370. }
  87371. // SetCreationTime sets the CreationTime field's value.
  87372. func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
  87373. s.CreationTime = &v
  87374. return s
  87375. }
  87376. // SetState sets the State field's value.
  87377. func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
  87378. s.State = &v
  87379. return s
  87380. }
  87381. // SetTags sets the Tags field's value.
  87382. func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
  87383. s.Tags = v
  87384. return s
  87385. }
  87386. // SetTransitGatewayId sets the TransitGatewayId field's value.
  87387. func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
  87388. s.TransitGatewayId = &v
  87389. return s
  87390. }
  87391. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87392. func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
  87393. s.TransitGatewayMulticastDomainId = &v
  87394. return s
  87395. }
  87396. // Describes the resources associated with the transit gateway multicast domain.
  87397. type TransitGatewayMulticastDomainAssociation struct {
  87398. _ struct{} `type:"structure"`
  87399. // The ID of the resource.
  87400. ResourceId *string `locationName:"resourceId" type:"string"`
  87401. // The type of resource, for example a VPC attachment.
  87402. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87403. // The subnet associated with the transit gateway multicast domain.
  87404. Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
  87405. // The ID of the transit gateway attachment.
  87406. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87407. }
  87408. // String returns the string representation
  87409. func (s TransitGatewayMulticastDomainAssociation) String() string {
  87410. return awsutil.Prettify(s)
  87411. }
  87412. // GoString returns the string representation
  87413. func (s TransitGatewayMulticastDomainAssociation) GoString() string {
  87414. return s.String()
  87415. }
  87416. // SetResourceId sets the ResourceId field's value.
  87417. func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
  87418. s.ResourceId = &v
  87419. return s
  87420. }
  87421. // SetResourceType sets the ResourceType field's value.
  87422. func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
  87423. s.ResourceType = &v
  87424. return s
  87425. }
  87426. // SetSubnet sets the Subnet field's value.
  87427. func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
  87428. s.Subnet = v
  87429. return s
  87430. }
  87431. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87432. func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
  87433. s.TransitGatewayAttachmentId = &v
  87434. return s
  87435. }
  87436. // Describes the multicast domain associations.
  87437. type TransitGatewayMulticastDomainAssociations struct {
  87438. _ struct{} `type:"structure"`
  87439. // The ID of the resource.
  87440. ResourceId *string `locationName:"resourceId" type:"string"`
  87441. // The type of resource, for example a VPC attachment.
  87442. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87443. // The subnets associated with the multicast domain.
  87444. Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
  87445. // The ID of the transit gateway attachment.
  87446. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87447. // The ID of the transit gateway multicast domain.
  87448. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87449. }
  87450. // String returns the string representation
  87451. func (s TransitGatewayMulticastDomainAssociations) String() string {
  87452. return awsutil.Prettify(s)
  87453. }
  87454. // GoString returns the string representation
  87455. func (s TransitGatewayMulticastDomainAssociations) GoString() string {
  87456. return s.String()
  87457. }
  87458. // SetResourceId sets the ResourceId field's value.
  87459. func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
  87460. s.ResourceId = &v
  87461. return s
  87462. }
  87463. // SetResourceType sets the ResourceType field's value.
  87464. func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
  87465. s.ResourceType = &v
  87466. return s
  87467. }
  87468. // SetSubnets sets the Subnets field's value.
  87469. func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
  87470. s.Subnets = v
  87471. return s
  87472. }
  87473. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87474. func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
  87475. s.TransitGatewayAttachmentId = &v
  87476. return s
  87477. }
  87478. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87479. func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
  87480. s.TransitGatewayMulticastDomainId = &v
  87481. return s
  87482. }
  87483. // Describes the transit gateway multicast group resources.
  87484. type TransitGatewayMulticastGroup struct {
  87485. _ struct{} `type:"structure"`
  87486. // The IP address assigned to the transit gateway multicast group.
  87487. GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
  87488. // Indicates that the resource is a transit gateway multicast group member.
  87489. GroupMember *bool `locationName:"groupMember" type:"boolean"`
  87490. // Indicates that the resource is a transit gateway multicast group member.
  87491. GroupSource *bool `locationName:"groupSource" type:"boolean"`
  87492. // The member type (for example, static).
  87493. MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
  87494. // The ID of the transit gateway attachment.
  87495. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  87496. // The ID of the resource.
  87497. ResourceId *string `locationName:"resourceId" type:"string"`
  87498. // The type of resource, for example a VPC attachment.
  87499. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87500. // The source type.
  87501. SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
  87502. // The ID of the subnet.
  87503. SubnetId *string `locationName:"subnetId" type:"string"`
  87504. // The ID of the transit gateway attachment.
  87505. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87506. }
  87507. // String returns the string representation
  87508. func (s TransitGatewayMulticastGroup) String() string {
  87509. return awsutil.Prettify(s)
  87510. }
  87511. // GoString returns the string representation
  87512. func (s TransitGatewayMulticastGroup) GoString() string {
  87513. return s.String()
  87514. }
  87515. // SetGroupIpAddress sets the GroupIpAddress field's value.
  87516. func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
  87517. s.GroupIpAddress = &v
  87518. return s
  87519. }
  87520. // SetGroupMember sets the GroupMember field's value.
  87521. func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
  87522. s.GroupMember = &v
  87523. return s
  87524. }
  87525. // SetGroupSource sets the GroupSource field's value.
  87526. func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
  87527. s.GroupSource = &v
  87528. return s
  87529. }
  87530. // SetMemberType sets the MemberType field's value.
  87531. func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
  87532. s.MemberType = &v
  87533. return s
  87534. }
  87535. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  87536. func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
  87537. s.NetworkInterfaceId = &v
  87538. return s
  87539. }
  87540. // SetResourceId sets the ResourceId field's value.
  87541. func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
  87542. s.ResourceId = &v
  87543. return s
  87544. }
  87545. // SetResourceType sets the ResourceType field's value.
  87546. func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
  87547. s.ResourceType = &v
  87548. return s
  87549. }
  87550. // SetSourceType sets the SourceType field's value.
  87551. func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
  87552. s.SourceType = &v
  87553. return s
  87554. }
  87555. // SetSubnetId sets the SubnetId field's value.
  87556. func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
  87557. s.SubnetId = &v
  87558. return s
  87559. }
  87560. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87561. func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
  87562. s.TransitGatewayAttachmentId = &v
  87563. return s
  87564. }
  87565. // Describes the registered transit gateway multicast group members.
  87566. type TransitGatewayMulticastRegisteredGroupMembers struct {
  87567. _ struct{} `type:"structure"`
  87568. // The IP address assigned to the transit gateway multicast group.
  87569. GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
  87570. // The ID of the registered network interfaces.
  87571. RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
  87572. // The ID of the transit gateway multicast domain.
  87573. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87574. }
  87575. // String returns the string representation
  87576. func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
  87577. return awsutil.Prettify(s)
  87578. }
  87579. // GoString returns the string representation
  87580. func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
  87581. return s.String()
  87582. }
  87583. // SetGroupIpAddress sets the GroupIpAddress field's value.
  87584. func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
  87585. s.GroupIpAddress = &v
  87586. return s
  87587. }
  87588. // SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
  87589. func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
  87590. s.RegisteredNetworkInterfaceIds = v
  87591. return s
  87592. }
  87593. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87594. func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
  87595. s.TransitGatewayMulticastDomainId = &v
  87596. return s
  87597. }
  87598. // Describes the members registered with the transit gateway multicast group.
  87599. type TransitGatewayMulticastRegisteredGroupSources struct {
  87600. _ struct{} `type:"structure"`
  87601. // The IP address assigned to the transit gateway multicast group.
  87602. GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
  87603. // The IDs of the network interfaces members registered with the transit gateway
  87604. // multicast group.
  87605. RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
  87606. // The ID of the transit gateway multicast domain.
  87607. TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
  87608. }
  87609. // String returns the string representation
  87610. func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
  87611. return awsutil.Prettify(s)
  87612. }
  87613. // GoString returns the string representation
  87614. func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
  87615. return s.String()
  87616. }
  87617. // SetGroupIpAddress sets the GroupIpAddress field's value.
  87618. func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
  87619. s.GroupIpAddress = &v
  87620. return s
  87621. }
  87622. // SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
  87623. func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
  87624. s.RegisteredNetworkInterfaceIds = v
  87625. return s
  87626. }
  87627. // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
  87628. func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
  87629. s.TransitGatewayMulticastDomainId = &v
  87630. return s
  87631. }
  87632. // Describes the options for a transit gateway.
  87633. type TransitGatewayOptions struct {
  87634. _ struct{} `type:"structure"`
  87635. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  87636. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
  87637. // for 32-bit ASNs.
  87638. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  87639. // The ID of the default association route table.
  87640. AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
  87641. // Indicates whether attachment requests are automatically accepted.
  87642. AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
  87643. // Indicates whether resource attachments are automatically associated with
  87644. // the default association route table.
  87645. DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
  87646. // Indicates whether resource attachments automatically propagate routes to
  87647. // the default propagation route table.
  87648. DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
  87649. // Indicates whether DNS support is enabled.
  87650. DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
  87651. // Indicates whether multicast is enabled on the transit gateway
  87652. MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
  87653. // The ID of the default propagation route table.
  87654. PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
  87655. // Indicates whether Equal Cost Multipath Protocol support is enabled.
  87656. VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
  87657. }
  87658. // String returns the string representation
  87659. func (s TransitGatewayOptions) String() string {
  87660. return awsutil.Prettify(s)
  87661. }
  87662. // GoString returns the string representation
  87663. func (s TransitGatewayOptions) GoString() string {
  87664. return s.String()
  87665. }
  87666. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  87667. func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
  87668. s.AmazonSideAsn = &v
  87669. return s
  87670. }
  87671. // SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
  87672. func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
  87673. s.AssociationDefaultRouteTableId = &v
  87674. return s
  87675. }
  87676. // SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
  87677. func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
  87678. s.AutoAcceptSharedAttachments = &v
  87679. return s
  87680. }
  87681. // SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
  87682. func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
  87683. s.DefaultRouteTableAssociation = &v
  87684. return s
  87685. }
  87686. // SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
  87687. func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
  87688. s.DefaultRouteTablePropagation = &v
  87689. return s
  87690. }
  87691. // SetDnsSupport sets the DnsSupport field's value.
  87692. func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
  87693. s.DnsSupport = &v
  87694. return s
  87695. }
  87696. // SetMulticastSupport sets the MulticastSupport field's value.
  87697. func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
  87698. s.MulticastSupport = &v
  87699. return s
  87700. }
  87701. // SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
  87702. func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
  87703. s.PropagationDefaultRouteTableId = &v
  87704. return s
  87705. }
  87706. // SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
  87707. func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
  87708. s.VpnEcmpSupport = &v
  87709. return s
  87710. }
  87711. // Describes the transit gateway peering attachment.
  87712. type TransitGatewayPeeringAttachment struct {
  87713. _ struct{} `type:"structure"`
  87714. // Information about the accepter transit gateway.
  87715. AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
  87716. // The time the transit gateway peering attachment was created.
  87717. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  87718. // Information about the requester transit gateway.
  87719. RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
  87720. // The state of the transit gateway peering attachment.
  87721. State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
  87722. // The status of the transit gateway peering attachment.
  87723. Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
  87724. // The tags for the transit gateway peering attachment.
  87725. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  87726. // The ID of the transit gateway peering attachment.
  87727. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87728. }
  87729. // String returns the string representation
  87730. func (s TransitGatewayPeeringAttachment) String() string {
  87731. return awsutil.Prettify(s)
  87732. }
  87733. // GoString returns the string representation
  87734. func (s TransitGatewayPeeringAttachment) GoString() string {
  87735. return s.String()
  87736. }
  87737. // SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
  87738. func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
  87739. s.AccepterTgwInfo = v
  87740. return s
  87741. }
  87742. // SetCreationTime sets the CreationTime field's value.
  87743. func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
  87744. s.CreationTime = &v
  87745. return s
  87746. }
  87747. // SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
  87748. func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
  87749. s.RequesterTgwInfo = v
  87750. return s
  87751. }
  87752. // SetState sets the State field's value.
  87753. func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
  87754. s.State = &v
  87755. return s
  87756. }
  87757. // SetStatus sets the Status field's value.
  87758. func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
  87759. s.Status = v
  87760. return s
  87761. }
  87762. // SetTags sets the Tags field's value.
  87763. func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
  87764. s.Tags = v
  87765. return s
  87766. }
  87767. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87768. func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
  87769. s.TransitGatewayAttachmentId = &v
  87770. return s
  87771. }
  87772. // Describes route propagation.
  87773. type TransitGatewayPropagation struct {
  87774. _ struct{} `type:"structure"`
  87775. // The ID of the resource.
  87776. ResourceId *string `locationName:"resourceId" type:"string"`
  87777. // The resource type.
  87778. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87779. // The state.
  87780. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  87781. // The ID of the attachment.
  87782. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87783. // The ID of the transit gateway route table.
  87784. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  87785. }
  87786. // String returns the string representation
  87787. func (s TransitGatewayPropagation) String() string {
  87788. return awsutil.Prettify(s)
  87789. }
  87790. // GoString returns the string representation
  87791. func (s TransitGatewayPropagation) GoString() string {
  87792. return s.String()
  87793. }
  87794. // SetResourceId sets the ResourceId field's value.
  87795. func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
  87796. s.ResourceId = &v
  87797. return s
  87798. }
  87799. // SetResourceType sets the ResourceType field's value.
  87800. func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
  87801. s.ResourceType = &v
  87802. return s
  87803. }
  87804. // SetState sets the State field's value.
  87805. func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
  87806. s.State = &v
  87807. return s
  87808. }
  87809. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87810. func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
  87811. s.TransitGatewayAttachmentId = &v
  87812. return s
  87813. }
  87814. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  87815. func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
  87816. s.TransitGatewayRouteTableId = &v
  87817. return s
  87818. }
  87819. // Describes the options for a transit gateway.
  87820. type TransitGatewayRequestOptions struct {
  87821. _ struct{} `type:"structure"`
  87822. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  87823. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
  87824. // for 32-bit ASNs.
  87825. AmazonSideAsn *int64 `type:"long"`
  87826. // Enable or disable automatic acceptance of attachment requests. The default
  87827. // is disable.
  87828. AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
  87829. // Enable or disable automatic association with the default association route
  87830. // table. The default is enable.
  87831. DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
  87832. // Enable or disable automatic propagation of routes to the default propagation
  87833. // route table. The default is enable.
  87834. DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
  87835. // Enable or disable DNS support.
  87836. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  87837. // Indicates whether multicast is enabled on the transit gateway
  87838. MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
  87839. // Enable or disable Equal Cost Multipath Protocol support.
  87840. VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
  87841. }
  87842. // String returns the string representation
  87843. func (s TransitGatewayRequestOptions) String() string {
  87844. return awsutil.Prettify(s)
  87845. }
  87846. // GoString returns the string representation
  87847. func (s TransitGatewayRequestOptions) GoString() string {
  87848. return s.String()
  87849. }
  87850. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  87851. func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
  87852. s.AmazonSideAsn = &v
  87853. return s
  87854. }
  87855. // SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
  87856. func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
  87857. s.AutoAcceptSharedAttachments = &v
  87858. return s
  87859. }
  87860. // SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
  87861. func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
  87862. s.DefaultRouteTableAssociation = &v
  87863. return s
  87864. }
  87865. // SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
  87866. func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
  87867. s.DefaultRouteTablePropagation = &v
  87868. return s
  87869. }
  87870. // SetDnsSupport sets the DnsSupport field's value.
  87871. func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
  87872. s.DnsSupport = &v
  87873. return s
  87874. }
  87875. // SetMulticastSupport sets the MulticastSupport field's value.
  87876. func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
  87877. s.MulticastSupport = &v
  87878. return s
  87879. }
  87880. // SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
  87881. func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
  87882. s.VpnEcmpSupport = &v
  87883. return s
  87884. }
  87885. // Describes a route for a transit gateway route table.
  87886. type TransitGatewayRoute struct {
  87887. _ struct{} `type:"structure"`
  87888. // The CIDR block used for destination matches.
  87889. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  87890. // The state of the route.
  87891. State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
  87892. // The attachments.
  87893. TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
  87894. // The route type.
  87895. Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
  87896. }
  87897. // String returns the string representation
  87898. func (s TransitGatewayRoute) String() string {
  87899. return awsutil.Prettify(s)
  87900. }
  87901. // GoString returns the string representation
  87902. func (s TransitGatewayRoute) GoString() string {
  87903. return s.String()
  87904. }
  87905. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  87906. func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
  87907. s.DestinationCidrBlock = &v
  87908. return s
  87909. }
  87910. // SetState sets the State field's value.
  87911. func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
  87912. s.State = &v
  87913. return s
  87914. }
  87915. // SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
  87916. func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
  87917. s.TransitGatewayAttachments = v
  87918. return s
  87919. }
  87920. // SetType sets the Type field's value.
  87921. func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
  87922. s.Type = &v
  87923. return s
  87924. }
  87925. // Describes a route attachment.
  87926. type TransitGatewayRouteAttachment struct {
  87927. _ struct{} `type:"structure"`
  87928. // The ID of the resource.
  87929. ResourceId *string `locationName:"resourceId" type:"string"`
  87930. // The resource type.
  87931. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  87932. // The ID of the attachment.
  87933. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  87934. }
  87935. // String returns the string representation
  87936. func (s TransitGatewayRouteAttachment) String() string {
  87937. return awsutil.Prettify(s)
  87938. }
  87939. // GoString returns the string representation
  87940. func (s TransitGatewayRouteAttachment) GoString() string {
  87941. return s.String()
  87942. }
  87943. // SetResourceId sets the ResourceId field's value.
  87944. func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
  87945. s.ResourceId = &v
  87946. return s
  87947. }
  87948. // SetResourceType sets the ResourceType field's value.
  87949. func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
  87950. s.ResourceType = &v
  87951. return s
  87952. }
  87953. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  87954. func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
  87955. s.TransitGatewayAttachmentId = &v
  87956. return s
  87957. }
  87958. // Describes a transit gateway route table.
  87959. type TransitGatewayRouteTable struct {
  87960. _ struct{} `type:"structure"`
  87961. // The creation time.
  87962. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  87963. // Indicates whether this is the default association route table for the transit
  87964. // gateway.
  87965. DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
  87966. // Indicates whether this is the default propagation route table for the transit
  87967. // gateway.
  87968. DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
  87969. // The state of the transit gateway route table.
  87970. State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
  87971. // Any tags assigned to the route table.
  87972. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  87973. // The ID of the transit gateway.
  87974. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  87975. // The ID of the transit gateway route table.
  87976. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  87977. }
  87978. // String returns the string representation
  87979. func (s TransitGatewayRouteTable) String() string {
  87980. return awsutil.Prettify(s)
  87981. }
  87982. // GoString returns the string representation
  87983. func (s TransitGatewayRouteTable) GoString() string {
  87984. return s.String()
  87985. }
  87986. // SetCreationTime sets the CreationTime field's value.
  87987. func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
  87988. s.CreationTime = &v
  87989. return s
  87990. }
  87991. // SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
  87992. func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
  87993. s.DefaultAssociationRouteTable = &v
  87994. return s
  87995. }
  87996. // SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
  87997. func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
  87998. s.DefaultPropagationRouteTable = &v
  87999. return s
  88000. }
  88001. // SetState sets the State field's value.
  88002. func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
  88003. s.State = &v
  88004. return s
  88005. }
  88006. // SetTags sets the Tags field's value.
  88007. func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
  88008. s.Tags = v
  88009. return s
  88010. }
  88011. // SetTransitGatewayId sets the TransitGatewayId field's value.
  88012. func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
  88013. s.TransitGatewayId = &v
  88014. return s
  88015. }
  88016. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  88017. func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
  88018. s.TransitGatewayRouteTableId = &v
  88019. return s
  88020. }
  88021. // Describes an association between a route table and a resource attachment.
  88022. type TransitGatewayRouteTableAssociation struct {
  88023. _ struct{} `type:"structure"`
  88024. // The ID of the resource.
  88025. ResourceId *string `locationName:"resourceId" type:"string"`
  88026. // The resource type.
  88027. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  88028. // The state of the association.
  88029. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  88030. // The ID of the attachment.
  88031. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  88032. }
  88033. // String returns the string representation
  88034. func (s TransitGatewayRouteTableAssociation) String() string {
  88035. return awsutil.Prettify(s)
  88036. }
  88037. // GoString returns the string representation
  88038. func (s TransitGatewayRouteTableAssociation) GoString() string {
  88039. return s.String()
  88040. }
  88041. // SetResourceId sets the ResourceId field's value.
  88042. func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
  88043. s.ResourceId = &v
  88044. return s
  88045. }
  88046. // SetResourceType sets the ResourceType field's value.
  88047. func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
  88048. s.ResourceType = &v
  88049. return s
  88050. }
  88051. // SetState sets the State field's value.
  88052. func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
  88053. s.State = &v
  88054. return s
  88055. }
  88056. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  88057. func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
  88058. s.TransitGatewayAttachmentId = &v
  88059. return s
  88060. }
  88061. // Describes a route table propagation.
  88062. type TransitGatewayRouteTablePropagation struct {
  88063. _ struct{} `type:"structure"`
  88064. // The ID of the resource.
  88065. ResourceId *string `locationName:"resourceId" type:"string"`
  88066. // The type of resource.
  88067. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  88068. // The state of the resource.
  88069. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  88070. // The ID of the attachment.
  88071. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  88072. }
  88073. // String returns the string representation
  88074. func (s TransitGatewayRouteTablePropagation) String() string {
  88075. return awsutil.Prettify(s)
  88076. }
  88077. // GoString returns the string representation
  88078. func (s TransitGatewayRouteTablePropagation) GoString() string {
  88079. return s.String()
  88080. }
  88081. // SetResourceId sets the ResourceId field's value.
  88082. func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
  88083. s.ResourceId = &v
  88084. return s
  88085. }
  88086. // SetResourceType sets the ResourceType field's value.
  88087. func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
  88088. s.ResourceType = &v
  88089. return s
  88090. }
  88091. // SetState sets the State field's value.
  88092. func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
  88093. s.State = &v
  88094. return s
  88095. }
  88096. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  88097. func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
  88098. s.TransitGatewayAttachmentId = &v
  88099. return s
  88100. }
  88101. // Describes a VPC attachment.
  88102. type TransitGatewayVpcAttachment struct {
  88103. _ struct{} `type:"structure"`
  88104. // The creation time.
  88105. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  88106. // The VPC attachment options.
  88107. Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
  88108. // The state of the VPC attachment.
  88109. State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
  88110. // The IDs of the subnets.
  88111. SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
  88112. // The tags for the VPC attachment.
  88113. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  88114. // The ID of the attachment.
  88115. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  88116. // The ID of the transit gateway.
  88117. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  88118. // The ID of the VPC.
  88119. VpcId *string `locationName:"vpcId" type:"string"`
  88120. // The ID of the AWS account that owns the VPC.
  88121. VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
  88122. }
  88123. // String returns the string representation
  88124. func (s TransitGatewayVpcAttachment) String() string {
  88125. return awsutil.Prettify(s)
  88126. }
  88127. // GoString returns the string representation
  88128. func (s TransitGatewayVpcAttachment) GoString() string {
  88129. return s.String()
  88130. }
  88131. // SetCreationTime sets the CreationTime field's value.
  88132. func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
  88133. s.CreationTime = &v
  88134. return s
  88135. }
  88136. // SetOptions sets the Options field's value.
  88137. func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
  88138. s.Options = v
  88139. return s
  88140. }
  88141. // SetState sets the State field's value.
  88142. func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
  88143. s.State = &v
  88144. return s
  88145. }
  88146. // SetSubnetIds sets the SubnetIds field's value.
  88147. func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
  88148. s.SubnetIds = v
  88149. return s
  88150. }
  88151. // SetTags sets the Tags field's value.
  88152. func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
  88153. s.Tags = v
  88154. return s
  88155. }
  88156. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  88157. func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
  88158. s.TransitGatewayAttachmentId = &v
  88159. return s
  88160. }
  88161. // SetTransitGatewayId sets the TransitGatewayId field's value.
  88162. func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
  88163. s.TransitGatewayId = &v
  88164. return s
  88165. }
  88166. // SetVpcId sets the VpcId field's value.
  88167. func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
  88168. s.VpcId = &v
  88169. return s
  88170. }
  88171. // SetVpcOwnerId sets the VpcOwnerId field's value.
  88172. func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
  88173. s.VpcOwnerId = &v
  88174. return s
  88175. }
  88176. // Describes the VPC attachment options.
  88177. type TransitGatewayVpcAttachmentOptions struct {
  88178. _ struct{} `type:"structure"`
  88179. // Indicates whether DNS support is enabled.
  88180. DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
  88181. // Indicates whether IPv6 support is enabled.
  88182. Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
  88183. }
  88184. // String returns the string representation
  88185. func (s TransitGatewayVpcAttachmentOptions) String() string {
  88186. return awsutil.Prettify(s)
  88187. }
  88188. // GoString returns the string representation
  88189. func (s TransitGatewayVpcAttachmentOptions) GoString() string {
  88190. return s.String()
  88191. }
  88192. // SetDnsSupport sets the DnsSupport field's value.
  88193. func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
  88194. s.DnsSupport = &v
  88195. return s
  88196. }
  88197. // SetIpv6Support sets the Ipv6Support field's value.
  88198. func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
  88199. s.Ipv6Support = &v
  88200. return s
  88201. }
  88202. // The VPN tunnel options.
  88203. type TunnelOption struct {
  88204. _ struct{} `type:"structure"`
  88205. // The number of seconds after which a DPD timeout occurs.
  88206. DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"`
  88207. // The IKE versions that are permitted for the VPN tunnel.
  88208. IkeVersions []*IKEVersionsListValue `locationName:"ikeVersionSet" locationNameList:"item" type:"list"`
  88209. // The external IP address of the VPN tunnel.
  88210. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  88211. // The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
  88212. // IKE negotiations.
  88213. Phase1DHGroupNumbers []*Phase1DHGroupNumbersListValue `locationName:"phase1DHGroupNumberSet" locationNameList:"item" type:"list"`
  88214. // The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
  88215. Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsListValue `locationName:"phase1EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
  88216. // The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
  88217. Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsListValue `locationName:"phase1IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
  88218. // The lifetime for phase 1 of the IKE negotiation, in seconds.
  88219. Phase1LifetimeSeconds *int64 `locationName:"phase1LifetimeSeconds" type:"integer"`
  88220. // The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
  88221. // IKE negotiations.
  88222. Phase2DHGroupNumbers []*Phase2DHGroupNumbersListValue `locationName:"phase2DHGroupNumberSet" locationNameList:"item" type:"list"`
  88223. // The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
  88224. Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsListValue `locationName:"phase2EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
  88225. // The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
  88226. Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsListValue `locationName:"phase2IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
  88227. // The lifetime for phase 2 of the IKE negotiation, in seconds.
  88228. Phase2LifetimeSeconds *int64 `locationName:"phase2LifetimeSeconds" type:"integer"`
  88229. // The pre-shared key (PSK) to establish initial authentication between the
  88230. // virtual private gateway and the customer gateway.
  88231. PreSharedKey *string `locationName:"preSharedKey" type:"string"`
  88232. // The percentage of the rekey window determined by RekeyMarginTimeSeconds during
  88233. // which the rekey time is randomly selected.
  88234. RekeyFuzzPercentage *int64 `locationName:"rekeyFuzzPercentage" type:"integer"`
  88235. // The margin time, in seconds, before the phase 2 lifetime expires, during
  88236. // which the AWS side of the VPN connection performs an IKE rekey.
  88237. RekeyMarginTimeSeconds *int64 `locationName:"rekeyMarginTimeSeconds" type:"integer"`
  88238. // The number of packets in an IKE replay window.
  88239. ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"`
  88240. // The range of inside IP addresses for the tunnel.
  88241. TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"`
  88242. }
  88243. // String returns the string representation
  88244. func (s TunnelOption) String() string {
  88245. return awsutil.Prettify(s)
  88246. }
  88247. // GoString returns the string representation
  88248. func (s TunnelOption) GoString() string {
  88249. return s.String()
  88250. }
  88251. // SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
  88252. func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption {
  88253. s.DpdTimeoutSeconds = &v
  88254. return s
  88255. }
  88256. // SetIkeVersions sets the IkeVersions field's value.
  88257. func (s *TunnelOption) SetIkeVersions(v []*IKEVersionsListValue) *TunnelOption {
  88258. s.IkeVersions = v
  88259. return s
  88260. }
  88261. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  88262. func (s *TunnelOption) SetOutsideIpAddress(v string) *TunnelOption {
  88263. s.OutsideIpAddress = &v
  88264. return s
  88265. }
  88266. // SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
  88267. func (s *TunnelOption) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersListValue) *TunnelOption {
  88268. s.Phase1DHGroupNumbers = v
  88269. return s
  88270. }
  88271. // SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
  88272. func (s *TunnelOption) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsListValue) *TunnelOption {
  88273. s.Phase1EncryptionAlgorithms = v
  88274. return s
  88275. }
  88276. // SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
  88277. func (s *TunnelOption) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsListValue) *TunnelOption {
  88278. s.Phase1IntegrityAlgorithms = v
  88279. return s
  88280. }
  88281. // SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
  88282. func (s *TunnelOption) SetPhase1LifetimeSeconds(v int64) *TunnelOption {
  88283. s.Phase1LifetimeSeconds = &v
  88284. return s
  88285. }
  88286. // SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
  88287. func (s *TunnelOption) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersListValue) *TunnelOption {
  88288. s.Phase2DHGroupNumbers = v
  88289. return s
  88290. }
  88291. // SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
  88292. func (s *TunnelOption) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsListValue) *TunnelOption {
  88293. s.Phase2EncryptionAlgorithms = v
  88294. return s
  88295. }
  88296. // SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
  88297. func (s *TunnelOption) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsListValue) *TunnelOption {
  88298. s.Phase2IntegrityAlgorithms = v
  88299. return s
  88300. }
  88301. // SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
  88302. func (s *TunnelOption) SetPhase2LifetimeSeconds(v int64) *TunnelOption {
  88303. s.Phase2LifetimeSeconds = &v
  88304. return s
  88305. }
  88306. // SetPreSharedKey sets the PreSharedKey field's value.
  88307. func (s *TunnelOption) SetPreSharedKey(v string) *TunnelOption {
  88308. s.PreSharedKey = &v
  88309. return s
  88310. }
  88311. // SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
  88312. func (s *TunnelOption) SetRekeyFuzzPercentage(v int64) *TunnelOption {
  88313. s.RekeyFuzzPercentage = &v
  88314. return s
  88315. }
  88316. // SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
  88317. func (s *TunnelOption) SetRekeyMarginTimeSeconds(v int64) *TunnelOption {
  88318. s.RekeyMarginTimeSeconds = &v
  88319. return s
  88320. }
  88321. // SetReplayWindowSize sets the ReplayWindowSize field's value.
  88322. func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption {
  88323. s.ReplayWindowSize = &v
  88324. return s
  88325. }
  88326. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  88327. func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption {
  88328. s.TunnelInsideCidr = &v
  88329. return s
  88330. }
  88331. type UnassignIpv6AddressesInput struct {
  88332. _ struct{} `type:"structure"`
  88333. // The IPv6 addresses to unassign from the network interface.
  88334. //
  88335. // Ipv6Addresses is a required field
  88336. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  88337. // The ID of the network interface.
  88338. //
  88339. // NetworkInterfaceId is a required field
  88340. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  88341. }
  88342. // String returns the string representation
  88343. func (s UnassignIpv6AddressesInput) String() string {
  88344. return awsutil.Prettify(s)
  88345. }
  88346. // GoString returns the string representation
  88347. func (s UnassignIpv6AddressesInput) GoString() string {
  88348. return s.String()
  88349. }
  88350. // Validate inspects the fields of the type to determine if they are valid.
  88351. func (s *UnassignIpv6AddressesInput) Validate() error {
  88352. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  88353. if s.Ipv6Addresses == nil {
  88354. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  88355. }
  88356. if s.NetworkInterfaceId == nil {
  88357. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  88358. }
  88359. if invalidParams.Len() > 0 {
  88360. return invalidParams
  88361. }
  88362. return nil
  88363. }
  88364. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  88365. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  88366. s.Ipv6Addresses = v
  88367. return s
  88368. }
  88369. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  88370. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  88371. s.NetworkInterfaceId = &v
  88372. return s
  88373. }
  88374. type UnassignIpv6AddressesOutput struct {
  88375. _ struct{} `type:"structure"`
  88376. // The ID of the network interface.
  88377. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  88378. // The IPv6 addresses that have been unassigned from the network interface.
  88379. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  88380. }
  88381. // String returns the string representation
  88382. func (s UnassignIpv6AddressesOutput) String() string {
  88383. return awsutil.Prettify(s)
  88384. }
  88385. // GoString returns the string representation
  88386. func (s UnassignIpv6AddressesOutput) GoString() string {
  88387. return s.String()
  88388. }
  88389. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  88390. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  88391. s.NetworkInterfaceId = &v
  88392. return s
  88393. }
  88394. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  88395. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  88396. s.UnassignedIpv6Addresses = v
  88397. return s
  88398. }
  88399. // Contains the parameters for UnassignPrivateIpAddresses.
  88400. type UnassignPrivateIpAddressesInput struct {
  88401. _ struct{} `type:"structure"`
  88402. // The ID of the network interface.
  88403. //
  88404. // NetworkInterfaceId is a required field
  88405. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  88406. // The secondary private IP addresses to unassign from the network interface.
  88407. // You can specify this option multiple times to unassign more than one IP address.
  88408. //
  88409. // PrivateIpAddresses is a required field
  88410. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  88411. }
  88412. // String returns the string representation
  88413. func (s UnassignPrivateIpAddressesInput) String() string {
  88414. return awsutil.Prettify(s)
  88415. }
  88416. // GoString returns the string representation
  88417. func (s UnassignPrivateIpAddressesInput) GoString() string {
  88418. return s.String()
  88419. }
  88420. // Validate inspects the fields of the type to determine if they are valid.
  88421. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  88422. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  88423. if s.NetworkInterfaceId == nil {
  88424. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  88425. }
  88426. if s.PrivateIpAddresses == nil {
  88427. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  88428. }
  88429. if invalidParams.Len() > 0 {
  88430. return invalidParams
  88431. }
  88432. return nil
  88433. }
  88434. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  88435. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  88436. s.NetworkInterfaceId = &v
  88437. return s
  88438. }
  88439. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  88440. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  88441. s.PrivateIpAddresses = v
  88442. return s
  88443. }
  88444. type UnassignPrivateIpAddressesOutput struct {
  88445. _ struct{} `type:"structure"`
  88446. }
  88447. // String returns the string representation
  88448. func (s UnassignPrivateIpAddressesOutput) String() string {
  88449. return awsutil.Prettify(s)
  88450. }
  88451. // GoString returns the string representation
  88452. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  88453. return s.String()
  88454. }
  88455. type UnmonitorInstancesInput struct {
  88456. _ struct{} `type:"structure"`
  88457. // Checks whether you have the required permissions for the action, without
  88458. // actually making the request, and provides an error response. If you have
  88459. // the required permissions, the error response is DryRunOperation. Otherwise,
  88460. // it is UnauthorizedOperation.
  88461. DryRun *bool `locationName:"dryRun" type:"boolean"`
  88462. // The IDs of the instances.
  88463. //
  88464. // InstanceIds is a required field
  88465. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  88466. }
  88467. // String returns the string representation
  88468. func (s UnmonitorInstancesInput) String() string {
  88469. return awsutil.Prettify(s)
  88470. }
  88471. // GoString returns the string representation
  88472. func (s UnmonitorInstancesInput) GoString() string {
  88473. return s.String()
  88474. }
  88475. // Validate inspects the fields of the type to determine if they are valid.
  88476. func (s *UnmonitorInstancesInput) Validate() error {
  88477. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  88478. if s.InstanceIds == nil {
  88479. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  88480. }
  88481. if invalidParams.Len() > 0 {
  88482. return invalidParams
  88483. }
  88484. return nil
  88485. }
  88486. // SetDryRun sets the DryRun field's value.
  88487. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  88488. s.DryRun = &v
  88489. return s
  88490. }
  88491. // SetInstanceIds sets the InstanceIds field's value.
  88492. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  88493. s.InstanceIds = v
  88494. return s
  88495. }
  88496. type UnmonitorInstancesOutput struct {
  88497. _ struct{} `type:"structure"`
  88498. // The monitoring information.
  88499. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  88500. }
  88501. // String returns the string representation
  88502. func (s UnmonitorInstancesOutput) String() string {
  88503. return awsutil.Prettify(s)
  88504. }
  88505. // GoString returns the string representation
  88506. func (s UnmonitorInstancesOutput) GoString() string {
  88507. return s.String()
  88508. }
  88509. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  88510. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  88511. s.InstanceMonitorings = v
  88512. return s
  88513. }
  88514. // Describes the burstable performance instance whose credit option for CPU
  88515. // usage was not modified.
  88516. type UnsuccessfulInstanceCreditSpecificationItem struct {
  88517. _ struct{} `type:"structure"`
  88518. // The applicable error for the burstable performance instance whose credit
  88519. // option for CPU usage was not modified.
  88520. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
  88521. // The ID of the instance.
  88522. InstanceId *string `locationName:"instanceId" type:"string"`
  88523. }
  88524. // String returns the string representation
  88525. func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
  88526. return awsutil.Prettify(s)
  88527. }
  88528. // GoString returns the string representation
  88529. func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
  88530. return s.String()
  88531. }
  88532. // SetError sets the Error field's value.
  88533. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
  88534. s.Error = v
  88535. return s
  88536. }
  88537. // SetInstanceId sets the InstanceId field's value.
  88538. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
  88539. s.InstanceId = &v
  88540. return s
  88541. }
  88542. // Information about the error for the burstable performance instance whose
  88543. // credit option for CPU usage was not modified.
  88544. type UnsuccessfulInstanceCreditSpecificationItemError struct {
  88545. _ struct{} `type:"structure"`
  88546. // The error code.
  88547. Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
  88548. // The applicable error message.
  88549. Message *string `locationName:"message" type:"string"`
  88550. }
  88551. // String returns the string representation
  88552. func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
  88553. return awsutil.Prettify(s)
  88554. }
  88555. // GoString returns the string representation
  88556. func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
  88557. return s.String()
  88558. }
  88559. // SetCode sets the Code field's value.
  88560. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  88561. s.Code = &v
  88562. return s
  88563. }
  88564. // SetMessage sets the Message field's value.
  88565. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  88566. s.Message = &v
  88567. return s
  88568. }
  88569. // Information about items that were not successfully processed in a batch call.
  88570. type UnsuccessfulItem struct {
  88571. _ struct{} `type:"structure"`
  88572. // Information about the error.
  88573. Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
  88574. // The ID of the resource.
  88575. ResourceId *string `locationName:"resourceId" type:"string"`
  88576. }
  88577. // String returns the string representation
  88578. func (s UnsuccessfulItem) String() string {
  88579. return awsutil.Prettify(s)
  88580. }
  88581. // GoString returns the string representation
  88582. func (s UnsuccessfulItem) GoString() string {
  88583. return s.String()
  88584. }
  88585. // SetError sets the Error field's value.
  88586. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  88587. s.Error = v
  88588. return s
  88589. }
  88590. // SetResourceId sets the ResourceId field's value.
  88591. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  88592. s.ResourceId = &v
  88593. return s
  88594. }
  88595. // Information about the error that occurred. For more information about errors,
  88596. // see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  88597. type UnsuccessfulItemError struct {
  88598. _ struct{} `type:"structure"`
  88599. // The error code.
  88600. Code *string `locationName:"code" type:"string"`
  88601. // The error message accompanying the error code.
  88602. Message *string `locationName:"message" type:"string"`
  88603. }
  88604. // String returns the string representation
  88605. func (s UnsuccessfulItemError) String() string {
  88606. return awsutil.Prettify(s)
  88607. }
  88608. // GoString returns the string representation
  88609. func (s UnsuccessfulItemError) GoString() string {
  88610. return s.String()
  88611. }
  88612. // SetCode sets the Code field's value.
  88613. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  88614. s.Code = &v
  88615. return s
  88616. }
  88617. // SetMessage sets the Message field's value.
  88618. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  88619. s.Message = &v
  88620. return s
  88621. }
  88622. type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
  88623. _ struct{} `type:"structure"`
  88624. // Checks whether you have the required permissions for the action, without
  88625. // actually making the request, and provides an error response. If you have
  88626. // the required permissions, the error response is DryRunOperation. Otherwise,
  88627. // it is UnauthorizedOperation.
  88628. DryRun *bool `type:"boolean"`
  88629. // The ID of the security group. You must specify either the security group
  88630. // ID or the security group name in the request. For security groups in a nondefault
  88631. // VPC, you must specify the security group ID.
  88632. GroupId *string `type:"string"`
  88633. // [Default VPC] The name of the security group. You must specify either the
  88634. // security group ID or the security group name in the request.
  88635. GroupName *string `type:"string"`
  88636. // The IP permissions for the security group rule.
  88637. //
  88638. // IpPermissions is a required field
  88639. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  88640. }
  88641. // String returns the string representation
  88642. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
  88643. return awsutil.Prettify(s)
  88644. }
  88645. // GoString returns the string representation
  88646. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
  88647. return s.String()
  88648. }
  88649. // Validate inspects the fields of the type to determine if they are valid.
  88650. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
  88651. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
  88652. if s.IpPermissions == nil {
  88653. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  88654. }
  88655. if invalidParams.Len() > 0 {
  88656. return invalidParams
  88657. }
  88658. return nil
  88659. }
  88660. // SetDryRun sets the DryRun field's value.
  88661. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  88662. s.DryRun = &v
  88663. return s
  88664. }
  88665. // SetGroupId sets the GroupId field's value.
  88666. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  88667. s.GroupId = &v
  88668. return s
  88669. }
  88670. // SetGroupName sets the GroupName field's value.
  88671. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  88672. s.GroupName = &v
  88673. return s
  88674. }
  88675. // SetIpPermissions sets the IpPermissions field's value.
  88676. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  88677. s.IpPermissions = v
  88678. return s
  88679. }
  88680. type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
  88681. _ struct{} `type:"structure"`
  88682. // Returns true if the request succeeds; otherwise, returns an error.
  88683. Return *bool `locationName:"return" type:"boolean"`
  88684. }
  88685. // String returns the string representation
  88686. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
  88687. return awsutil.Prettify(s)
  88688. }
  88689. // GoString returns the string representation
  88690. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
  88691. return s.String()
  88692. }
  88693. // SetReturn sets the Return field's value.
  88694. func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
  88695. s.Return = &v
  88696. return s
  88697. }
  88698. type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
  88699. _ struct{} `type:"structure"`
  88700. // Checks whether you have the required permissions for the action, without
  88701. // actually making the request, and provides an error response. If you have
  88702. // the required permissions, the error response is DryRunOperation. Otherwise,
  88703. // it is UnauthorizedOperation.
  88704. DryRun *bool `type:"boolean"`
  88705. // The ID of the security group. You must specify either the security group
  88706. // ID or the security group name in the request. For security groups in a nondefault
  88707. // VPC, you must specify the security group ID.
  88708. GroupId *string `type:"string"`
  88709. // [EC2-Classic, default VPC] The name of the security group. You must specify
  88710. // either the security group ID or the security group name in the request.
  88711. GroupName *string `type:"string"`
  88712. // The IP permissions for the security group rule.
  88713. //
  88714. // IpPermissions is a required field
  88715. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  88716. }
  88717. // String returns the string representation
  88718. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
  88719. return awsutil.Prettify(s)
  88720. }
  88721. // GoString returns the string representation
  88722. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
  88723. return s.String()
  88724. }
  88725. // Validate inspects the fields of the type to determine if they are valid.
  88726. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
  88727. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
  88728. if s.IpPermissions == nil {
  88729. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  88730. }
  88731. if invalidParams.Len() > 0 {
  88732. return invalidParams
  88733. }
  88734. return nil
  88735. }
  88736. // SetDryRun sets the DryRun field's value.
  88737. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  88738. s.DryRun = &v
  88739. return s
  88740. }
  88741. // SetGroupId sets the GroupId field's value.
  88742. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  88743. s.GroupId = &v
  88744. return s
  88745. }
  88746. // SetGroupName sets the GroupName field's value.
  88747. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  88748. s.GroupName = &v
  88749. return s
  88750. }
  88751. // SetIpPermissions sets the IpPermissions field's value.
  88752. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  88753. s.IpPermissions = v
  88754. return s
  88755. }
  88756. type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
  88757. _ struct{} `type:"structure"`
  88758. // Returns true if the request succeeds; otherwise, returns an error.
  88759. Return *bool `locationName:"return" type:"boolean"`
  88760. }
  88761. // String returns the string representation
  88762. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
  88763. return awsutil.Prettify(s)
  88764. }
  88765. // GoString returns the string representation
  88766. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
  88767. return s.String()
  88768. }
  88769. // SetReturn sets the Return field's value.
  88770. func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
  88771. s.Return = &v
  88772. return s
  88773. }
  88774. // Describes the S3 bucket for the disk image.
  88775. type UserBucket struct {
  88776. _ struct{} `type:"structure"`
  88777. // The name of the S3 bucket where the disk image is located.
  88778. S3Bucket *string `type:"string"`
  88779. // The file name of the disk image.
  88780. S3Key *string `type:"string"`
  88781. }
  88782. // String returns the string representation
  88783. func (s UserBucket) String() string {
  88784. return awsutil.Prettify(s)
  88785. }
  88786. // GoString returns the string representation
  88787. func (s UserBucket) GoString() string {
  88788. return s.String()
  88789. }
  88790. // SetS3Bucket sets the S3Bucket field's value.
  88791. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  88792. s.S3Bucket = &v
  88793. return s
  88794. }
  88795. // SetS3Key sets the S3Key field's value.
  88796. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  88797. s.S3Key = &v
  88798. return s
  88799. }
  88800. // Describes the S3 bucket for the disk image.
  88801. type UserBucketDetails struct {
  88802. _ struct{} `type:"structure"`
  88803. // The S3 bucket from which the disk image was created.
  88804. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  88805. // The file name of the disk image.
  88806. S3Key *string `locationName:"s3Key" type:"string"`
  88807. }
  88808. // String returns the string representation
  88809. func (s UserBucketDetails) String() string {
  88810. return awsutil.Prettify(s)
  88811. }
  88812. // GoString returns the string representation
  88813. func (s UserBucketDetails) GoString() string {
  88814. return s.String()
  88815. }
  88816. // SetS3Bucket sets the S3Bucket field's value.
  88817. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  88818. s.S3Bucket = &v
  88819. return s
  88820. }
  88821. // SetS3Key sets the S3Key field's value.
  88822. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  88823. s.S3Key = &v
  88824. return s
  88825. }
  88826. // Describes the user data for an instance.
  88827. type UserData struct {
  88828. _ struct{} `type:"structure" sensitive:"true"`
  88829. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  88830. // is performed for you, and you can load the text from a file. Otherwise, you
  88831. // must provide Base64-encoded text.
  88832. Data *string `locationName:"data" type:"string"`
  88833. }
  88834. // String returns the string representation
  88835. func (s UserData) String() string {
  88836. return awsutil.Prettify(s)
  88837. }
  88838. // GoString returns the string representation
  88839. func (s UserData) GoString() string {
  88840. return s.String()
  88841. }
  88842. // SetData sets the Data field's value.
  88843. func (s *UserData) SetData(v string) *UserData {
  88844. s.Data = &v
  88845. return s
  88846. }
  88847. // Describes a security group and AWS account ID pair.
  88848. type UserIdGroupPair struct {
  88849. _ struct{} `type:"structure"`
  88850. // A description for the security group rule that references this user ID group
  88851. // pair.
  88852. //
  88853. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  88854. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  88855. Description *string `locationName:"description" type:"string"`
  88856. // The ID of the security group.
  88857. GroupId *string `locationName:"groupId" type:"string"`
  88858. // The name of the security group. In a request, use this parameter for a security
  88859. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  88860. // VPC, use the security group ID.
  88861. //
  88862. // For a referenced security group in another VPC, this value is not returned
  88863. // if the referenced security group is deleted.
  88864. GroupName *string `locationName:"groupName" type:"string"`
  88865. // The status of a VPC peering connection, if applicable.
  88866. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  88867. // The ID of an AWS account.
  88868. //
  88869. // For a referenced security group in another VPC, the account ID of the referenced
  88870. // security group is returned in the response. If the referenced security group
  88871. // is deleted, this value is not returned.
  88872. //
  88873. // [EC2-Classic] Required when adding or removing rules that reference a security
  88874. // group in another AWS account.
  88875. UserId *string `locationName:"userId" type:"string"`
  88876. // The ID of the VPC for the referenced security group, if applicable.
  88877. VpcId *string `locationName:"vpcId" type:"string"`
  88878. // The ID of the VPC peering connection, if applicable.
  88879. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  88880. }
  88881. // String returns the string representation
  88882. func (s UserIdGroupPair) String() string {
  88883. return awsutil.Prettify(s)
  88884. }
  88885. // GoString returns the string representation
  88886. func (s UserIdGroupPair) GoString() string {
  88887. return s.String()
  88888. }
  88889. // SetDescription sets the Description field's value.
  88890. func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
  88891. s.Description = &v
  88892. return s
  88893. }
  88894. // SetGroupId sets the GroupId field's value.
  88895. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  88896. s.GroupId = &v
  88897. return s
  88898. }
  88899. // SetGroupName sets the GroupName field's value.
  88900. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  88901. s.GroupName = &v
  88902. return s
  88903. }
  88904. // SetPeeringStatus sets the PeeringStatus field's value.
  88905. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  88906. s.PeeringStatus = &v
  88907. return s
  88908. }
  88909. // SetUserId sets the UserId field's value.
  88910. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  88911. s.UserId = &v
  88912. return s
  88913. }
  88914. // SetVpcId sets the VpcId field's value.
  88915. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  88916. s.VpcId = &v
  88917. return s
  88918. }
  88919. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  88920. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  88921. s.VpcPeeringConnectionId = &v
  88922. return s
  88923. }
  88924. // Describes the vCPU configurations for the instance type.
  88925. type VCpuInfo struct {
  88926. _ struct{} `type:"structure"`
  88927. // The default number of cores for the instance type.
  88928. DefaultCores *int64 `locationName:"defaultCores" type:"integer"`
  88929. // The default number of threads per core for the instance type.
  88930. DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"`
  88931. // The default number of vCPUs for the instance type.
  88932. DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
  88933. // List of the valid number of cores that can be configured for the instance
  88934. // type.
  88935. ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
  88936. // List of the valid number of threads per core that can be configured for the
  88937. // instance type.
  88938. ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
  88939. }
  88940. // String returns the string representation
  88941. func (s VCpuInfo) String() string {
  88942. return awsutil.Prettify(s)
  88943. }
  88944. // GoString returns the string representation
  88945. func (s VCpuInfo) GoString() string {
  88946. return s.String()
  88947. }
  88948. // SetDefaultCores sets the DefaultCores field's value.
  88949. func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo {
  88950. s.DefaultCores = &v
  88951. return s
  88952. }
  88953. // SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value.
  88954. func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo {
  88955. s.DefaultThreadsPerCore = &v
  88956. return s
  88957. }
  88958. // SetDefaultVCpus sets the DefaultVCpus field's value.
  88959. func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo {
  88960. s.DefaultVCpus = &v
  88961. return s
  88962. }
  88963. // SetValidCores sets the ValidCores field's value.
  88964. func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo {
  88965. s.ValidCores = v
  88966. return s
  88967. }
  88968. // SetValidThreadsPerCore sets the ValidThreadsPerCore field's value.
  88969. func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo {
  88970. s.ValidThreadsPerCore = v
  88971. return s
  88972. }
  88973. // Describes telemetry for a VPN tunnel.
  88974. type VgwTelemetry struct {
  88975. _ struct{} `type:"structure"`
  88976. // The number of accepted routes.
  88977. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  88978. // The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
  88979. CertificateArn *string `locationName:"certificateArn" type:"string"`
  88980. // The date and time of the last change in status.
  88981. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
  88982. // The Internet-routable IP address of the virtual private gateway's outside
  88983. // interface.
  88984. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  88985. // The status of the VPN tunnel.
  88986. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  88987. // If an error occurs, a description of the error.
  88988. StatusMessage *string `locationName:"statusMessage" type:"string"`
  88989. }
  88990. // String returns the string representation
  88991. func (s VgwTelemetry) String() string {
  88992. return awsutil.Prettify(s)
  88993. }
  88994. // GoString returns the string representation
  88995. func (s VgwTelemetry) GoString() string {
  88996. return s.String()
  88997. }
  88998. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  88999. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  89000. s.AcceptedRouteCount = &v
  89001. return s
  89002. }
  89003. // SetCertificateArn sets the CertificateArn field's value.
  89004. func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry {
  89005. s.CertificateArn = &v
  89006. return s
  89007. }
  89008. // SetLastStatusChange sets the LastStatusChange field's value.
  89009. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  89010. s.LastStatusChange = &v
  89011. return s
  89012. }
  89013. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  89014. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  89015. s.OutsideIpAddress = &v
  89016. return s
  89017. }
  89018. // SetStatus sets the Status field's value.
  89019. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  89020. s.Status = &v
  89021. return s
  89022. }
  89023. // SetStatusMessage sets the StatusMessage field's value.
  89024. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  89025. s.StatusMessage = &v
  89026. return s
  89027. }
  89028. // Describes a volume.
  89029. type Volume struct {
  89030. _ struct{} `type:"structure"`
  89031. // Information about the volume attachments.
  89032. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  89033. // The Availability Zone for the volume.
  89034. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  89035. // The time stamp when volume creation was initiated.
  89036. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  89037. // Indicates whether the volume is encrypted.
  89038. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  89039. // Indicates whether the volume was created using fast snapshot restore.
  89040. FastRestored *bool `locationName:"fastRestored" type:"boolean"`
  89041. // The number of I/O operations per second (IOPS) that the volume supports.
  89042. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  89043. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  89044. // the baseline performance of the volume and the rate at which the volume accumulates
  89045. // I/O credits for bursting. For more information, see Amazon EBS Volume Types
  89046. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  89047. // in the Amazon Elastic Compute Cloud User Guide.
  89048. //
  89049. // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
  89050. // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
  89051. // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  89052. // Other instance families guarantee performance up to 32,000 IOPS.
  89053. //
  89054. // Condition: This parameter is required for requests to create io1 volumes;
  89055. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  89056. Iops *int64 `locationName:"iops" type:"integer"`
  89057. // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
  89058. // customer master key (CMK) that was used to protect the volume encryption
  89059. // key for the volume.
  89060. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  89061. // The Amazon Resource Name (ARN) of the Outpost.
  89062. OutpostArn *string `locationName:"outpostArn" type:"string"`
  89063. // The size of the volume, in GiBs.
  89064. Size *int64 `locationName:"size" type:"integer"`
  89065. // The snapshot from which the volume was created, if applicable.
  89066. SnapshotId *string `locationName:"snapshotId" type:"string"`
  89067. // The volume state.
  89068. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  89069. // Any tags assigned to the volume.
  89070. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  89071. // The ID of the volume.
  89072. VolumeId *string `locationName:"volumeId" type:"string"`
  89073. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  89074. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  89075. // for Magnetic volumes.
  89076. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  89077. }
  89078. // String returns the string representation
  89079. func (s Volume) String() string {
  89080. return awsutil.Prettify(s)
  89081. }
  89082. // GoString returns the string representation
  89083. func (s Volume) GoString() string {
  89084. return s.String()
  89085. }
  89086. // SetAttachments sets the Attachments field's value.
  89087. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  89088. s.Attachments = v
  89089. return s
  89090. }
  89091. // SetAvailabilityZone sets the AvailabilityZone field's value.
  89092. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  89093. s.AvailabilityZone = &v
  89094. return s
  89095. }
  89096. // SetCreateTime sets the CreateTime field's value.
  89097. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  89098. s.CreateTime = &v
  89099. return s
  89100. }
  89101. // SetEncrypted sets the Encrypted field's value.
  89102. func (s *Volume) SetEncrypted(v bool) *Volume {
  89103. s.Encrypted = &v
  89104. return s
  89105. }
  89106. // SetFastRestored sets the FastRestored field's value.
  89107. func (s *Volume) SetFastRestored(v bool) *Volume {
  89108. s.FastRestored = &v
  89109. return s
  89110. }
  89111. // SetIops sets the Iops field's value.
  89112. func (s *Volume) SetIops(v int64) *Volume {
  89113. s.Iops = &v
  89114. return s
  89115. }
  89116. // SetKmsKeyId sets the KmsKeyId field's value.
  89117. func (s *Volume) SetKmsKeyId(v string) *Volume {
  89118. s.KmsKeyId = &v
  89119. return s
  89120. }
  89121. // SetOutpostArn sets the OutpostArn field's value.
  89122. func (s *Volume) SetOutpostArn(v string) *Volume {
  89123. s.OutpostArn = &v
  89124. return s
  89125. }
  89126. // SetSize sets the Size field's value.
  89127. func (s *Volume) SetSize(v int64) *Volume {
  89128. s.Size = &v
  89129. return s
  89130. }
  89131. // SetSnapshotId sets the SnapshotId field's value.
  89132. func (s *Volume) SetSnapshotId(v string) *Volume {
  89133. s.SnapshotId = &v
  89134. return s
  89135. }
  89136. // SetState sets the State field's value.
  89137. func (s *Volume) SetState(v string) *Volume {
  89138. s.State = &v
  89139. return s
  89140. }
  89141. // SetTags sets the Tags field's value.
  89142. func (s *Volume) SetTags(v []*Tag) *Volume {
  89143. s.Tags = v
  89144. return s
  89145. }
  89146. // SetVolumeId sets the VolumeId field's value.
  89147. func (s *Volume) SetVolumeId(v string) *Volume {
  89148. s.VolumeId = &v
  89149. return s
  89150. }
  89151. // SetVolumeType sets the VolumeType field's value.
  89152. func (s *Volume) SetVolumeType(v string) *Volume {
  89153. s.VolumeType = &v
  89154. return s
  89155. }
  89156. // Describes volume attachment details.
  89157. type VolumeAttachment struct {
  89158. _ struct{} `type:"structure"`
  89159. // The time stamp when the attachment initiated.
  89160. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  89161. // Indicates whether the EBS volume is deleted on instance termination.
  89162. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  89163. // The device name.
  89164. Device *string `locationName:"device" type:"string"`
  89165. // The ID of the instance.
  89166. InstanceId *string `locationName:"instanceId" type:"string"`
  89167. // The attachment state of the volume.
  89168. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  89169. // The ID of the volume.
  89170. VolumeId *string `locationName:"volumeId" type:"string"`
  89171. }
  89172. // String returns the string representation
  89173. func (s VolumeAttachment) String() string {
  89174. return awsutil.Prettify(s)
  89175. }
  89176. // GoString returns the string representation
  89177. func (s VolumeAttachment) GoString() string {
  89178. return s.String()
  89179. }
  89180. // SetAttachTime sets the AttachTime field's value.
  89181. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  89182. s.AttachTime = &v
  89183. return s
  89184. }
  89185. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  89186. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  89187. s.DeleteOnTermination = &v
  89188. return s
  89189. }
  89190. // SetDevice sets the Device field's value.
  89191. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  89192. s.Device = &v
  89193. return s
  89194. }
  89195. // SetInstanceId sets the InstanceId field's value.
  89196. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  89197. s.InstanceId = &v
  89198. return s
  89199. }
  89200. // SetState sets the State field's value.
  89201. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  89202. s.State = &v
  89203. return s
  89204. }
  89205. // SetVolumeId sets the VolumeId field's value.
  89206. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  89207. s.VolumeId = &v
  89208. return s
  89209. }
  89210. // Describes an EBS volume.
  89211. type VolumeDetail struct {
  89212. _ struct{} `type:"structure"`
  89213. // The size of the volume, in GiB.
  89214. //
  89215. // Size is a required field
  89216. Size *int64 `locationName:"size" type:"long" required:"true"`
  89217. }
  89218. // String returns the string representation
  89219. func (s VolumeDetail) String() string {
  89220. return awsutil.Prettify(s)
  89221. }
  89222. // GoString returns the string representation
  89223. func (s VolumeDetail) GoString() string {
  89224. return s.String()
  89225. }
  89226. // Validate inspects the fields of the type to determine if they are valid.
  89227. func (s *VolumeDetail) Validate() error {
  89228. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  89229. if s.Size == nil {
  89230. invalidParams.Add(request.NewErrParamRequired("Size"))
  89231. }
  89232. if invalidParams.Len() > 0 {
  89233. return invalidParams
  89234. }
  89235. return nil
  89236. }
  89237. // SetSize sets the Size field's value.
  89238. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  89239. s.Size = &v
  89240. return s
  89241. }
  89242. // Describes the modification status of an EBS volume.
  89243. //
  89244. // If the volume has never been modified, some element values will be null.
  89245. type VolumeModification struct {
  89246. _ struct{} `type:"structure"`
  89247. // The modification completion or failure time.
  89248. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  89249. // The current modification state. The modification state is null for unmodified
  89250. // volumes.
  89251. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  89252. // The original IOPS rate of the volume.
  89253. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  89254. // The original size of the volume.
  89255. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  89256. // The original EBS volume type of the volume.
  89257. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  89258. // The modification progress, from 0 to 100 percent complete.
  89259. Progress *int64 `locationName:"progress" type:"long"`
  89260. // The modification start time.
  89261. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  89262. // A status message about the modification progress or failure.
  89263. StatusMessage *string `locationName:"statusMessage" type:"string"`
  89264. // The target IOPS rate of the volume.
  89265. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  89266. // The target size of the volume, in GiB.
  89267. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  89268. // The target EBS volume type of the volume.
  89269. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  89270. // The ID of the volume.
  89271. VolumeId *string `locationName:"volumeId" type:"string"`
  89272. }
  89273. // String returns the string representation
  89274. func (s VolumeModification) String() string {
  89275. return awsutil.Prettify(s)
  89276. }
  89277. // GoString returns the string representation
  89278. func (s VolumeModification) GoString() string {
  89279. return s.String()
  89280. }
  89281. // SetEndTime sets the EndTime field's value.
  89282. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  89283. s.EndTime = &v
  89284. return s
  89285. }
  89286. // SetModificationState sets the ModificationState field's value.
  89287. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  89288. s.ModificationState = &v
  89289. return s
  89290. }
  89291. // SetOriginalIops sets the OriginalIops field's value.
  89292. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  89293. s.OriginalIops = &v
  89294. return s
  89295. }
  89296. // SetOriginalSize sets the OriginalSize field's value.
  89297. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  89298. s.OriginalSize = &v
  89299. return s
  89300. }
  89301. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  89302. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  89303. s.OriginalVolumeType = &v
  89304. return s
  89305. }
  89306. // SetProgress sets the Progress field's value.
  89307. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  89308. s.Progress = &v
  89309. return s
  89310. }
  89311. // SetStartTime sets the StartTime field's value.
  89312. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  89313. s.StartTime = &v
  89314. return s
  89315. }
  89316. // SetStatusMessage sets the StatusMessage field's value.
  89317. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  89318. s.StatusMessage = &v
  89319. return s
  89320. }
  89321. // SetTargetIops sets the TargetIops field's value.
  89322. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  89323. s.TargetIops = &v
  89324. return s
  89325. }
  89326. // SetTargetSize sets the TargetSize field's value.
  89327. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  89328. s.TargetSize = &v
  89329. return s
  89330. }
  89331. // SetTargetVolumeType sets the TargetVolumeType field's value.
  89332. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  89333. s.TargetVolumeType = &v
  89334. return s
  89335. }
  89336. // SetVolumeId sets the VolumeId field's value.
  89337. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  89338. s.VolumeId = &v
  89339. return s
  89340. }
  89341. // Describes a volume status operation code.
  89342. type VolumeStatusAction struct {
  89343. _ struct{} `type:"structure"`
  89344. // The code identifying the operation, for example, enable-volume-io.
  89345. Code *string `locationName:"code" type:"string"`
  89346. // A description of the operation.
  89347. Description *string `locationName:"description" type:"string"`
  89348. // The ID of the event associated with this operation.
  89349. EventId *string `locationName:"eventId" type:"string"`
  89350. // The event type associated with this operation.
  89351. EventType *string `locationName:"eventType" type:"string"`
  89352. }
  89353. // String returns the string representation
  89354. func (s VolumeStatusAction) String() string {
  89355. return awsutil.Prettify(s)
  89356. }
  89357. // GoString returns the string representation
  89358. func (s VolumeStatusAction) GoString() string {
  89359. return s.String()
  89360. }
  89361. // SetCode sets the Code field's value.
  89362. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  89363. s.Code = &v
  89364. return s
  89365. }
  89366. // SetDescription sets the Description field's value.
  89367. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  89368. s.Description = &v
  89369. return s
  89370. }
  89371. // SetEventId sets the EventId field's value.
  89372. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  89373. s.EventId = &v
  89374. return s
  89375. }
  89376. // SetEventType sets the EventType field's value.
  89377. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  89378. s.EventType = &v
  89379. return s
  89380. }
  89381. // Describes a volume status.
  89382. type VolumeStatusDetails struct {
  89383. _ struct{} `type:"structure"`
  89384. // The name of the volume status.
  89385. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  89386. // The intended status of the volume status.
  89387. Status *string `locationName:"status" type:"string"`
  89388. }
  89389. // String returns the string representation
  89390. func (s VolumeStatusDetails) String() string {
  89391. return awsutil.Prettify(s)
  89392. }
  89393. // GoString returns the string representation
  89394. func (s VolumeStatusDetails) GoString() string {
  89395. return s.String()
  89396. }
  89397. // SetName sets the Name field's value.
  89398. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  89399. s.Name = &v
  89400. return s
  89401. }
  89402. // SetStatus sets the Status field's value.
  89403. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  89404. s.Status = &v
  89405. return s
  89406. }
  89407. // Describes a volume status event.
  89408. type VolumeStatusEvent struct {
  89409. _ struct{} `type:"structure"`
  89410. // A description of the event.
  89411. Description *string `locationName:"description" type:"string"`
  89412. // The ID of this event.
  89413. EventId *string `locationName:"eventId" type:"string"`
  89414. // The type of this event.
  89415. EventType *string `locationName:"eventType" type:"string"`
  89416. // The latest end time of the event.
  89417. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
  89418. // The earliest start time of the event.
  89419. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
  89420. }
  89421. // String returns the string representation
  89422. func (s VolumeStatusEvent) String() string {
  89423. return awsutil.Prettify(s)
  89424. }
  89425. // GoString returns the string representation
  89426. func (s VolumeStatusEvent) GoString() string {
  89427. return s.String()
  89428. }
  89429. // SetDescription sets the Description field's value.
  89430. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  89431. s.Description = &v
  89432. return s
  89433. }
  89434. // SetEventId sets the EventId field's value.
  89435. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  89436. s.EventId = &v
  89437. return s
  89438. }
  89439. // SetEventType sets the EventType field's value.
  89440. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  89441. s.EventType = &v
  89442. return s
  89443. }
  89444. // SetNotAfter sets the NotAfter field's value.
  89445. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  89446. s.NotAfter = &v
  89447. return s
  89448. }
  89449. // SetNotBefore sets the NotBefore field's value.
  89450. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  89451. s.NotBefore = &v
  89452. return s
  89453. }
  89454. // Describes the status of a volume.
  89455. type VolumeStatusInfo struct {
  89456. _ struct{} `type:"structure"`
  89457. // The details of the volume status.
  89458. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  89459. // The status of the volume.
  89460. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  89461. }
  89462. // String returns the string representation
  89463. func (s VolumeStatusInfo) String() string {
  89464. return awsutil.Prettify(s)
  89465. }
  89466. // GoString returns the string representation
  89467. func (s VolumeStatusInfo) GoString() string {
  89468. return s.String()
  89469. }
  89470. // SetDetails sets the Details field's value.
  89471. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  89472. s.Details = v
  89473. return s
  89474. }
  89475. // SetStatus sets the Status field's value.
  89476. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  89477. s.Status = &v
  89478. return s
  89479. }
  89480. // Describes the volume status.
  89481. type VolumeStatusItem struct {
  89482. _ struct{} `type:"structure"`
  89483. // The details of the operation.
  89484. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  89485. // The Availability Zone of the volume.
  89486. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  89487. // A list of events associated with the volume.
  89488. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  89489. // The Amazon Resource Name (ARN) of the Outpost.
  89490. OutpostArn *string `locationName:"outpostArn" type:"string"`
  89491. // The volume ID.
  89492. VolumeId *string `locationName:"volumeId" type:"string"`
  89493. // The volume status.
  89494. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  89495. }
  89496. // String returns the string representation
  89497. func (s VolumeStatusItem) String() string {
  89498. return awsutil.Prettify(s)
  89499. }
  89500. // GoString returns the string representation
  89501. func (s VolumeStatusItem) GoString() string {
  89502. return s.String()
  89503. }
  89504. // SetActions sets the Actions field's value.
  89505. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  89506. s.Actions = v
  89507. return s
  89508. }
  89509. // SetAvailabilityZone sets the AvailabilityZone field's value.
  89510. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  89511. s.AvailabilityZone = &v
  89512. return s
  89513. }
  89514. // SetEvents sets the Events field's value.
  89515. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  89516. s.Events = v
  89517. return s
  89518. }
  89519. // SetOutpostArn sets the OutpostArn field's value.
  89520. func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
  89521. s.OutpostArn = &v
  89522. return s
  89523. }
  89524. // SetVolumeId sets the VolumeId field's value.
  89525. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  89526. s.VolumeId = &v
  89527. return s
  89528. }
  89529. // SetVolumeStatus sets the VolumeStatus field's value.
  89530. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  89531. s.VolumeStatus = v
  89532. return s
  89533. }
  89534. // Describes a VPC.
  89535. type Vpc struct {
  89536. _ struct{} `type:"structure"`
  89537. // The primary IPv4 CIDR block for the VPC.
  89538. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  89539. // Information about the IPv4 CIDR blocks associated with the VPC.
  89540. CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
  89541. // The ID of the set of DHCP options you've associated with the VPC (or default
  89542. // if the default options are associated with the VPC).
  89543. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  89544. // The allowed tenancy of instances launched into the VPC.
  89545. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  89546. // Information about the IPv6 CIDR blocks associated with the VPC.
  89547. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  89548. // Indicates whether the VPC is the default VPC.
  89549. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  89550. // The ID of the AWS account that owns the VPC.
  89551. OwnerId *string `locationName:"ownerId" type:"string"`
  89552. // The current state of the VPC.
  89553. State *string `locationName:"state" type:"string" enum:"VpcState"`
  89554. // Any tags assigned to the VPC.
  89555. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  89556. // The ID of the VPC.
  89557. VpcId *string `locationName:"vpcId" type:"string"`
  89558. }
  89559. // String returns the string representation
  89560. func (s Vpc) String() string {
  89561. return awsutil.Prettify(s)
  89562. }
  89563. // GoString returns the string representation
  89564. func (s Vpc) GoString() string {
  89565. return s.String()
  89566. }
  89567. // SetCidrBlock sets the CidrBlock field's value.
  89568. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  89569. s.CidrBlock = &v
  89570. return s
  89571. }
  89572. // SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
  89573. func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
  89574. s.CidrBlockAssociationSet = v
  89575. return s
  89576. }
  89577. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  89578. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  89579. s.DhcpOptionsId = &v
  89580. return s
  89581. }
  89582. // SetInstanceTenancy sets the InstanceTenancy field's value.
  89583. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  89584. s.InstanceTenancy = &v
  89585. return s
  89586. }
  89587. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  89588. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  89589. s.Ipv6CidrBlockAssociationSet = v
  89590. return s
  89591. }
  89592. // SetIsDefault sets the IsDefault field's value.
  89593. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  89594. s.IsDefault = &v
  89595. return s
  89596. }
  89597. // SetOwnerId sets the OwnerId field's value.
  89598. func (s *Vpc) SetOwnerId(v string) *Vpc {
  89599. s.OwnerId = &v
  89600. return s
  89601. }
  89602. // SetState sets the State field's value.
  89603. func (s *Vpc) SetState(v string) *Vpc {
  89604. s.State = &v
  89605. return s
  89606. }
  89607. // SetTags sets the Tags field's value.
  89608. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  89609. s.Tags = v
  89610. return s
  89611. }
  89612. // SetVpcId sets the VpcId field's value.
  89613. func (s *Vpc) SetVpcId(v string) *Vpc {
  89614. s.VpcId = &v
  89615. return s
  89616. }
  89617. // Describes an attachment between a virtual private gateway and a VPC.
  89618. type VpcAttachment struct {
  89619. _ struct{} `type:"structure"`
  89620. // The current state of the attachment.
  89621. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  89622. // The ID of the VPC.
  89623. VpcId *string `locationName:"vpcId" type:"string"`
  89624. }
  89625. // String returns the string representation
  89626. func (s VpcAttachment) String() string {
  89627. return awsutil.Prettify(s)
  89628. }
  89629. // GoString returns the string representation
  89630. func (s VpcAttachment) GoString() string {
  89631. return s.String()
  89632. }
  89633. // SetState sets the State field's value.
  89634. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  89635. s.State = &v
  89636. return s
  89637. }
  89638. // SetVpcId sets the VpcId field's value.
  89639. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  89640. s.VpcId = &v
  89641. return s
  89642. }
  89643. // Describes an IPv4 CIDR block associated with a VPC.
  89644. type VpcCidrBlockAssociation struct {
  89645. _ struct{} `type:"structure"`
  89646. // The association ID for the IPv4 CIDR block.
  89647. AssociationId *string `locationName:"associationId" type:"string"`
  89648. // The IPv4 CIDR block.
  89649. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  89650. // Information about the state of the CIDR block.
  89651. CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
  89652. }
  89653. // String returns the string representation
  89654. func (s VpcCidrBlockAssociation) String() string {
  89655. return awsutil.Prettify(s)
  89656. }
  89657. // GoString returns the string representation
  89658. func (s VpcCidrBlockAssociation) GoString() string {
  89659. return s.String()
  89660. }
  89661. // SetAssociationId sets the AssociationId field's value.
  89662. func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
  89663. s.AssociationId = &v
  89664. return s
  89665. }
  89666. // SetCidrBlock sets the CidrBlock field's value.
  89667. func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
  89668. s.CidrBlock = &v
  89669. return s
  89670. }
  89671. // SetCidrBlockState sets the CidrBlockState field's value.
  89672. func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
  89673. s.CidrBlockState = v
  89674. return s
  89675. }
  89676. // Describes the state of a CIDR block.
  89677. type VpcCidrBlockState struct {
  89678. _ struct{} `type:"structure"`
  89679. // The state of the CIDR block.
  89680. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  89681. // A message about the status of the CIDR block, if applicable.
  89682. StatusMessage *string `locationName:"statusMessage" type:"string"`
  89683. }
  89684. // String returns the string representation
  89685. func (s VpcCidrBlockState) String() string {
  89686. return awsutil.Prettify(s)
  89687. }
  89688. // GoString returns the string representation
  89689. func (s VpcCidrBlockState) GoString() string {
  89690. return s.String()
  89691. }
  89692. // SetState sets the State field's value.
  89693. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  89694. s.State = &v
  89695. return s
  89696. }
  89697. // SetStatusMessage sets the StatusMessage field's value.
  89698. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  89699. s.StatusMessage = &v
  89700. return s
  89701. }
  89702. // Describes whether a VPC is enabled for ClassicLink.
  89703. type VpcClassicLink struct {
  89704. _ struct{} `type:"structure"`
  89705. // Indicates whether the VPC is enabled for ClassicLink.
  89706. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  89707. // Any tags assigned to the VPC.
  89708. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  89709. // The ID of the VPC.
  89710. VpcId *string `locationName:"vpcId" type:"string"`
  89711. }
  89712. // String returns the string representation
  89713. func (s VpcClassicLink) String() string {
  89714. return awsutil.Prettify(s)
  89715. }
  89716. // GoString returns the string representation
  89717. func (s VpcClassicLink) GoString() string {
  89718. return s.String()
  89719. }
  89720. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  89721. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  89722. s.ClassicLinkEnabled = &v
  89723. return s
  89724. }
  89725. // SetTags sets the Tags field's value.
  89726. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  89727. s.Tags = v
  89728. return s
  89729. }
  89730. // SetVpcId sets the VpcId field's value.
  89731. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  89732. s.VpcId = &v
  89733. return s
  89734. }
  89735. // Describes a VPC endpoint.
  89736. type VpcEndpoint struct {
  89737. _ struct{} `type:"structure"`
  89738. // The date and time that the VPC endpoint was created.
  89739. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
  89740. // (Interface endpoint) The DNS entries for the endpoint.
  89741. DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
  89742. // (Interface endpoint) Information about the security groups that are associated
  89743. // with the network interface.
  89744. Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  89745. // The last error that occurred for VPC endpoint.
  89746. LastError *LastError `locationName:"lastError" type:"structure"`
  89747. // (Interface endpoint) One or more network interfaces for the endpoint.
  89748. NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
  89749. // The ID of the AWS account that owns the VPC endpoint.
  89750. OwnerId *string `locationName:"ownerId" type:"string"`
  89751. // The policy document associated with the endpoint, if applicable.
  89752. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  89753. // (Interface endpoint) Indicates whether the VPC is associated with a private
  89754. // hosted zone.
  89755. PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
  89756. // Indicates whether the VPC endpoint is being managed by its service.
  89757. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  89758. // (Gateway endpoint) One or more route tables associated with the endpoint.
  89759. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  89760. // The name of the service to which the endpoint is associated.
  89761. ServiceName *string `locationName:"serviceName" type:"string"`
  89762. // The state of the VPC endpoint.
  89763. State *string `locationName:"state" type:"string" enum:"State"`
  89764. // (Interface endpoint) One or more subnets in which the endpoint is located.
  89765. SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
  89766. // Any tags assigned to the VPC endpoint.
  89767. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  89768. // The ID of the VPC endpoint.
  89769. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  89770. // The type of endpoint.
  89771. VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
  89772. // The ID of the VPC to which the endpoint is associated.
  89773. VpcId *string `locationName:"vpcId" type:"string"`
  89774. }
  89775. // String returns the string representation
  89776. func (s VpcEndpoint) String() string {
  89777. return awsutil.Prettify(s)
  89778. }
  89779. // GoString returns the string representation
  89780. func (s VpcEndpoint) GoString() string {
  89781. return s.String()
  89782. }
  89783. // SetCreationTimestamp sets the CreationTimestamp field's value.
  89784. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  89785. s.CreationTimestamp = &v
  89786. return s
  89787. }
  89788. // SetDnsEntries sets the DnsEntries field's value.
  89789. func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
  89790. s.DnsEntries = v
  89791. return s
  89792. }
  89793. // SetGroups sets the Groups field's value.
  89794. func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
  89795. s.Groups = v
  89796. return s
  89797. }
  89798. // SetLastError sets the LastError field's value.
  89799. func (s *VpcEndpoint) SetLastError(v *LastError) *VpcEndpoint {
  89800. s.LastError = v
  89801. return s
  89802. }
  89803. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  89804. func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
  89805. s.NetworkInterfaceIds = v
  89806. return s
  89807. }
  89808. // SetOwnerId sets the OwnerId field's value.
  89809. func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint {
  89810. s.OwnerId = &v
  89811. return s
  89812. }
  89813. // SetPolicyDocument sets the PolicyDocument field's value.
  89814. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  89815. s.PolicyDocument = &v
  89816. return s
  89817. }
  89818. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  89819. func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
  89820. s.PrivateDnsEnabled = &v
  89821. return s
  89822. }
  89823. // SetRequesterManaged sets the RequesterManaged field's value.
  89824. func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
  89825. s.RequesterManaged = &v
  89826. return s
  89827. }
  89828. // SetRouteTableIds sets the RouteTableIds field's value.
  89829. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  89830. s.RouteTableIds = v
  89831. return s
  89832. }
  89833. // SetServiceName sets the ServiceName field's value.
  89834. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  89835. s.ServiceName = &v
  89836. return s
  89837. }
  89838. // SetState sets the State field's value.
  89839. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  89840. s.State = &v
  89841. return s
  89842. }
  89843. // SetSubnetIds sets the SubnetIds field's value.
  89844. func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
  89845. s.SubnetIds = v
  89846. return s
  89847. }
  89848. // SetTags sets the Tags field's value.
  89849. func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
  89850. s.Tags = v
  89851. return s
  89852. }
  89853. // SetVpcEndpointId sets the VpcEndpointId field's value.
  89854. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  89855. s.VpcEndpointId = &v
  89856. return s
  89857. }
  89858. // SetVpcEndpointType sets the VpcEndpointType field's value.
  89859. func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
  89860. s.VpcEndpointType = &v
  89861. return s
  89862. }
  89863. // SetVpcId sets the VpcId field's value.
  89864. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  89865. s.VpcId = &v
  89866. return s
  89867. }
  89868. // Describes a VPC endpoint connection to a service.
  89869. type VpcEndpointConnection struct {
  89870. _ struct{} `type:"structure"`
  89871. // The date and time that the VPC endpoint was created.
  89872. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
  89873. // The DNS entries for the VPC endpoint.
  89874. DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
  89875. // The Amazon Resource Names (ARNs) of the network load balancers for the service.
  89876. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
  89877. // The ID of the service to which the endpoint is connected.
  89878. ServiceId *string `locationName:"serviceId" type:"string"`
  89879. // The ID of the VPC endpoint.
  89880. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  89881. // The AWS account ID of the owner of the VPC endpoint.
  89882. VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
  89883. // The state of the VPC endpoint.
  89884. VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
  89885. }
  89886. // String returns the string representation
  89887. func (s VpcEndpointConnection) String() string {
  89888. return awsutil.Prettify(s)
  89889. }
  89890. // GoString returns the string representation
  89891. func (s VpcEndpointConnection) GoString() string {
  89892. return s.String()
  89893. }
  89894. // SetCreationTimestamp sets the CreationTimestamp field's value.
  89895. func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
  89896. s.CreationTimestamp = &v
  89897. return s
  89898. }
  89899. // SetDnsEntries sets the DnsEntries field's value.
  89900. func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection {
  89901. s.DnsEntries = v
  89902. return s
  89903. }
  89904. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  89905. func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
  89906. s.NetworkLoadBalancerArns = v
  89907. return s
  89908. }
  89909. // SetServiceId sets the ServiceId field's value.
  89910. func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
  89911. s.ServiceId = &v
  89912. return s
  89913. }
  89914. // SetVpcEndpointId sets the VpcEndpointId field's value.
  89915. func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
  89916. s.VpcEndpointId = &v
  89917. return s
  89918. }
  89919. // SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
  89920. func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
  89921. s.VpcEndpointOwner = &v
  89922. return s
  89923. }
  89924. // SetVpcEndpointState sets the VpcEndpointState field's value.
  89925. func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
  89926. s.VpcEndpointState = &v
  89927. return s
  89928. }
  89929. // Describes an IPv6 CIDR block associated with a VPC.
  89930. type VpcIpv6CidrBlockAssociation struct {
  89931. _ struct{} `type:"structure"`
  89932. // The association ID for the IPv6 CIDR block.
  89933. AssociationId *string `locationName:"associationId" type:"string"`
  89934. // The IPv6 CIDR block.
  89935. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  89936. // Information about the state of the CIDR block.
  89937. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  89938. // The name of the location from which we advertise the IPV6 CIDR block.
  89939. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
  89940. }
  89941. // String returns the string representation
  89942. func (s VpcIpv6CidrBlockAssociation) String() string {
  89943. return awsutil.Prettify(s)
  89944. }
  89945. // GoString returns the string representation
  89946. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  89947. return s.String()
  89948. }
  89949. // SetAssociationId sets the AssociationId field's value.
  89950. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  89951. s.AssociationId = &v
  89952. return s
  89953. }
  89954. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  89955. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  89956. s.Ipv6CidrBlock = &v
  89957. return s
  89958. }
  89959. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  89960. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  89961. s.Ipv6CidrBlockState = v
  89962. return s
  89963. }
  89964. // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
  89965. func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
  89966. s.NetworkBorderGroup = &v
  89967. return s
  89968. }
  89969. // Describes a VPC peering connection.
  89970. type VpcPeeringConnection struct {
  89971. _ struct{} `type:"structure"`
  89972. // Information about the accepter VPC. CIDR block information is only returned
  89973. // when describing an active VPC peering connection.
  89974. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  89975. // The time that an unaccepted VPC peering connection will expire.
  89976. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
  89977. // Information about the requester VPC. CIDR block information is only returned
  89978. // when describing an active VPC peering connection.
  89979. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  89980. // The status of the VPC peering connection.
  89981. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  89982. // Any tags assigned to the resource.
  89983. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  89984. // The ID of the VPC peering connection.
  89985. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  89986. }
  89987. // String returns the string representation
  89988. func (s VpcPeeringConnection) String() string {
  89989. return awsutil.Prettify(s)
  89990. }
  89991. // GoString returns the string representation
  89992. func (s VpcPeeringConnection) GoString() string {
  89993. return s.String()
  89994. }
  89995. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  89996. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  89997. s.AccepterVpcInfo = v
  89998. return s
  89999. }
  90000. // SetExpirationTime sets the ExpirationTime field's value.
  90001. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  90002. s.ExpirationTime = &v
  90003. return s
  90004. }
  90005. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  90006. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  90007. s.RequesterVpcInfo = v
  90008. return s
  90009. }
  90010. // SetStatus sets the Status field's value.
  90011. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  90012. s.Status = v
  90013. return s
  90014. }
  90015. // SetTags sets the Tags field's value.
  90016. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  90017. s.Tags = v
  90018. return s
  90019. }
  90020. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  90021. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  90022. s.VpcPeeringConnectionId = &v
  90023. return s
  90024. }
  90025. // Describes the VPC peering connection options.
  90026. type VpcPeeringConnectionOptionsDescription struct {
  90027. _ struct{} `type:"structure"`
  90028. // Indicates whether a local VPC can resolve public DNS hostnames to private
  90029. // IP addresses when queried from instances in a peer VPC.
  90030. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  90031. // Indicates whether a local ClassicLink connection can communicate with the
  90032. // peer VPC over the VPC peering connection.
  90033. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  90034. // Indicates whether a local VPC can communicate with a ClassicLink connection
  90035. // in the peer VPC over the VPC peering connection.
  90036. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  90037. }
  90038. // String returns the string representation
  90039. func (s VpcPeeringConnectionOptionsDescription) String() string {
  90040. return awsutil.Prettify(s)
  90041. }
  90042. // GoString returns the string representation
  90043. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  90044. return s.String()
  90045. }
  90046. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  90047. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  90048. s.AllowDnsResolutionFromRemoteVpc = &v
  90049. return s
  90050. }
  90051. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  90052. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  90053. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  90054. return s
  90055. }
  90056. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  90057. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  90058. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  90059. return s
  90060. }
  90061. // Describes the status of a VPC peering connection.
  90062. type VpcPeeringConnectionStateReason struct {
  90063. _ struct{} `type:"structure"`
  90064. // The status of the VPC peering connection.
  90065. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  90066. // A message that provides more information about the status, if applicable.
  90067. Message *string `locationName:"message" type:"string"`
  90068. }
  90069. // String returns the string representation
  90070. func (s VpcPeeringConnectionStateReason) String() string {
  90071. return awsutil.Prettify(s)
  90072. }
  90073. // GoString returns the string representation
  90074. func (s VpcPeeringConnectionStateReason) GoString() string {
  90075. return s.String()
  90076. }
  90077. // SetCode sets the Code field's value.
  90078. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  90079. s.Code = &v
  90080. return s
  90081. }
  90082. // SetMessage sets the Message field's value.
  90083. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  90084. s.Message = &v
  90085. return s
  90086. }
  90087. // Describes a VPC in a VPC peering connection.
  90088. type VpcPeeringConnectionVpcInfo struct {
  90089. _ struct{} `type:"structure"`
  90090. // The IPv4 CIDR block for the VPC.
  90091. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  90092. // Information about the IPv4 CIDR blocks for the VPC.
  90093. CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
  90094. // The IPv6 CIDR block for the VPC.
  90095. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  90096. // The AWS account ID of the VPC owner.
  90097. OwnerId *string `locationName:"ownerId" type:"string"`
  90098. // Information about the VPC peering connection options for the accepter or
  90099. // requester VPC.
  90100. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  90101. // The Region in which the VPC is located.
  90102. Region *string `locationName:"region" type:"string"`
  90103. // The ID of the VPC.
  90104. VpcId *string `locationName:"vpcId" type:"string"`
  90105. }
  90106. // String returns the string representation
  90107. func (s VpcPeeringConnectionVpcInfo) String() string {
  90108. return awsutil.Prettify(s)
  90109. }
  90110. // GoString returns the string representation
  90111. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  90112. return s.String()
  90113. }
  90114. // SetCidrBlock sets the CidrBlock field's value.
  90115. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  90116. s.CidrBlock = &v
  90117. return s
  90118. }
  90119. // SetCidrBlockSet sets the CidrBlockSet field's value.
  90120. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
  90121. s.CidrBlockSet = v
  90122. return s
  90123. }
  90124. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  90125. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  90126. s.Ipv6CidrBlockSet = v
  90127. return s
  90128. }
  90129. // SetOwnerId sets the OwnerId field's value.
  90130. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  90131. s.OwnerId = &v
  90132. return s
  90133. }
  90134. // SetPeeringOptions sets the PeeringOptions field's value.
  90135. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  90136. s.PeeringOptions = v
  90137. return s
  90138. }
  90139. // SetRegion sets the Region field's value.
  90140. func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
  90141. s.Region = &v
  90142. return s
  90143. }
  90144. // SetVpcId sets the VpcId field's value.
  90145. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  90146. s.VpcId = &v
  90147. return s
  90148. }
  90149. // Describes a VPN connection.
  90150. type VpnConnection struct {
  90151. _ struct{} `type:"structure"`
  90152. // The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
  90153. // A value of VPN-Classic indicates an AWS Classic VPN connection.
  90154. Category *string `locationName:"category" type:"string"`
  90155. // The configuration information for the VPN connection's customer gateway (in
  90156. // the native XML format). This element is always present in the CreateVpnConnection
  90157. // response; however, it's present in the DescribeVpnConnections response only
  90158. // if the VPN connection is in the pending or available state.
  90159. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  90160. // The ID of the customer gateway at your end of the VPN connection.
  90161. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  90162. // The VPN connection options.
  90163. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  90164. // The static routes associated with the VPN connection.
  90165. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  90166. // The current state of the VPN connection.
  90167. State *string `locationName:"state" type:"string" enum:"VpnState"`
  90168. // Any tags assigned to the VPN connection.
  90169. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  90170. // The ID of the transit gateway associated with the VPN connection.
  90171. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  90172. // The type of VPN connection.
  90173. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  90174. // Information about the VPN tunnel.
  90175. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  90176. // The ID of the VPN connection.
  90177. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  90178. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  90179. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  90180. }
  90181. // String returns the string representation
  90182. func (s VpnConnection) String() string {
  90183. return awsutil.Prettify(s)
  90184. }
  90185. // GoString returns the string representation
  90186. func (s VpnConnection) GoString() string {
  90187. return s.String()
  90188. }
  90189. // SetCategory sets the Category field's value.
  90190. func (s *VpnConnection) SetCategory(v string) *VpnConnection {
  90191. s.Category = &v
  90192. return s
  90193. }
  90194. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  90195. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  90196. s.CustomerGatewayConfiguration = &v
  90197. return s
  90198. }
  90199. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  90200. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  90201. s.CustomerGatewayId = &v
  90202. return s
  90203. }
  90204. // SetOptions sets the Options field's value.
  90205. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  90206. s.Options = v
  90207. return s
  90208. }
  90209. // SetRoutes sets the Routes field's value.
  90210. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  90211. s.Routes = v
  90212. return s
  90213. }
  90214. // SetState sets the State field's value.
  90215. func (s *VpnConnection) SetState(v string) *VpnConnection {
  90216. s.State = &v
  90217. return s
  90218. }
  90219. // SetTags sets the Tags field's value.
  90220. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  90221. s.Tags = v
  90222. return s
  90223. }
  90224. // SetTransitGatewayId sets the TransitGatewayId field's value.
  90225. func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
  90226. s.TransitGatewayId = &v
  90227. return s
  90228. }
  90229. // SetType sets the Type field's value.
  90230. func (s *VpnConnection) SetType(v string) *VpnConnection {
  90231. s.Type = &v
  90232. return s
  90233. }
  90234. // SetVgwTelemetry sets the VgwTelemetry field's value.
  90235. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  90236. s.VgwTelemetry = v
  90237. return s
  90238. }
  90239. // SetVpnConnectionId sets the VpnConnectionId field's value.
  90240. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  90241. s.VpnConnectionId = &v
  90242. return s
  90243. }
  90244. // SetVpnGatewayId sets the VpnGatewayId field's value.
  90245. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  90246. s.VpnGatewayId = &v
  90247. return s
  90248. }
  90249. // Describes VPN connection options.
  90250. type VpnConnectionOptions struct {
  90251. _ struct{} `type:"structure"`
  90252. // Indicates whether acceleration is enabled for the VPN connection.
  90253. EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
  90254. // Indicates whether the VPN connection uses static routes only. Static routes
  90255. // must be used for devices that don't support BGP.
  90256. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  90257. // Indicates the VPN tunnel options.
  90258. TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"`
  90259. }
  90260. // String returns the string representation
  90261. func (s VpnConnectionOptions) String() string {
  90262. return awsutil.Prettify(s)
  90263. }
  90264. // GoString returns the string representation
  90265. func (s VpnConnectionOptions) GoString() string {
  90266. return s.String()
  90267. }
  90268. // SetEnableAcceleration sets the EnableAcceleration field's value.
  90269. func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
  90270. s.EnableAcceleration = &v
  90271. return s
  90272. }
  90273. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  90274. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  90275. s.StaticRoutesOnly = &v
  90276. return s
  90277. }
  90278. // SetTunnelOptions sets the TunnelOptions field's value.
  90279. func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions {
  90280. s.TunnelOptions = v
  90281. return s
  90282. }
  90283. // Describes VPN connection options.
  90284. type VpnConnectionOptionsSpecification struct {
  90285. _ struct{} `type:"structure"`
  90286. // Indicate whether to enable acceleration for the VPN connection.
  90287. //
  90288. // Default: false
  90289. EnableAcceleration *bool `type:"boolean"`
  90290. // Indicate whether the VPN connection uses static routes only. If you are creating
  90291. // a VPN connection for a device that does not support BGP, you must specify
  90292. // true. Use CreateVpnConnectionRoute to create a static route.
  90293. //
  90294. // Default: false
  90295. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  90296. // The tunnel options for the VPN connection.
  90297. TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"`
  90298. }
  90299. // String returns the string representation
  90300. func (s VpnConnectionOptionsSpecification) String() string {
  90301. return awsutil.Prettify(s)
  90302. }
  90303. // GoString returns the string representation
  90304. func (s VpnConnectionOptionsSpecification) GoString() string {
  90305. return s.String()
  90306. }
  90307. // SetEnableAcceleration sets the EnableAcceleration field's value.
  90308. func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
  90309. s.EnableAcceleration = &v
  90310. return s
  90311. }
  90312. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  90313. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  90314. s.StaticRoutesOnly = &v
  90315. return s
  90316. }
  90317. // SetTunnelOptions sets the TunnelOptions field's value.
  90318. func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
  90319. s.TunnelOptions = v
  90320. return s
  90321. }
  90322. // Describes a virtual private gateway.
  90323. type VpnGateway struct {
  90324. _ struct{} `type:"structure"`
  90325. // The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  90326. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  90327. // The Availability Zone where the virtual private gateway was created, if applicable.
  90328. // This field may be empty or not returned.
  90329. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  90330. // The current state of the virtual private gateway.
  90331. State *string `locationName:"state" type:"string" enum:"VpnState"`
  90332. // Any tags assigned to the virtual private gateway.
  90333. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  90334. // The type of VPN connection the virtual private gateway supports.
  90335. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  90336. // Any VPCs attached to the virtual private gateway.
  90337. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  90338. // The ID of the virtual private gateway.
  90339. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  90340. }
  90341. // String returns the string representation
  90342. func (s VpnGateway) String() string {
  90343. return awsutil.Prettify(s)
  90344. }
  90345. // GoString returns the string representation
  90346. func (s VpnGateway) GoString() string {
  90347. return s.String()
  90348. }
  90349. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  90350. func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
  90351. s.AmazonSideAsn = &v
  90352. return s
  90353. }
  90354. // SetAvailabilityZone sets the AvailabilityZone field's value.
  90355. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  90356. s.AvailabilityZone = &v
  90357. return s
  90358. }
  90359. // SetState sets the State field's value.
  90360. func (s *VpnGateway) SetState(v string) *VpnGateway {
  90361. s.State = &v
  90362. return s
  90363. }
  90364. // SetTags sets the Tags field's value.
  90365. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  90366. s.Tags = v
  90367. return s
  90368. }
  90369. // SetType sets the Type field's value.
  90370. func (s *VpnGateway) SetType(v string) *VpnGateway {
  90371. s.Type = &v
  90372. return s
  90373. }
  90374. // SetVpcAttachments sets the VpcAttachments field's value.
  90375. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  90376. s.VpcAttachments = v
  90377. return s
  90378. }
  90379. // SetVpnGatewayId sets the VpnGatewayId field's value.
  90380. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  90381. s.VpnGatewayId = &v
  90382. return s
  90383. }
  90384. // Describes a static route for a VPN connection.
  90385. type VpnStaticRoute struct {
  90386. _ struct{} `type:"structure"`
  90387. // The CIDR block associated with the local subnet of the customer data center.
  90388. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  90389. // Indicates how the routes were provided.
  90390. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  90391. // The current state of the static route.
  90392. State *string `locationName:"state" type:"string" enum:"VpnState"`
  90393. }
  90394. // String returns the string representation
  90395. func (s VpnStaticRoute) String() string {
  90396. return awsutil.Prettify(s)
  90397. }
  90398. // GoString returns the string representation
  90399. func (s VpnStaticRoute) GoString() string {
  90400. return s.String()
  90401. }
  90402. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  90403. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  90404. s.DestinationCidrBlock = &v
  90405. return s
  90406. }
  90407. // SetSource sets the Source field's value.
  90408. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  90409. s.Source = &v
  90410. return s
  90411. }
  90412. // SetState sets the State field's value.
  90413. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  90414. s.State = &v
  90415. return s
  90416. }
  90417. // The tunnel options for a VPN connection.
  90418. type VpnTunnelOptionsSpecification struct {
  90419. _ struct{} `type:"structure"`
  90420. // The number of seconds after which a DPD timeout occurs.
  90421. //
  90422. // Constraints: A value between 0 and 30.
  90423. //
  90424. // Default: 30
  90425. DPDTimeoutSeconds *int64 `type:"integer"`
  90426. // The IKE versions that are permitted for the VPN tunnel.
  90427. //
  90428. // Valid values: ikev1 | ikev2
  90429. IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
  90430. // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
  90431. // for phase 1 IKE negotiations.
  90432. //
  90433. // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
  90434. Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
  90435. // One or more encryption algorithms that are permitted for the VPN tunnel for
  90436. // phase 1 IKE negotiations.
  90437. //
  90438. // Valid values: AES128 | AES256
  90439. Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
  90440. // One or more integrity algorithms that are permitted for the VPN tunnel for
  90441. // phase 1 IKE negotiations.
  90442. //
  90443. // Valid values: SHA1 | SHA2-256
  90444. Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
  90445. // The lifetime for phase 1 of the IKE negotiation, in seconds.
  90446. //
  90447. // Constraints: A value between 900 and 28,800.
  90448. //
  90449. // Default: 28800
  90450. Phase1LifetimeSeconds *int64 `type:"integer"`
  90451. // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
  90452. // for phase 2 IKE negotiations.
  90453. //
  90454. // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
  90455. Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
  90456. // One or more encryption algorithms that are permitted for the VPN tunnel for
  90457. // phase 2 IKE negotiations.
  90458. //
  90459. // Valid values: AES128 | AES256
  90460. Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
  90461. // One or more integrity algorithms that are permitted for the VPN tunnel for
  90462. // phase 2 IKE negotiations.
  90463. //
  90464. // Valid values: SHA1 | SHA2-256
  90465. Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
  90466. // The lifetime for phase 2 of the IKE negotiation, in seconds.
  90467. //
  90468. // Constraints: A value between 900 and 3,600. The value must be less than the
  90469. // value for Phase1LifetimeSeconds.
  90470. //
  90471. // Default: 3600
  90472. Phase2LifetimeSeconds *int64 `type:"integer"`
  90473. // The pre-shared key (PSK) to establish initial authentication between the
  90474. // virtual private gateway and customer gateway.
  90475. //
  90476. // Constraints: Allowed characters are alphanumeric characters, periods (.),
  90477. // and underscores (_). Must be between 8 and 64 characters in length and cannot
  90478. // start with zero (0).
  90479. PreSharedKey *string `type:"string"`
  90480. // The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
  90481. // during which the rekey time is randomly selected.
  90482. //
  90483. // Constraints: A value between 0 and 100.
  90484. //
  90485. // Default: 100
  90486. RekeyFuzzPercentage *int64 `type:"integer"`
  90487. // The margin time, in seconds, before the phase 2 lifetime expires, during
  90488. // which the AWS side of the VPN connection performs an IKE rekey. The exact
  90489. // time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
  90490. //
  90491. // Constraints: A value between 60 and half of Phase2LifetimeSeconds.
  90492. //
  90493. // Default: 540
  90494. RekeyMarginTimeSeconds *int64 `type:"integer"`
  90495. // The number of packets in an IKE replay window.
  90496. //
  90497. // Constraints: A value between 64 and 2048.
  90498. //
  90499. // Default: 1024
  90500. ReplayWindowSize *int64 `type:"integer"`
  90501. // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
  90502. // must be unique across all VPN connections that use the same virtual private
  90503. // gateway.
  90504. //
  90505. // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
  90506. // CIDR blocks are reserved and cannot be used:
  90507. //
  90508. // * 169.254.0.0/30
  90509. //
  90510. // * 169.254.1.0/30
  90511. //
  90512. // * 169.254.2.0/30
  90513. //
  90514. // * 169.254.3.0/30
  90515. //
  90516. // * 169.254.4.0/30
  90517. //
  90518. // * 169.254.5.0/30
  90519. //
  90520. // * 169.254.169.252/30
  90521. TunnelInsideCidr *string `type:"string"`
  90522. }
  90523. // String returns the string representation
  90524. func (s VpnTunnelOptionsSpecification) String() string {
  90525. return awsutil.Prettify(s)
  90526. }
  90527. // GoString returns the string representation
  90528. func (s VpnTunnelOptionsSpecification) GoString() string {
  90529. return s.String()
  90530. }
  90531. // SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
  90532. func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification {
  90533. s.DPDTimeoutSeconds = &v
  90534. return s
  90535. }
  90536. // SetIKEVersions sets the IKEVersions field's value.
  90537. func (s *VpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *VpnTunnelOptionsSpecification {
  90538. s.IKEVersions = v
  90539. return s
  90540. }
  90541. // SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
  90542. func (s *VpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
  90543. s.Phase1DHGroupNumbers = v
  90544. return s
  90545. }
  90546. // SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
  90547. func (s *VpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
  90548. s.Phase1EncryptionAlgorithms = v
  90549. return s
  90550. }
  90551. // SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
  90552. func (s *VpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
  90553. s.Phase1IntegrityAlgorithms = v
  90554. return s
  90555. }
  90556. // SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
  90557. func (s *VpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
  90558. s.Phase1LifetimeSeconds = &v
  90559. return s
  90560. }
  90561. // SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
  90562. func (s *VpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
  90563. s.Phase2DHGroupNumbers = v
  90564. return s
  90565. }
  90566. // SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
  90567. func (s *VpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
  90568. s.Phase2EncryptionAlgorithms = v
  90569. return s
  90570. }
  90571. // SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
  90572. func (s *VpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
  90573. s.Phase2IntegrityAlgorithms = v
  90574. return s
  90575. }
  90576. // SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
  90577. func (s *VpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
  90578. s.Phase2LifetimeSeconds = &v
  90579. return s
  90580. }
  90581. // SetPreSharedKey sets the PreSharedKey field's value.
  90582. func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
  90583. s.PreSharedKey = &v
  90584. return s
  90585. }
  90586. // SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
  90587. func (s *VpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *VpnTunnelOptionsSpecification {
  90588. s.RekeyFuzzPercentage = &v
  90589. return s
  90590. }
  90591. // SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
  90592. func (s *VpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *VpnTunnelOptionsSpecification {
  90593. s.RekeyMarginTimeSeconds = &v
  90594. return s
  90595. }
  90596. // SetReplayWindowSize sets the ReplayWindowSize field's value.
  90597. func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelOptionsSpecification {
  90598. s.ReplayWindowSize = &v
  90599. return s
  90600. }
  90601. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  90602. func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
  90603. s.TunnelInsideCidr = &v
  90604. return s
  90605. }
  90606. type WithdrawByoipCidrInput struct {
  90607. _ struct{} `type:"structure"`
  90608. // The public IPv4 address range, in CIDR notation.
  90609. //
  90610. // Cidr is a required field
  90611. Cidr *string `type:"string" required:"true"`
  90612. // Checks whether you have the required permissions for the action, without
  90613. // actually making the request, and provides an error response. If you have
  90614. // the required permissions, the error response is DryRunOperation. Otherwise,
  90615. // it is UnauthorizedOperation.
  90616. DryRun *bool `type:"boolean"`
  90617. }
  90618. // String returns the string representation
  90619. func (s WithdrawByoipCidrInput) String() string {
  90620. return awsutil.Prettify(s)
  90621. }
  90622. // GoString returns the string representation
  90623. func (s WithdrawByoipCidrInput) GoString() string {
  90624. return s.String()
  90625. }
  90626. // Validate inspects the fields of the type to determine if they are valid.
  90627. func (s *WithdrawByoipCidrInput) Validate() error {
  90628. invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
  90629. if s.Cidr == nil {
  90630. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  90631. }
  90632. if invalidParams.Len() > 0 {
  90633. return invalidParams
  90634. }
  90635. return nil
  90636. }
  90637. // SetCidr sets the Cidr field's value.
  90638. func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
  90639. s.Cidr = &v
  90640. return s
  90641. }
  90642. // SetDryRun sets the DryRun field's value.
  90643. func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
  90644. s.DryRun = &v
  90645. return s
  90646. }
  90647. type WithdrawByoipCidrOutput struct {
  90648. _ struct{} `type:"structure"`
  90649. // Information about the address pool.
  90650. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  90651. }
  90652. // String returns the string representation
  90653. func (s WithdrawByoipCidrOutput) String() string {
  90654. return awsutil.Prettify(s)
  90655. }
  90656. // GoString returns the string representation
  90657. func (s WithdrawByoipCidrOutput) GoString() string {
  90658. return s.String()
  90659. }
  90660. // SetByoipCidr sets the ByoipCidr field's value.
  90661. func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
  90662. s.ByoipCidr = v
  90663. return s
  90664. }
  90665. const (
  90666. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  90667. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  90668. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  90669. AccountAttributeNameDefaultVpc = "default-vpc"
  90670. )
  90671. const (
  90672. // ActivityStatusError is a ActivityStatus enum value
  90673. ActivityStatusError = "error"
  90674. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  90675. ActivityStatusPendingFulfillment = "pending_fulfillment"
  90676. // ActivityStatusPendingTermination is a ActivityStatus enum value
  90677. ActivityStatusPendingTermination = "pending_termination"
  90678. // ActivityStatusFulfilled is a ActivityStatus enum value
  90679. ActivityStatusFulfilled = "fulfilled"
  90680. )
  90681. const (
  90682. // AffinityDefault is a Affinity enum value
  90683. AffinityDefault = "default"
  90684. // AffinityHost is a Affinity enum value
  90685. AffinityHost = "host"
  90686. )
  90687. const (
  90688. // AllocationStateAvailable is a AllocationState enum value
  90689. AllocationStateAvailable = "available"
  90690. // AllocationStateUnderAssessment is a AllocationState enum value
  90691. AllocationStateUnderAssessment = "under-assessment"
  90692. // AllocationStatePermanentFailure is a AllocationState enum value
  90693. AllocationStatePermanentFailure = "permanent-failure"
  90694. // AllocationStateReleased is a AllocationState enum value
  90695. AllocationStateReleased = "released"
  90696. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  90697. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  90698. // AllocationStatePending is a AllocationState enum value
  90699. AllocationStatePending = "pending"
  90700. )
  90701. const (
  90702. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  90703. AllocationStrategyLowestPrice = "lowestPrice"
  90704. // AllocationStrategyDiversified is a AllocationStrategy enum value
  90705. AllocationStrategyDiversified = "diversified"
  90706. // AllocationStrategyCapacityOptimized is a AllocationStrategy enum value
  90707. AllocationStrategyCapacityOptimized = "capacityOptimized"
  90708. )
  90709. const (
  90710. // AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value
  90711. AllowsMultipleInstanceTypesOn = "on"
  90712. // AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value
  90713. AllowsMultipleInstanceTypesOff = "off"
  90714. )
  90715. const (
  90716. // ArchitectureTypeI386 is a ArchitectureType enum value
  90717. ArchitectureTypeI386 = "i386"
  90718. // ArchitectureTypeX8664 is a ArchitectureType enum value
  90719. ArchitectureTypeX8664 = "x86_64"
  90720. // ArchitectureTypeArm64 is a ArchitectureType enum value
  90721. ArchitectureTypeArm64 = "arm64"
  90722. )
  90723. const (
  90724. // ArchitectureValuesI386 is a ArchitectureValues enum value
  90725. ArchitectureValuesI386 = "i386"
  90726. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  90727. ArchitectureValuesX8664 = "x86_64"
  90728. // ArchitectureValuesArm64 is a ArchitectureValues enum value
  90729. ArchitectureValuesArm64 = "arm64"
  90730. )
  90731. const (
  90732. // AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
  90733. AssociatedNetworkTypeVpc = "vpc"
  90734. )
  90735. const (
  90736. // AssociationStatusCodeAssociating is a AssociationStatusCode enum value
  90737. AssociationStatusCodeAssociating = "associating"
  90738. // AssociationStatusCodeAssociated is a AssociationStatusCode enum value
  90739. AssociationStatusCodeAssociated = "associated"
  90740. // AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
  90741. AssociationStatusCodeAssociationFailed = "association-failed"
  90742. // AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
  90743. AssociationStatusCodeDisassociating = "disassociating"
  90744. // AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
  90745. AssociationStatusCodeDisassociated = "disassociated"
  90746. )
  90747. const (
  90748. // AttachmentStatusAttaching is a AttachmentStatus enum value
  90749. AttachmentStatusAttaching = "attaching"
  90750. // AttachmentStatusAttached is a AttachmentStatus enum value
  90751. AttachmentStatusAttached = "attached"
  90752. // AttachmentStatusDetaching is a AttachmentStatus enum value
  90753. AttachmentStatusDetaching = "detaching"
  90754. // AttachmentStatusDetached is a AttachmentStatus enum value
  90755. AttachmentStatusDetached = "detached"
  90756. )
  90757. const (
  90758. // AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
  90759. AutoAcceptSharedAttachmentsValueEnable = "enable"
  90760. // AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
  90761. AutoAcceptSharedAttachmentsValueDisable = "disable"
  90762. )
  90763. const (
  90764. // AutoPlacementOn is a AutoPlacement enum value
  90765. AutoPlacementOn = "on"
  90766. // AutoPlacementOff is a AutoPlacement enum value
  90767. AutoPlacementOff = "off"
  90768. )
  90769. const (
  90770. // AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
  90771. AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
  90772. // AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
  90773. AvailabilityZoneOptInStatusOptedIn = "opted-in"
  90774. // AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
  90775. AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
  90776. )
  90777. const (
  90778. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  90779. AvailabilityZoneStateAvailable = "available"
  90780. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  90781. AvailabilityZoneStateInformation = "information"
  90782. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  90783. AvailabilityZoneStateImpaired = "impaired"
  90784. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  90785. AvailabilityZoneStateUnavailable = "unavailable"
  90786. )
  90787. const (
  90788. // BatchStateSubmitted is a BatchState enum value
  90789. BatchStateSubmitted = "submitted"
  90790. // BatchStateActive is a BatchState enum value
  90791. BatchStateActive = "active"
  90792. // BatchStateCancelled is a BatchState enum value
  90793. BatchStateCancelled = "cancelled"
  90794. // BatchStateFailed is a BatchState enum value
  90795. BatchStateFailed = "failed"
  90796. // BatchStateCancelledRunning is a BatchState enum value
  90797. BatchStateCancelledRunning = "cancelled_running"
  90798. // BatchStateCancelledTerminating is a BatchState enum value
  90799. BatchStateCancelledTerminating = "cancelled_terminating"
  90800. // BatchStateModifying is a BatchState enum value
  90801. BatchStateModifying = "modifying"
  90802. )
  90803. const (
  90804. // BundleTaskStatePending is a BundleTaskState enum value
  90805. BundleTaskStatePending = "pending"
  90806. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  90807. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  90808. // BundleTaskStateBundling is a BundleTaskState enum value
  90809. BundleTaskStateBundling = "bundling"
  90810. // BundleTaskStateStoring is a BundleTaskState enum value
  90811. BundleTaskStateStoring = "storing"
  90812. // BundleTaskStateCancelling is a BundleTaskState enum value
  90813. BundleTaskStateCancelling = "cancelling"
  90814. // BundleTaskStateComplete is a BundleTaskState enum value
  90815. BundleTaskStateComplete = "complete"
  90816. // BundleTaskStateFailed is a BundleTaskState enum value
  90817. BundleTaskStateFailed = "failed"
  90818. )
  90819. const (
  90820. // ByoipCidrStateAdvertised is a ByoipCidrState enum value
  90821. ByoipCidrStateAdvertised = "advertised"
  90822. // ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
  90823. ByoipCidrStateDeprovisioned = "deprovisioned"
  90824. // ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
  90825. ByoipCidrStateFailedDeprovision = "failed-deprovision"
  90826. // ByoipCidrStateFailedProvision is a ByoipCidrState enum value
  90827. ByoipCidrStateFailedProvision = "failed-provision"
  90828. // ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
  90829. ByoipCidrStatePendingDeprovision = "pending-deprovision"
  90830. // ByoipCidrStatePendingProvision is a ByoipCidrState enum value
  90831. ByoipCidrStatePendingProvision = "pending-provision"
  90832. // ByoipCidrStateProvisioned is a ByoipCidrState enum value
  90833. ByoipCidrStateProvisioned = "provisioned"
  90834. )
  90835. const (
  90836. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  90837. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  90838. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  90839. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  90840. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  90841. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  90842. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  90843. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  90844. )
  90845. const (
  90846. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  90847. CancelSpotInstanceRequestStateActive = "active"
  90848. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  90849. CancelSpotInstanceRequestStateOpen = "open"
  90850. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  90851. CancelSpotInstanceRequestStateClosed = "closed"
  90852. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  90853. CancelSpotInstanceRequestStateCancelled = "cancelled"
  90854. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  90855. CancelSpotInstanceRequestStateCompleted = "completed"
  90856. )
  90857. const (
  90858. // CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
  90859. CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
  90860. // CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
  90861. CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
  90862. // CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
  90863. CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
  90864. // CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
  90865. CapacityReservationInstancePlatformWindows = "Windows"
  90866. // CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
  90867. CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
  90868. // CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
  90869. CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
  90870. // CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
  90871. CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
  90872. // CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
  90873. CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
  90874. // CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
  90875. CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
  90876. // CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
  90877. CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
  90878. // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
  90879. CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
  90880. )
  90881. const (
  90882. // CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
  90883. CapacityReservationPreferenceOpen = "open"
  90884. // CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
  90885. CapacityReservationPreferenceNone = "none"
  90886. )
  90887. const (
  90888. // CapacityReservationStateActive is a CapacityReservationState enum value
  90889. CapacityReservationStateActive = "active"
  90890. // CapacityReservationStateExpired is a CapacityReservationState enum value
  90891. CapacityReservationStateExpired = "expired"
  90892. // CapacityReservationStateCancelled is a CapacityReservationState enum value
  90893. CapacityReservationStateCancelled = "cancelled"
  90894. // CapacityReservationStatePending is a CapacityReservationState enum value
  90895. CapacityReservationStatePending = "pending"
  90896. // CapacityReservationStateFailed is a CapacityReservationState enum value
  90897. CapacityReservationStateFailed = "failed"
  90898. )
  90899. const (
  90900. // CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
  90901. CapacityReservationTenancyDefault = "default"
  90902. // CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
  90903. CapacityReservationTenancyDedicated = "dedicated"
  90904. )
  90905. const (
  90906. // ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
  90907. ClientCertificateRevocationListStatusCodePending = "pending"
  90908. // ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
  90909. ClientCertificateRevocationListStatusCodeActive = "active"
  90910. )
  90911. const (
  90912. // ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
  90913. ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
  90914. // ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
  90915. ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
  90916. )
  90917. const (
  90918. // ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
  90919. ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
  90920. // ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
  90921. ClientVpnAuthorizationRuleStatusCodeActive = "active"
  90922. // ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
  90923. ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
  90924. // ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
  90925. ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
  90926. )
  90927. const (
  90928. // ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
  90929. ClientVpnConnectionStatusCodeActive = "active"
  90930. // ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
  90931. ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
  90932. // ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
  90933. ClientVpnConnectionStatusCodeTerminating = "terminating"
  90934. // ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
  90935. ClientVpnConnectionStatusCodeTerminated = "terminated"
  90936. )
  90937. const (
  90938. // ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
  90939. ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
  90940. // ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
  90941. ClientVpnEndpointStatusCodeAvailable = "available"
  90942. // ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
  90943. ClientVpnEndpointStatusCodeDeleting = "deleting"
  90944. // ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
  90945. ClientVpnEndpointStatusCodeDeleted = "deleted"
  90946. )
  90947. const (
  90948. // ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
  90949. ClientVpnRouteStatusCodeCreating = "creating"
  90950. // ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
  90951. ClientVpnRouteStatusCodeActive = "active"
  90952. // ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
  90953. ClientVpnRouteStatusCodeFailed = "failed"
  90954. // ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
  90955. ClientVpnRouteStatusCodeDeleting = "deleting"
  90956. )
  90957. const (
  90958. // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
  90959. ConnectionNotificationStateEnabled = "Enabled"
  90960. // ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
  90961. ConnectionNotificationStateDisabled = "Disabled"
  90962. )
  90963. const (
  90964. // ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
  90965. ConnectionNotificationTypeTopic = "Topic"
  90966. )
  90967. const (
  90968. // ContainerFormatOva is a ContainerFormat enum value
  90969. ContainerFormatOva = "ova"
  90970. )
  90971. const (
  90972. // ConversionTaskStateActive is a ConversionTaskState enum value
  90973. ConversionTaskStateActive = "active"
  90974. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  90975. ConversionTaskStateCancelling = "cancelling"
  90976. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  90977. ConversionTaskStateCancelled = "cancelled"
  90978. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  90979. ConversionTaskStateCompleted = "completed"
  90980. )
  90981. const (
  90982. // CopyTagsFromSourceVolume is a CopyTagsFromSource enum value
  90983. CopyTagsFromSourceVolume = "volume"
  90984. )
  90985. const (
  90986. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  90987. CurrencyCodeValuesUsd = "USD"
  90988. )
  90989. const (
  90990. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  90991. DatafeedSubscriptionStateActive = "Active"
  90992. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  90993. DatafeedSubscriptionStateInactive = "Inactive"
  90994. )
  90995. const (
  90996. // DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
  90997. DefaultRouteTableAssociationValueEnable = "enable"
  90998. // DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
  90999. DefaultRouteTableAssociationValueDisable = "disable"
  91000. )
  91001. const (
  91002. // DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
  91003. DefaultRouteTablePropagationValueEnable = "enable"
  91004. // DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
  91005. DefaultRouteTablePropagationValueDisable = "disable"
  91006. )
  91007. const (
  91008. // DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
  91009. DefaultTargetCapacityTypeSpot = "spot"
  91010. // DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
  91011. DefaultTargetCapacityTypeOnDemand = "on-demand"
  91012. )
  91013. const (
  91014. // DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
  91015. DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
  91016. // DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
  91017. DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
  91018. // DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
  91019. DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
  91020. // DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
  91021. DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
  91022. )
  91023. const (
  91024. // DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value
  91025. DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid"
  91026. // DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value
  91027. DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state"
  91028. // DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value
  91029. DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error"
  91030. )
  91031. const (
  91032. // DeviceTypeEbs is a DeviceType enum value
  91033. DeviceTypeEbs = "ebs"
  91034. // DeviceTypeInstanceStore is a DeviceType enum value
  91035. DeviceTypeInstanceStore = "instance-store"
  91036. )
  91037. const (
  91038. // DiskImageFormatVmdk is a DiskImageFormat enum value
  91039. DiskImageFormatVmdk = "VMDK"
  91040. // DiskImageFormatRaw is a DiskImageFormat enum value
  91041. DiskImageFormatRaw = "RAW"
  91042. // DiskImageFormatVhd is a DiskImageFormat enum value
  91043. DiskImageFormatVhd = "VHD"
  91044. )
  91045. const (
  91046. // DiskTypeHdd is a DiskType enum value
  91047. DiskTypeHdd = "hdd"
  91048. // DiskTypeSsd is a DiskType enum value
  91049. DiskTypeSsd = "ssd"
  91050. )
  91051. const (
  91052. // DnsNameStatePendingVerification is a DnsNameState enum value
  91053. DnsNameStatePendingVerification = "pendingVerification"
  91054. // DnsNameStateVerified is a DnsNameState enum value
  91055. DnsNameStateVerified = "verified"
  91056. // DnsNameStateFailed is a DnsNameState enum value
  91057. DnsNameStateFailed = "failed"
  91058. )
  91059. const (
  91060. // DnsSupportValueEnable is a DnsSupportValue enum value
  91061. DnsSupportValueEnable = "enable"
  91062. // DnsSupportValueDisable is a DnsSupportValue enum value
  91063. DnsSupportValueDisable = "disable"
  91064. )
  91065. const (
  91066. // DomainTypeVpc is a DomainType enum value
  91067. DomainTypeVpc = "vpc"
  91068. // DomainTypeStandard is a DomainType enum value
  91069. DomainTypeStandard = "standard"
  91070. )
  91071. const (
  91072. // EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value
  91073. EbsEncryptionSupportUnsupported = "unsupported"
  91074. // EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value
  91075. EbsEncryptionSupportSupported = "supported"
  91076. )
  91077. const (
  91078. // EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value
  91079. EbsOptimizedSupportUnsupported = "unsupported"
  91080. // EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value
  91081. EbsOptimizedSupportSupported = "supported"
  91082. // EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value
  91083. EbsOptimizedSupportDefault = "default"
  91084. )
  91085. const (
  91086. // ElasticGpuStateAttached is a ElasticGpuState enum value
  91087. ElasticGpuStateAttached = "ATTACHED"
  91088. )
  91089. const (
  91090. // ElasticGpuStatusOk is a ElasticGpuStatus enum value
  91091. ElasticGpuStatusOk = "OK"
  91092. // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
  91093. ElasticGpuStatusImpaired = "IMPAIRED"
  91094. )
  91095. const (
  91096. // EnaSupportUnsupported is a EnaSupport enum value
  91097. EnaSupportUnsupported = "unsupported"
  91098. // EnaSupportSupported is a EnaSupport enum value
  91099. EnaSupportSupported = "supported"
  91100. // EnaSupportRequired is a EnaSupport enum value
  91101. EnaSupportRequired = "required"
  91102. )
  91103. const (
  91104. // EndDateTypeUnlimited is a EndDateType enum value
  91105. EndDateTypeUnlimited = "unlimited"
  91106. // EndDateTypeLimited is a EndDateType enum value
  91107. EndDateTypeLimited = "limited"
  91108. )
  91109. const (
  91110. // EventCodeInstanceReboot is a EventCode enum value
  91111. EventCodeInstanceReboot = "instance-reboot"
  91112. // EventCodeSystemReboot is a EventCode enum value
  91113. EventCodeSystemReboot = "system-reboot"
  91114. // EventCodeSystemMaintenance is a EventCode enum value
  91115. EventCodeSystemMaintenance = "system-maintenance"
  91116. // EventCodeInstanceRetirement is a EventCode enum value
  91117. EventCodeInstanceRetirement = "instance-retirement"
  91118. // EventCodeInstanceStop is a EventCode enum value
  91119. EventCodeInstanceStop = "instance-stop"
  91120. )
  91121. const (
  91122. // EventTypeInstanceChange is a EventType enum value
  91123. EventTypeInstanceChange = "instanceChange"
  91124. // EventTypeFleetRequestChange is a EventType enum value
  91125. EventTypeFleetRequestChange = "fleetRequestChange"
  91126. // EventTypeError is a EventType enum value
  91127. EventTypeError = "error"
  91128. // EventTypeInformation is a EventType enum value
  91129. EventTypeInformation = "information"
  91130. )
  91131. const (
  91132. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  91133. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  91134. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  91135. ExcessCapacityTerminationPolicyDefault = "default"
  91136. )
  91137. const (
  91138. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  91139. ExportEnvironmentCitrix = "citrix"
  91140. // ExportEnvironmentVmware is a ExportEnvironment enum value
  91141. ExportEnvironmentVmware = "vmware"
  91142. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  91143. ExportEnvironmentMicrosoft = "microsoft"
  91144. )
  91145. const (
  91146. // ExportTaskStateActive is a ExportTaskState enum value
  91147. ExportTaskStateActive = "active"
  91148. // ExportTaskStateCancelling is a ExportTaskState enum value
  91149. ExportTaskStateCancelling = "cancelling"
  91150. // ExportTaskStateCancelled is a ExportTaskState enum value
  91151. ExportTaskStateCancelled = "cancelled"
  91152. // ExportTaskStateCompleted is a ExportTaskState enum value
  91153. ExportTaskStateCompleted = "completed"
  91154. )
  91155. const (
  91156. // FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value
  91157. FastSnapshotRestoreStateCodeEnabling = "enabling"
  91158. // FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value
  91159. FastSnapshotRestoreStateCodeOptimizing = "optimizing"
  91160. // FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value
  91161. FastSnapshotRestoreStateCodeEnabled = "enabled"
  91162. // FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value
  91163. FastSnapshotRestoreStateCodeDisabling = "disabling"
  91164. // FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value
  91165. FastSnapshotRestoreStateCodeDisabled = "disabled"
  91166. )
  91167. const (
  91168. // FleetActivityStatusError is a FleetActivityStatus enum value
  91169. FleetActivityStatusError = "error"
  91170. // FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
  91171. FleetActivityStatusPendingFulfillment = "pending_fulfillment"
  91172. // FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
  91173. FleetActivityStatusPendingTermination = "pending_termination"
  91174. // FleetActivityStatusFulfilled is a FleetActivityStatus enum value
  91175. FleetActivityStatusFulfilled = "fulfilled"
  91176. )
  91177. const (
  91178. // FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst is a FleetCapacityReservationUsageStrategy enum value
  91179. FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first"
  91180. )
  91181. const (
  91182. // FleetEventTypeInstanceChange is a FleetEventType enum value
  91183. FleetEventTypeInstanceChange = "instance-change"
  91184. // FleetEventTypeFleetChange is a FleetEventType enum value
  91185. FleetEventTypeFleetChange = "fleet-change"
  91186. // FleetEventTypeServiceError is a FleetEventType enum value
  91187. FleetEventTypeServiceError = "service-error"
  91188. )
  91189. const (
  91190. // FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
  91191. FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
  91192. // FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
  91193. FleetExcessCapacityTerminationPolicyTermination = "termination"
  91194. )
  91195. const (
  91196. // FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
  91197. FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
  91198. // FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
  91199. FleetOnDemandAllocationStrategyPrioritized = "prioritized"
  91200. )
  91201. const (
  91202. // FleetStateCodeSubmitted is a FleetStateCode enum value
  91203. FleetStateCodeSubmitted = "submitted"
  91204. // FleetStateCodeActive is a FleetStateCode enum value
  91205. FleetStateCodeActive = "active"
  91206. // FleetStateCodeDeleted is a FleetStateCode enum value
  91207. FleetStateCodeDeleted = "deleted"
  91208. // FleetStateCodeFailed is a FleetStateCode enum value
  91209. FleetStateCodeFailed = "failed"
  91210. // FleetStateCodeDeletedRunning is a FleetStateCode enum value
  91211. FleetStateCodeDeletedRunning = "deleted_running"
  91212. // FleetStateCodeDeletedTerminating is a FleetStateCode enum value
  91213. FleetStateCodeDeletedTerminating = "deleted_terminating"
  91214. // FleetStateCodeModifying is a FleetStateCode enum value
  91215. FleetStateCodeModifying = "modifying"
  91216. )
  91217. const (
  91218. // FleetTypeRequest is a FleetType enum value
  91219. FleetTypeRequest = "request"
  91220. // FleetTypeMaintain is a FleetType enum value
  91221. FleetTypeMaintain = "maintain"
  91222. // FleetTypeInstant is a FleetType enum value
  91223. FleetTypeInstant = "instant"
  91224. )
  91225. const (
  91226. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  91227. FlowLogsResourceTypeVpc = "VPC"
  91228. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  91229. FlowLogsResourceTypeSubnet = "Subnet"
  91230. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  91231. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  91232. )
  91233. const (
  91234. // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
  91235. FpgaImageAttributeNameDescription = "description"
  91236. // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
  91237. FpgaImageAttributeNameName = "name"
  91238. // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
  91239. FpgaImageAttributeNameLoadPermission = "loadPermission"
  91240. // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
  91241. FpgaImageAttributeNameProductCodes = "productCodes"
  91242. )
  91243. const (
  91244. // FpgaImageStateCodePending is a FpgaImageStateCode enum value
  91245. FpgaImageStateCodePending = "pending"
  91246. // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
  91247. FpgaImageStateCodeFailed = "failed"
  91248. // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
  91249. FpgaImageStateCodeAvailable = "available"
  91250. // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
  91251. FpgaImageStateCodeUnavailable = "unavailable"
  91252. )
  91253. const (
  91254. // GatewayTypeIpsec1 is a GatewayType enum value
  91255. GatewayTypeIpsec1 = "ipsec.1"
  91256. )
  91257. const (
  91258. // HostRecoveryOn is a HostRecovery enum value
  91259. HostRecoveryOn = "on"
  91260. // HostRecoveryOff is a HostRecovery enum value
  91261. HostRecoveryOff = "off"
  91262. )
  91263. const (
  91264. // HostTenancyDedicated is a HostTenancy enum value
  91265. HostTenancyDedicated = "dedicated"
  91266. // HostTenancyHost is a HostTenancy enum value
  91267. HostTenancyHost = "host"
  91268. )
  91269. const (
  91270. // HttpTokensStateOptional is a HttpTokensState enum value
  91271. HttpTokensStateOptional = "optional"
  91272. // HttpTokensStateRequired is a HttpTokensState enum value
  91273. HttpTokensStateRequired = "required"
  91274. )
  91275. const (
  91276. // HypervisorTypeOvm is a HypervisorType enum value
  91277. HypervisorTypeOvm = "ovm"
  91278. // HypervisorTypeXen is a HypervisorType enum value
  91279. HypervisorTypeXen = "xen"
  91280. )
  91281. const (
  91282. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  91283. IamInstanceProfileAssociationStateAssociating = "associating"
  91284. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  91285. IamInstanceProfileAssociationStateAssociated = "associated"
  91286. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  91287. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  91288. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  91289. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  91290. )
  91291. const (
  91292. // ImageAttributeNameDescription is a ImageAttributeName enum value
  91293. ImageAttributeNameDescription = "description"
  91294. // ImageAttributeNameKernel is a ImageAttributeName enum value
  91295. ImageAttributeNameKernel = "kernel"
  91296. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  91297. ImageAttributeNameRamdisk = "ramdisk"
  91298. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  91299. ImageAttributeNameLaunchPermission = "launchPermission"
  91300. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  91301. ImageAttributeNameProductCodes = "productCodes"
  91302. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  91303. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  91304. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  91305. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  91306. )
  91307. const (
  91308. // ImageStatePending is a ImageState enum value
  91309. ImageStatePending = "pending"
  91310. // ImageStateAvailable is a ImageState enum value
  91311. ImageStateAvailable = "available"
  91312. // ImageStateInvalid is a ImageState enum value
  91313. ImageStateInvalid = "invalid"
  91314. // ImageStateDeregistered is a ImageState enum value
  91315. ImageStateDeregistered = "deregistered"
  91316. // ImageStateTransient is a ImageState enum value
  91317. ImageStateTransient = "transient"
  91318. // ImageStateFailed is a ImageState enum value
  91319. ImageStateFailed = "failed"
  91320. // ImageStateError is a ImageState enum value
  91321. ImageStateError = "error"
  91322. )
  91323. const (
  91324. // ImageTypeValuesMachine is a ImageTypeValues enum value
  91325. ImageTypeValuesMachine = "machine"
  91326. // ImageTypeValuesKernel is a ImageTypeValues enum value
  91327. ImageTypeValuesKernel = "kernel"
  91328. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  91329. ImageTypeValuesRamdisk = "ramdisk"
  91330. )
  91331. const (
  91332. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  91333. InstanceAttributeNameInstanceType = "instanceType"
  91334. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  91335. InstanceAttributeNameKernel = "kernel"
  91336. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  91337. InstanceAttributeNameRamdisk = "ramdisk"
  91338. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  91339. InstanceAttributeNameUserData = "userData"
  91340. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  91341. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  91342. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  91343. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  91344. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  91345. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  91346. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  91347. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  91348. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  91349. InstanceAttributeNameProductCodes = "productCodes"
  91350. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  91351. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  91352. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  91353. InstanceAttributeNameGroupSet = "groupSet"
  91354. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  91355. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  91356. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  91357. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  91358. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  91359. InstanceAttributeNameEnaSupport = "enaSupport"
  91360. )
  91361. const (
  91362. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  91363. InstanceHealthStatusHealthy = "healthy"
  91364. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  91365. InstanceHealthStatusUnhealthy = "unhealthy"
  91366. )
  91367. const (
  91368. // InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
  91369. InstanceInterruptionBehaviorHibernate = "hibernate"
  91370. // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
  91371. InstanceInterruptionBehaviorStop = "stop"
  91372. // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
  91373. InstanceInterruptionBehaviorTerminate = "terminate"
  91374. )
  91375. const (
  91376. // InstanceLifecycleSpot is a InstanceLifecycle enum value
  91377. InstanceLifecycleSpot = "spot"
  91378. // InstanceLifecycleOnDemand is a InstanceLifecycle enum value
  91379. InstanceLifecycleOnDemand = "on-demand"
  91380. )
  91381. const (
  91382. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  91383. InstanceLifecycleTypeSpot = "spot"
  91384. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  91385. InstanceLifecycleTypeScheduled = "scheduled"
  91386. )
  91387. const (
  91388. // InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
  91389. InstanceMatchCriteriaOpen = "open"
  91390. // InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
  91391. InstanceMatchCriteriaTargeted = "targeted"
  91392. )
  91393. const (
  91394. // InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
  91395. InstanceMetadataEndpointStateDisabled = "disabled"
  91396. // InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
  91397. InstanceMetadataEndpointStateEnabled = "enabled"
  91398. )
  91399. const (
  91400. // InstanceMetadataOptionsStatePending is a InstanceMetadataOptionsState enum value
  91401. InstanceMetadataOptionsStatePending = "pending"
  91402. // InstanceMetadataOptionsStateApplied is a InstanceMetadataOptionsState enum value
  91403. InstanceMetadataOptionsStateApplied = "applied"
  91404. )
  91405. const (
  91406. // InstanceStateNamePending is a InstanceStateName enum value
  91407. InstanceStateNamePending = "pending"
  91408. // InstanceStateNameRunning is a InstanceStateName enum value
  91409. InstanceStateNameRunning = "running"
  91410. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  91411. InstanceStateNameShuttingDown = "shutting-down"
  91412. // InstanceStateNameTerminated is a InstanceStateName enum value
  91413. InstanceStateNameTerminated = "terminated"
  91414. // InstanceStateNameStopping is a InstanceStateName enum value
  91415. InstanceStateNameStopping = "stopping"
  91416. // InstanceStateNameStopped is a InstanceStateName enum value
  91417. InstanceStateNameStopped = "stopped"
  91418. )
  91419. const (
  91420. // InstanceTypeT1Micro is a InstanceType enum value
  91421. InstanceTypeT1Micro = "t1.micro"
  91422. // InstanceTypeT2Nano is a InstanceType enum value
  91423. InstanceTypeT2Nano = "t2.nano"
  91424. // InstanceTypeT2Micro is a InstanceType enum value
  91425. InstanceTypeT2Micro = "t2.micro"
  91426. // InstanceTypeT2Small is a InstanceType enum value
  91427. InstanceTypeT2Small = "t2.small"
  91428. // InstanceTypeT2Medium is a InstanceType enum value
  91429. InstanceTypeT2Medium = "t2.medium"
  91430. // InstanceTypeT2Large is a InstanceType enum value
  91431. InstanceTypeT2Large = "t2.large"
  91432. // InstanceTypeT2Xlarge is a InstanceType enum value
  91433. InstanceTypeT2Xlarge = "t2.xlarge"
  91434. // InstanceTypeT22xlarge is a InstanceType enum value
  91435. InstanceTypeT22xlarge = "t2.2xlarge"
  91436. // InstanceTypeT3Nano is a InstanceType enum value
  91437. InstanceTypeT3Nano = "t3.nano"
  91438. // InstanceTypeT3Micro is a InstanceType enum value
  91439. InstanceTypeT3Micro = "t3.micro"
  91440. // InstanceTypeT3Small is a InstanceType enum value
  91441. InstanceTypeT3Small = "t3.small"
  91442. // InstanceTypeT3Medium is a InstanceType enum value
  91443. InstanceTypeT3Medium = "t3.medium"
  91444. // InstanceTypeT3Large is a InstanceType enum value
  91445. InstanceTypeT3Large = "t3.large"
  91446. // InstanceTypeT3Xlarge is a InstanceType enum value
  91447. InstanceTypeT3Xlarge = "t3.xlarge"
  91448. // InstanceTypeT32xlarge is a InstanceType enum value
  91449. InstanceTypeT32xlarge = "t3.2xlarge"
  91450. // InstanceTypeT3aNano is a InstanceType enum value
  91451. InstanceTypeT3aNano = "t3a.nano"
  91452. // InstanceTypeT3aMicro is a InstanceType enum value
  91453. InstanceTypeT3aMicro = "t3a.micro"
  91454. // InstanceTypeT3aSmall is a InstanceType enum value
  91455. InstanceTypeT3aSmall = "t3a.small"
  91456. // InstanceTypeT3aMedium is a InstanceType enum value
  91457. InstanceTypeT3aMedium = "t3a.medium"
  91458. // InstanceTypeT3aLarge is a InstanceType enum value
  91459. InstanceTypeT3aLarge = "t3a.large"
  91460. // InstanceTypeT3aXlarge is a InstanceType enum value
  91461. InstanceTypeT3aXlarge = "t3a.xlarge"
  91462. // InstanceTypeT3a2xlarge is a InstanceType enum value
  91463. InstanceTypeT3a2xlarge = "t3a.2xlarge"
  91464. // InstanceTypeM1Small is a InstanceType enum value
  91465. InstanceTypeM1Small = "m1.small"
  91466. // InstanceTypeM1Medium is a InstanceType enum value
  91467. InstanceTypeM1Medium = "m1.medium"
  91468. // InstanceTypeM1Large is a InstanceType enum value
  91469. InstanceTypeM1Large = "m1.large"
  91470. // InstanceTypeM1Xlarge is a InstanceType enum value
  91471. InstanceTypeM1Xlarge = "m1.xlarge"
  91472. // InstanceTypeM3Medium is a InstanceType enum value
  91473. InstanceTypeM3Medium = "m3.medium"
  91474. // InstanceTypeM3Large is a InstanceType enum value
  91475. InstanceTypeM3Large = "m3.large"
  91476. // InstanceTypeM3Xlarge is a InstanceType enum value
  91477. InstanceTypeM3Xlarge = "m3.xlarge"
  91478. // InstanceTypeM32xlarge is a InstanceType enum value
  91479. InstanceTypeM32xlarge = "m3.2xlarge"
  91480. // InstanceTypeM4Large is a InstanceType enum value
  91481. InstanceTypeM4Large = "m4.large"
  91482. // InstanceTypeM4Xlarge is a InstanceType enum value
  91483. InstanceTypeM4Xlarge = "m4.xlarge"
  91484. // InstanceTypeM42xlarge is a InstanceType enum value
  91485. InstanceTypeM42xlarge = "m4.2xlarge"
  91486. // InstanceTypeM44xlarge is a InstanceType enum value
  91487. InstanceTypeM44xlarge = "m4.4xlarge"
  91488. // InstanceTypeM410xlarge is a InstanceType enum value
  91489. InstanceTypeM410xlarge = "m4.10xlarge"
  91490. // InstanceTypeM416xlarge is a InstanceType enum value
  91491. InstanceTypeM416xlarge = "m4.16xlarge"
  91492. // InstanceTypeM2Xlarge is a InstanceType enum value
  91493. InstanceTypeM2Xlarge = "m2.xlarge"
  91494. // InstanceTypeM22xlarge is a InstanceType enum value
  91495. InstanceTypeM22xlarge = "m2.2xlarge"
  91496. // InstanceTypeM24xlarge is a InstanceType enum value
  91497. InstanceTypeM24xlarge = "m2.4xlarge"
  91498. // InstanceTypeCr18xlarge is a InstanceType enum value
  91499. InstanceTypeCr18xlarge = "cr1.8xlarge"
  91500. // InstanceTypeR3Large is a InstanceType enum value
  91501. InstanceTypeR3Large = "r3.large"
  91502. // InstanceTypeR3Xlarge is a InstanceType enum value
  91503. InstanceTypeR3Xlarge = "r3.xlarge"
  91504. // InstanceTypeR32xlarge is a InstanceType enum value
  91505. InstanceTypeR32xlarge = "r3.2xlarge"
  91506. // InstanceTypeR34xlarge is a InstanceType enum value
  91507. InstanceTypeR34xlarge = "r3.4xlarge"
  91508. // InstanceTypeR38xlarge is a InstanceType enum value
  91509. InstanceTypeR38xlarge = "r3.8xlarge"
  91510. // InstanceTypeR4Large is a InstanceType enum value
  91511. InstanceTypeR4Large = "r4.large"
  91512. // InstanceTypeR4Xlarge is a InstanceType enum value
  91513. InstanceTypeR4Xlarge = "r4.xlarge"
  91514. // InstanceTypeR42xlarge is a InstanceType enum value
  91515. InstanceTypeR42xlarge = "r4.2xlarge"
  91516. // InstanceTypeR44xlarge is a InstanceType enum value
  91517. InstanceTypeR44xlarge = "r4.4xlarge"
  91518. // InstanceTypeR48xlarge is a InstanceType enum value
  91519. InstanceTypeR48xlarge = "r4.8xlarge"
  91520. // InstanceTypeR416xlarge is a InstanceType enum value
  91521. InstanceTypeR416xlarge = "r4.16xlarge"
  91522. // InstanceTypeR5Large is a InstanceType enum value
  91523. InstanceTypeR5Large = "r5.large"
  91524. // InstanceTypeR5Xlarge is a InstanceType enum value
  91525. InstanceTypeR5Xlarge = "r5.xlarge"
  91526. // InstanceTypeR52xlarge is a InstanceType enum value
  91527. InstanceTypeR52xlarge = "r5.2xlarge"
  91528. // InstanceTypeR54xlarge is a InstanceType enum value
  91529. InstanceTypeR54xlarge = "r5.4xlarge"
  91530. // InstanceTypeR58xlarge is a InstanceType enum value
  91531. InstanceTypeR58xlarge = "r5.8xlarge"
  91532. // InstanceTypeR512xlarge is a InstanceType enum value
  91533. InstanceTypeR512xlarge = "r5.12xlarge"
  91534. // InstanceTypeR516xlarge is a InstanceType enum value
  91535. InstanceTypeR516xlarge = "r5.16xlarge"
  91536. // InstanceTypeR524xlarge is a InstanceType enum value
  91537. InstanceTypeR524xlarge = "r5.24xlarge"
  91538. // InstanceTypeR5Metal is a InstanceType enum value
  91539. InstanceTypeR5Metal = "r5.metal"
  91540. // InstanceTypeR5aLarge is a InstanceType enum value
  91541. InstanceTypeR5aLarge = "r5a.large"
  91542. // InstanceTypeR5aXlarge is a InstanceType enum value
  91543. InstanceTypeR5aXlarge = "r5a.xlarge"
  91544. // InstanceTypeR5a2xlarge is a InstanceType enum value
  91545. InstanceTypeR5a2xlarge = "r5a.2xlarge"
  91546. // InstanceTypeR5a4xlarge is a InstanceType enum value
  91547. InstanceTypeR5a4xlarge = "r5a.4xlarge"
  91548. // InstanceTypeR5a8xlarge is a InstanceType enum value
  91549. InstanceTypeR5a8xlarge = "r5a.8xlarge"
  91550. // InstanceTypeR5a12xlarge is a InstanceType enum value
  91551. InstanceTypeR5a12xlarge = "r5a.12xlarge"
  91552. // InstanceTypeR5a16xlarge is a InstanceType enum value
  91553. InstanceTypeR5a16xlarge = "r5a.16xlarge"
  91554. // InstanceTypeR5a24xlarge is a InstanceType enum value
  91555. InstanceTypeR5a24xlarge = "r5a.24xlarge"
  91556. // InstanceTypeR5dLarge is a InstanceType enum value
  91557. InstanceTypeR5dLarge = "r5d.large"
  91558. // InstanceTypeR5dXlarge is a InstanceType enum value
  91559. InstanceTypeR5dXlarge = "r5d.xlarge"
  91560. // InstanceTypeR5d2xlarge is a InstanceType enum value
  91561. InstanceTypeR5d2xlarge = "r5d.2xlarge"
  91562. // InstanceTypeR5d4xlarge is a InstanceType enum value
  91563. InstanceTypeR5d4xlarge = "r5d.4xlarge"
  91564. // InstanceTypeR5d8xlarge is a InstanceType enum value
  91565. InstanceTypeR5d8xlarge = "r5d.8xlarge"
  91566. // InstanceTypeR5d12xlarge is a InstanceType enum value
  91567. InstanceTypeR5d12xlarge = "r5d.12xlarge"
  91568. // InstanceTypeR5d16xlarge is a InstanceType enum value
  91569. InstanceTypeR5d16xlarge = "r5d.16xlarge"
  91570. // InstanceTypeR5d24xlarge is a InstanceType enum value
  91571. InstanceTypeR5d24xlarge = "r5d.24xlarge"
  91572. // InstanceTypeR5dMetal is a InstanceType enum value
  91573. InstanceTypeR5dMetal = "r5d.metal"
  91574. // InstanceTypeR5adLarge is a InstanceType enum value
  91575. InstanceTypeR5adLarge = "r5ad.large"
  91576. // InstanceTypeR5adXlarge is a InstanceType enum value
  91577. InstanceTypeR5adXlarge = "r5ad.xlarge"
  91578. // InstanceTypeR5ad2xlarge is a InstanceType enum value
  91579. InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
  91580. // InstanceTypeR5ad4xlarge is a InstanceType enum value
  91581. InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
  91582. // InstanceTypeR5ad8xlarge is a InstanceType enum value
  91583. InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
  91584. // InstanceTypeR5ad12xlarge is a InstanceType enum value
  91585. InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
  91586. // InstanceTypeR5ad16xlarge is a InstanceType enum value
  91587. InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
  91588. // InstanceTypeR5ad24xlarge is a InstanceType enum value
  91589. InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
  91590. // InstanceTypeX116xlarge is a InstanceType enum value
  91591. InstanceTypeX116xlarge = "x1.16xlarge"
  91592. // InstanceTypeX132xlarge is a InstanceType enum value
  91593. InstanceTypeX132xlarge = "x1.32xlarge"
  91594. // InstanceTypeX1eXlarge is a InstanceType enum value
  91595. InstanceTypeX1eXlarge = "x1e.xlarge"
  91596. // InstanceTypeX1e2xlarge is a InstanceType enum value
  91597. InstanceTypeX1e2xlarge = "x1e.2xlarge"
  91598. // InstanceTypeX1e4xlarge is a InstanceType enum value
  91599. InstanceTypeX1e4xlarge = "x1e.4xlarge"
  91600. // InstanceTypeX1e8xlarge is a InstanceType enum value
  91601. InstanceTypeX1e8xlarge = "x1e.8xlarge"
  91602. // InstanceTypeX1e16xlarge is a InstanceType enum value
  91603. InstanceTypeX1e16xlarge = "x1e.16xlarge"
  91604. // InstanceTypeX1e32xlarge is a InstanceType enum value
  91605. InstanceTypeX1e32xlarge = "x1e.32xlarge"
  91606. // InstanceTypeI2Xlarge is a InstanceType enum value
  91607. InstanceTypeI2Xlarge = "i2.xlarge"
  91608. // InstanceTypeI22xlarge is a InstanceType enum value
  91609. InstanceTypeI22xlarge = "i2.2xlarge"
  91610. // InstanceTypeI24xlarge is a InstanceType enum value
  91611. InstanceTypeI24xlarge = "i2.4xlarge"
  91612. // InstanceTypeI28xlarge is a InstanceType enum value
  91613. InstanceTypeI28xlarge = "i2.8xlarge"
  91614. // InstanceTypeI3Large is a InstanceType enum value
  91615. InstanceTypeI3Large = "i3.large"
  91616. // InstanceTypeI3Xlarge is a InstanceType enum value
  91617. InstanceTypeI3Xlarge = "i3.xlarge"
  91618. // InstanceTypeI32xlarge is a InstanceType enum value
  91619. InstanceTypeI32xlarge = "i3.2xlarge"
  91620. // InstanceTypeI34xlarge is a InstanceType enum value
  91621. InstanceTypeI34xlarge = "i3.4xlarge"
  91622. // InstanceTypeI38xlarge is a InstanceType enum value
  91623. InstanceTypeI38xlarge = "i3.8xlarge"
  91624. // InstanceTypeI316xlarge is a InstanceType enum value
  91625. InstanceTypeI316xlarge = "i3.16xlarge"
  91626. // InstanceTypeI3Metal is a InstanceType enum value
  91627. InstanceTypeI3Metal = "i3.metal"
  91628. // InstanceTypeI3enLarge is a InstanceType enum value
  91629. InstanceTypeI3enLarge = "i3en.large"
  91630. // InstanceTypeI3enXlarge is a InstanceType enum value
  91631. InstanceTypeI3enXlarge = "i3en.xlarge"
  91632. // InstanceTypeI3en2xlarge is a InstanceType enum value
  91633. InstanceTypeI3en2xlarge = "i3en.2xlarge"
  91634. // InstanceTypeI3en3xlarge is a InstanceType enum value
  91635. InstanceTypeI3en3xlarge = "i3en.3xlarge"
  91636. // InstanceTypeI3en6xlarge is a InstanceType enum value
  91637. InstanceTypeI3en6xlarge = "i3en.6xlarge"
  91638. // InstanceTypeI3en12xlarge is a InstanceType enum value
  91639. InstanceTypeI3en12xlarge = "i3en.12xlarge"
  91640. // InstanceTypeI3en24xlarge is a InstanceType enum value
  91641. InstanceTypeI3en24xlarge = "i3en.24xlarge"
  91642. // InstanceTypeI3enMetal is a InstanceType enum value
  91643. InstanceTypeI3enMetal = "i3en.metal"
  91644. // InstanceTypeHi14xlarge is a InstanceType enum value
  91645. InstanceTypeHi14xlarge = "hi1.4xlarge"
  91646. // InstanceTypeHs18xlarge is a InstanceType enum value
  91647. InstanceTypeHs18xlarge = "hs1.8xlarge"
  91648. // InstanceTypeC1Medium is a InstanceType enum value
  91649. InstanceTypeC1Medium = "c1.medium"
  91650. // InstanceTypeC1Xlarge is a InstanceType enum value
  91651. InstanceTypeC1Xlarge = "c1.xlarge"
  91652. // InstanceTypeC3Large is a InstanceType enum value
  91653. InstanceTypeC3Large = "c3.large"
  91654. // InstanceTypeC3Xlarge is a InstanceType enum value
  91655. InstanceTypeC3Xlarge = "c3.xlarge"
  91656. // InstanceTypeC32xlarge is a InstanceType enum value
  91657. InstanceTypeC32xlarge = "c3.2xlarge"
  91658. // InstanceTypeC34xlarge is a InstanceType enum value
  91659. InstanceTypeC34xlarge = "c3.4xlarge"
  91660. // InstanceTypeC38xlarge is a InstanceType enum value
  91661. InstanceTypeC38xlarge = "c3.8xlarge"
  91662. // InstanceTypeC4Large is a InstanceType enum value
  91663. InstanceTypeC4Large = "c4.large"
  91664. // InstanceTypeC4Xlarge is a InstanceType enum value
  91665. InstanceTypeC4Xlarge = "c4.xlarge"
  91666. // InstanceTypeC42xlarge is a InstanceType enum value
  91667. InstanceTypeC42xlarge = "c4.2xlarge"
  91668. // InstanceTypeC44xlarge is a InstanceType enum value
  91669. InstanceTypeC44xlarge = "c4.4xlarge"
  91670. // InstanceTypeC48xlarge is a InstanceType enum value
  91671. InstanceTypeC48xlarge = "c4.8xlarge"
  91672. // InstanceTypeC5Large is a InstanceType enum value
  91673. InstanceTypeC5Large = "c5.large"
  91674. // InstanceTypeC5Xlarge is a InstanceType enum value
  91675. InstanceTypeC5Xlarge = "c5.xlarge"
  91676. // InstanceTypeC52xlarge is a InstanceType enum value
  91677. InstanceTypeC52xlarge = "c5.2xlarge"
  91678. // InstanceTypeC54xlarge is a InstanceType enum value
  91679. InstanceTypeC54xlarge = "c5.4xlarge"
  91680. // InstanceTypeC59xlarge is a InstanceType enum value
  91681. InstanceTypeC59xlarge = "c5.9xlarge"
  91682. // InstanceTypeC512xlarge is a InstanceType enum value
  91683. InstanceTypeC512xlarge = "c5.12xlarge"
  91684. // InstanceTypeC518xlarge is a InstanceType enum value
  91685. InstanceTypeC518xlarge = "c5.18xlarge"
  91686. // InstanceTypeC524xlarge is a InstanceType enum value
  91687. InstanceTypeC524xlarge = "c5.24xlarge"
  91688. // InstanceTypeC5Metal is a InstanceType enum value
  91689. InstanceTypeC5Metal = "c5.metal"
  91690. // InstanceTypeC5dLarge is a InstanceType enum value
  91691. InstanceTypeC5dLarge = "c5d.large"
  91692. // InstanceTypeC5dXlarge is a InstanceType enum value
  91693. InstanceTypeC5dXlarge = "c5d.xlarge"
  91694. // InstanceTypeC5d2xlarge is a InstanceType enum value
  91695. InstanceTypeC5d2xlarge = "c5d.2xlarge"
  91696. // InstanceTypeC5d4xlarge is a InstanceType enum value
  91697. InstanceTypeC5d4xlarge = "c5d.4xlarge"
  91698. // InstanceTypeC5d9xlarge is a InstanceType enum value
  91699. InstanceTypeC5d9xlarge = "c5d.9xlarge"
  91700. // InstanceTypeC5d12xlarge is a InstanceType enum value
  91701. InstanceTypeC5d12xlarge = "c5d.12xlarge"
  91702. // InstanceTypeC5d18xlarge is a InstanceType enum value
  91703. InstanceTypeC5d18xlarge = "c5d.18xlarge"
  91704. // InstanceTypeC5d24xlarge is a InstanceType enum value
  91705. InstanceTypeC5d24xlarge = "c5d.24xlarge"
  91706. // InstanceTypeC5dMetal is a InstanceType enum value
  91707. InstanceTypeC5dMetal = "c5d.metal"
  91708. // InstanceTypeC5nLarge is a InstanceType enum value
  91709. InstanceTypeC5nLarge = "c5n.large"
  91710. // InstanceTypeC5nXlarge is a InstanceType enum value
  91711. InstanceTypeC5nXlarge = "c5n.xlarge"
  91712. // InstanceTypeC5n2xlarge is a InstanceType enum value
  91713. InstanceTypeC5n2xlarge = "c5n.2xlarge"
  91714. // InstanceTypeC5n4xlarge is a InstanceType enum value
  91715. InstanceTypeC5n4xlarge = "c5n.4xlarge"
  91716. // InstanceTypeC5n9xlarge is a InstanceType enum value
  91717. InstanceTypeC5n9xlarge = "c5n.9xlarge"
  91718. // InstanceTypeC5n18xlarge is a InstanceType enum value
  91719. InstanceTypeC5n18xlarge = "c5n.18xlarge"
  91720. // InstanceTypeCc14xlarge is a InstanceType enum value
  91721. InstanceTypeCc14xlarge = "cc1.4xlarge"
  91722. // InstanceTypeCc28xlarge is a InstanceType enum value
  91723. InstanceTypeCc28xlarge = "cc2.8xlarge"
  91724. // InstanceTypeG22xlarge is a InstanceType enum value
  91725. InstanceTypeG22xlarge = "g2.2xlarge"
  91726. // InstanceTypeG28xlarge is a InstanceType enum value
  91727. InstanceTypeG28xlarge = "g2.8xlarge"
  91728. // InstanceTypeG34xlarge is a InstanceType enum value
  91729. InstanceTypeG34xlarge = "g3.4xlarge"
  91730. // InstanceTypeG38xlarge is a InstanceType enum value
  91731. InstanceTypeG38xlarge = "g3.8xlarge"
  91732. // InstanceTypeG316xlarge is a InstanceType enum value
  91733. InstanceTypeG316xlarge = "g3.16xlarge"
  91734. // InstanceTypeG3sXlarge is a InstanceType enum value
  91735. InstanceTypeG3sXlarge = "g3s.xlarge"
  91736. // InstanceTypeG4dnXlarge is a InstanceType enum value
  91737. InstanceTypeG4dnXlarge = "g4dn.xlarge"
  91738. // InstanceTypeG4dn2xlarge is a InstanceType enum value
  91739. InstanceTypeG4dn2xlarge = "g4dn.2xlarge"
  91740. // InstanceTypeG4dn4xlarge is a InstanceType enum value
  91741. InstanceTypeG4dn4xlarge = "g4dn.4xlarge"
  91742. // InstanceTypeG4dn8xlarge is a InstanceType enum value
  91743. InstanceTypeG4dn8xlarge = "g4dn.8xlarge"
  91744. // InstanceTypeG4dn12xlarge is a InstanceType enum value
  91745. InstanceTypeG4dn12xlarge = "g4dn.12xlarge"
  91746. // InstanceTypeG4dn16xlarge is a InstanceType enum value
  91747. InstanceTypeG4dn16xlarge = "g4dn.16xlarge"
  91748. // InstanceTypeCg14xlarge is a InstanceType enum value
  91749. InstanceTypeCg14xlarge = "cg1.4xlarge"
  91750. // InstanceTypeP2Xlarge is a InstanceType enum value
  91751. InstanceTypeP2Xlarge = "p2.xlarge"
  91752. // InstanceTypeP28xlarge is a InstanceType enum value
  91753. InstanceTypeP28xlarge = "p2.8xlarge"
  91754. // InstanceTypeP216xlarge is a InstanceType enum value
  91755. InstanceTypeP216xlarge = "p2.16xlarge"
  91756. // InstanceTypeP32xlarge is a InstanceType enum value
  91757. InstanceTypeP32xlarge = "p3.2xlarge"
  91758. // InstanceTypeP38xlarge is a InstanceType enum value
  91759. InstanceTypeP38xlarge = "p3.8xlarge"
  91760. // InstanceTypeP316xlarge is a InstanceType enum value
  91761. InstanceTypeP316xlarge = "p3.16xlarge"
  91762. // InstanceTypeP3dn24xlarge is a InstanceType enum value
  91763. InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
  91764. // InstanceTypeD2Xlarge is a InstanceType enum value
  91765. InstanceTypeD2Xlarge = "d2.xlarge"
  91766. // InstanceTypeD22xlarge is a InstanceType enum value
  91767. InstanceTypeD22xlarge = "d2.2xlarge"
  91768. // InstanceTypeD24xlarge is a InstanceType enum value
  91769. InstanceTypeD24xlarge = "d2.4xlarge"
  91770. // InstanceTypeD28xlarge is a InstanceType enum value
  91771. InstanceTypeD28xlarge = "d2.8xlarge"
  91772. // InstanceTypeF12xlarge is a InstanceType enum value
  91773. InstanceTypeF12xlarge = "f1.2xlarge"
  91774. // InstanceTypeF14xlarge is a InstanceType enum value
  91775. InstanceTypeF14xlarge = "f1.4xlarge"
  91776. // InstanceTypeF116xlarge is a InstanceType enum value
  91777. InstanceTypeF116xlarge = "f1.16xlarge"
  91778. // InstanceTypeM5Large is a InstanceType enum value
  91779. InstanceTypeM5Large = "m5.large"
  91780. // InstanceTypeM5Xlarge is a InstanceType enum value
  91781. InstanceTypeM5Xlarge = "m5.xlarge"
  91782. // InstanceTypeM52xlarge is a InstanceType enum value
  91783. InstanceTypeM52xlarge = "m5.2xlarge"
  91784. // InstanceTypeM54xlarge is a InstanceType enum value
  91785. InstanceTypeM54xlarge = "m5.4xlarge"
  91786. // InstanceTypeM58xlarge is a InstanceType enum value
  91787. InstanceTypeM58xlarge = "m5.8xlarge"
  91788. // InstanceTypeM512xlarge is a InstanceType enum value
  91789. InstanceTypeM512xlarge = "m5.12xlarge"
  91790. // InstanceTypeM516xlarge is a InstanceType enum value
  91791. InstanceTypeM516xlarge = "m5.16xlarge"
  91792. // InstanceTypeM524xlarge is a InstanceType enum value
  91793. InstanceTypeM524xlarge = "m5.24xlarge"
  91794. // InstanceTypeM5Metal is a InstanceType enum value
  91795. InstanceTypeM5Metal = "m5.metal"
  91796. // InstanceTypeM5aLarge is a InstanceType enum value
  91797. InstanceTypeM5aLarge = "m5a.large"
  91798. // InstanceTypeM5aXlarge is a InstanceType enum value
  91799. InstanceTypeM5aXlarge = "m5a.xlarge"
  91800. // InstanceTypeM5a2xlarge is a InstanceType enum value
  91801. InstanceTypeM5a2xlarge = "m5a.2xlarge"
  91802. // InstanceTypeM5a4xlarge is a InstanceType enum value
  91803. InstanceTypeM5a4xlarge = "m5a.4xlarge"
  91804. // InstanceTypeM5a8xlarge is a InstanceType enum value
  91805. InstanceTypeM5a8xlarge = "m5a.8xlarge"
  91806. // InstanceTypeM5a12xlarge is a InstanceType enum value
  91807. InstanceTypeM5a12xlarge = "m5a.12xlarge"
  91808. // InstanceTypeM5a16xlarge is a InstanceType enum value
  91809. InstanceTypeM5a16xlarge = "m5a.16xlarge"
  91810. // InstanceTypeM5a24xlarge is a InstanceType enum value
  91811. InstanceTypeM5a24xlarge = "m5a.24xlarge"
  91812. // InstanceTypeM5dLarge is a InstanceType enum value
  91813. InstanceTypeM5dLarge = "m5d.large"
  91814. // InstanceTypeM5dXlarge is a InstanceType enum value
  91815. InstanceTypeM5dXlarge = "m5d.xlarge"
  91816. // InstanceTypeM5d2xlarge is a InstanceType enum value
  91817. InstanceTypeM5d2xlarge = "m5d.2xlarge"
  91818. // InstanceTypeM5d4xlarge is a InstanceType enum value
  91819. InstanceTypeM5d4xlarge = "m5d.4xlarge"
  91820. // InstanceTypeM5d8xlarge is a InstanceType enum value
  91821. InstanceTypeM5d8xlarge = "m5d.8xlarge"
  91822. // InstanceTypeM5d12xlarge is a InstanceType enum value
  91823. InstanceTypeM5d12xlarge = "m5d.12xlarge"
  91824. // InstanceTypeM5d16xlarge is a InstanceType enum value
  91825. InstanceTypeM5d16xlarge = "m5d.16xlarge"
  91826. // InstanceTypeM5d24xlarge is a InstanceType enum value
  91827. InstanceTypeM5d24xlarge = "m5d.24xlarge"
  91828. // InstanceTypeM5dMetal is a InstanceType enum value
  91829. InstanceTypeM5dMetal = "m5d.metal"
  91830. // InstanceTypeM5adLarge is a InstanceType enum value
  91831. InstanceTypeM5adLarge = "m5ad.large"
  91832. // InstanceTypeM5adXlarge is a InstanceType enum value
  91833. InstanceTypeM5adXlarge = "m5ad.xlarge"
  91834. // InstanceTypeM5ad2xlarge is a InstanceType enum value
  91835. InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
  91836. // InstanceTypeM5ad4xlarge is a InstanceType enum value
  91837. InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
  91838. // InstanceTypeM5ad8xlarge is a InstanceType enum value
  91839. InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
  91840. // InstanceTypeM5ad12xlarge is a InstanceType enum value
  91841. InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
  91842. // InstanceTypeM5ad16xlarge is a InstanceType enum value
  91843. InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
  91844. // InstanceTypeM5ad24xlarge is a InstanceType enum value
  91845. InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
  91846. // InstanceTypeH12xlarge is a InstanceType enum value
  91847. InstanceTypeH12xlarge = "h1.2xlarge"
  91848. // InstanceTypeH14xlarge is a InstanceType enum value
  91849. InstanceTypeH14xlarge = "h1.4xlarge"
  91850. // InstanceTypeH18xlarge is a InstanceType enum value
  91851. InstanceTypeH18xlarge = "h1.8xlarge"
  91852. // InstanceTypeH116xlarge is a InstanceType enum value
  91853. InstanceTypeH116xlarge = "h1.16xlarge"
  91854. // InstanceTypeZ1dLarge is a InstanceType enum value
  91855. InstanceTypeZ1dLarge = "z1d.large"
  91856. // InstanceTypeZ1dXlarge is a InstanceType enum value
  91857. InstanceTypeZ1dXlarge = "z1d.xlarge"
  91858. // InstanceTypeZ1d2xlarge is a InstanceType enum value
  91859. InstanceTypeZ1d2xlarge = "z1d.2xlarge"
  91860. // InstanceTypeZ1d3xlarge is a InstanceType enum value
  91861. InstanceTypeZ1d3xlarge = "z1d.3xlarge"
  91862. // InstanceTypeZ1d6xlarge is a InstanceType enum value
  91863. InstanceTypeZ1d6xlarge = "z1d.6xlarge"
  91864. // InstanceTypeZ1d12xlarge is a InstanceType enum value
  91865. InstanceTypeZ1d12xlarge = "z1d.12xlarge"
  91866. // InstanceTypeZ1dMetal is a InstanceType enum value
  91867. InstanceTypeZ1dMetal = "z1d.metal"
  91868. // InstanceTypeU6tb1Metal is a InstanceType enum value
  91869. InstanceTypeU6tb1Metal = "u-6tb1.metal"
  91870. // InstanceTypeU9tb1Metal is a InstanceType enum value
  91871. InstanceTypeU9tb1Metal = "u-9tb1.metal"
  91872. // InstanceTypeU12tb1Metal is a InstanceType enum value
  91873. InstanceTypeU12tb1Metal = "u-12tb1.metal"
  91874. // InstanceTypeU18tb1Metal is a InstanceType enum value
  91875. InstanceTypeU18tb1Metal = "u-18tb1.metal"
  91876. // InstanceTypeU24tb1Metal is a InstanceType enum value
  91877. InstanceTypeU24tb1Metal = "u-24tb1.metal"
  91878. // InstanceTypeA1Medium is a InstanceType enum value
  91879. InstanceTypeA1Medium = "a1.medium"
  91880. // InstanceTypeA1Large is a InstanceType enum value
  91881. InstanceTypeA1Large = "a1.large"
  91882. // InstanceTypeA1Xlarge is a InstanceType enum value
  91883. InstanceTypeA1Xlarge = "a1.xlarge"
  91884. // InstanceTypeA12xlarge is a InstanceType enum value
  91885. InstanceTypeA12xlarge = "a1.2xlarge"
  91886. // InstanceTypeA14xlarge is a InstanceType enum value
  91887. InstanceTypeA14xlarge = "a1.4xlarge"
  91888. // InstanceTypeA1Metal is a InstanceType enum value
  91889. InstanceTypeA1Metal = "a1.metal"
  91890. // InstanceTypeM5dnLarge is a InstanceType enum value
  91891. InstanceTypeM5dnLarge = "m5dn.large"
  91892. // InstanceTypeM5dnXlarge is a InstanceType enum value
  91893. InstanceTypeM5dnXlarge = "m5dn.xlarge"
  91894. // InstanceTypeM5dn2xlarge is a InstanceType enum value
  91895. InstanceTypeM5dn2xlarge = "m5dn.2xlarge"
  91896. // InstanceTypeM5dn4xlarge is a InstanceType enum value
  91897. InstanceTypeM5dn4xlarge = "m5dn.4xlarge"
  91898. // InstanceTypeM5dn8xlarge is a InstanceType enum value
  91899. InstanceTypeM5dn8xlarge = "m5dn.8xlarge"
  91900. // InstanceTypeM5dn12xlarge is a InstanceType enum value
  91901. InstanceTypeM5dn12xlarge = "m5dn.12xlarge"
  91902. // InstanceTypeM5dn16xlarge is a InstanceType enum value
  91903. InstanceTypeM5dn16xlarge = "m5dn.16xlarge"
  91904. // InstanceTypeM5dn24xlarge is a InstanceType enum value
  91905. InstanceTypeM5dn24xlarge = "m5dn.24xlarge"
  91906. // InstanceTypeM5nLarge is a InstanceType enum value
  91907. InstanceTypeM5nLarge = "m5n.large"
  91908. // InstanceTypeM5nXlarge is a InstanceType enum value
  91909. InstanceTypeM5nXlarge = "m5n.xlarge"
  91910. // InstanceTypeM5n2xlarge is a InstanceType enum value
  91911. InstanceTypeM5n2xlarge = "m5n.2xlarge"
  91912. // InstanceTypeM5n4xlarge is a InstanceType enum value
  91913. InstanceTypeM5n4xlarge = "m5n.4xlarge"
  91914. // InstanceTypeM5n8xlarge is a InstanceType enum value
  91915. InstanceTypeM5n8xlarge = "m5n.8xlarge"
  91916. // InstanceTypeM5n12xlarge is a InstanceType enum value
  91917. InstanceTypeM5n12xlarge = "m5n.12xlarge"
  91918. // InstanceTypeM5n16xlarge is a InstanceType enum value
  91919. InstanceTypeM5n16xlarge = "m5n.16xlarge"
  91920. // InstanceTypeM5n24xlarge is a InstanceType enum value
  91921. InstanceTypeM5n24xlarge = "m5n.24xlarge"
  91922. // InstanceTypeR5dnLarge is a InstanceType enum value
  91923. InstanceTypeR5dnLarge = "r5dn.large"
  91924. // InstanceTypeR5dnXlarge is a InstanceType enum value
  91925. InstanceTypeR5dnXlarge = "r5dn.xlarge"
  91926. // InstanceTypeR5dn2xlarge is a InstanceType enum value
  91927. InstanceTypeR5dn2xlarge = "r5dn.2xlarge"
  91928. // InstanceTypeR5dn4xlarge is a InstanceType enum value
  91929. InstanceTypeR5dn4xlarge = "r5dn.4xlarge"
  91930. // InstanceTypeR5dn8xlarge is a InstanceType enum value
  91931. InstanceTypeR5dn8xlarge = "r5dn.8xlarge"
  91932. // InstanceTypeR5dn12xlarge is a InstanceType enum value
  91933. InstanceTypeR5dn12xlarge = "r5dn.12xlarge"
  91934. // InstanceTypeR5dn16xlarge is a InstanceType enum value
  91935. InstanceTypeR5dn16xlarge = "r5dn.16xlarge"
  91936. // InstanceTypeR5dn24xlarge is a InstanceType enum value
  91937. InstanceTypeR5dn24xlarge = "r5dn.24xlarge"
  91938. // InstanceTypeR5nLarge is a InstanceType enum value
  91939. InstanceTypeR5nLarge = "r5n.large"
  91940. // InstanceTypeR5nXlarge is a InstanceType enum value
  91941. InstanceTypeR5nXlarge = "r5n.xlarge"
  91942. // InstanceTypeR5n2xlarge is a InstanceType enum value
  91943. InstanceTypeR5n2xlarge = "r5n.2xlarge"
  91944. // InstanceTypeR5n4xlarge is a InstanceType enum value
  91945. InstanceTypeR5n4xlarge = "r5n.4xlarge"
  91946. // InstanceTypeR5n8xlarge is a InstanceType enum value
  91947. InstanceTypeR5n8xlarge = "r5n.8xlarge"
  91948. // InstanceTypeR5n12xlarge is a InstanceType enum value
  91949. InstanceTypeR5n12xlarge = "r5n.12xlarge"
  91950. // InstanceTypeR5n16xlarge is a InstanceType enum value
  91951. InstanceTypeR5n16xlarge = "r5n.16xlarge"
  91952. // InstanceTypeR5n24xlarge is a InstanceType enum value
  91953. InstanceTypeR5n24xlarge = "r5n.24xlarge"
  91954. // InstanceTypeInf1Xlarge is a InstanceType enum value
  91955. InstanceTypeInf1Xlarge = "inf1.xlarge"
  91956. // InstanceTypeInf12xlarge is a InstanceType enum value
  91957. InstanceTypeInf12xlarge = "inf1.2xlarge"
  91958. // InstanceTypeInf16xlarge is a InstanceType enum value
  91959. InstanceTypeInf16xlarge = "inf1.6xlarge"
  91960. // InstanceTypeInf124xlarge is a InstanceType enum value
  91961. InstanceTypeInf124xlarge = "inf1.24xlarge"
  91962. )
  91963. const (
  91964. // InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value
  91965. InstanceTypeHypervisorNitro = "nitro"
  91966. // InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value
  91967. InstanceTypeHypervisorXen = "xen"
  91968. )
  91969. const (
  91970. // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
  91971. InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
  91972. // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
  91973. InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
  91974. )
  91975. const (
  91976. // Ipv6SupportValueEnable is a Ipv6SupportValue enum value
  91977. Ipv6SupportValueEnable = "enable"
  91978. // Ipv6SupportValueDisable is a Ipv6SupportValue enum value
  91979. Ipv6SupportValueDisable = "disable"
  91980. )
  91981. const (
  91982. // LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
  91983. LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
  91984. // LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
  91985. LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
  91986. // LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
  91987. LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
  91988. // LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
  91989. LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
  91990. // LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
  91991. LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
  91992. // LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
  91993. LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
  91994. )
  91995. const (
  91996. // LaunchTemplateHttpTokensStateOptional is a LaunchTemplateHttpTokensState enum value
  91997. LaunchTemplateHttpTokensStateOptional = "optional"
  91998. // LaunchTemplateHttpTokensStateRequired is a LaunchTemplateHttpTokensState enum value
  91999. LaunchTemplateHttpTokensStateRequired = "required"
  92000. )
  92001. const (
  92002. // LaunchTemplateInstanceMetadataEndpointStateDisabled is a LaunchTemplateInstanceMetadataEndpointState enum value
  92003. LaunchTemplateInstanceMetadataEndpointStateDisabled = "disabled"
  92004. // LaunchTemplateInstanceMetadataEndpointStateEnabled is a LaunchTemplateInstanceMetadataEndpointState enum value
  92005. LaunchTemplateInstanceMetadataEndpointStateEnabled = "enabled"
  92006. )
  92007. const (
  92008. // LaunchTemplateInstanceMetadataOptionsStatePending is a LaunchTemplateInstanceMetadataOptionsState enum value
  92009. LaunchTemplateInstanceMetadataOptionsStatePending = "pending"
  92010. // LaunchTemplateInstanceMetadataOptionsStateApplied is a LaunchTemplateInstanceMetadataOptionsState enum value
  92011. LaunchTemplateInstanceMetadataOptionsStateApplied = "applied"
  92012. )
  92013. const (
  92014. // ListingStateAvailable is a ListingState enum value
  92015. ListingStateAvailable = "available"
  92016. // ListingStateSold is a ListingState enum value
  92017. ListingStateSold = "sold"
  92018. // ListingStateCancelled is a ListingState enum value
  92019. ListingStateCancelled = "cancelled"
  92020. // ListingStatePending is a ListingState enum value
  92021. ListingStatePending = "pending"
  92022. )
  92023. const (
  92024. // ListingStatusActive is a ListingStatus enum value
  92025. ListingStatusActive = "active"
  92026. // ListingStatusPending is a ListingStatus enum value
  92027. ListingStatusPending = "pending"
  92028. // ListingStatusCancelled is a ListingStatus enum value
  92029. ListingStatusCancelled = "cancelled"
  92030. // ListingStatusClosed is a ListingStatus enum value
  92031. ListingStatusClosed = "closed"
  92032. )
  92033. const (
  92034. // LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
  92035. LocalGatewayRouteStatePending = "pending"
  92036. // LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
  92037. LocalGatewayRouteStateActive = "active"
  92038. // LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
  92039. LocalGatewayRouteStateBlackhole = "blackhole"
  92040. // LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
  92041. LocalGatewayRouteStateDeleting = "deleting"
  92042. // LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
  92043. LocalGatewayRouteStateDeleted = "deleted"
  92044. )
  92045. const (
  92046. // LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
  92047. LocalGatewayRouteTypeStatic = "static"
  92048. // LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
  92049. LocalGatewayRouteTypePropagated = "propagated"
  92050. )
  92051. const (
  92052. // LocationTypeRegion is a LocationType enum value
  92053. LocationTypeRegion = "region"
  92054. // LocationTypeAvailabilityZone is a LocationType enum value
  92055. LocationTypeAvailabilityZone = "availability-zone"
  92056. // LocationTypeAvailabilityZoneId is a LocationType enum value
  92057. LocationTypeAvailabilityZoneId = "availability-zone-id"
  92058. )
  92059. const (
  92060. // LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
  92061. LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
  92062. // LogDestinationTypeS3 is a LogDestinationType enum value
  92063. LogDestinationTypeS3 = "s3"
  92064. )
  92065. const (
  92066. // MarketTypeSpot is a MarketType enum value
  92067. MarketTypeSpot = "spot"
  92068. )
  92069. const (
  92070. // MembershipTypeStatic is a MembershipType enum value
  92071. MembershipTypeStatic = "static"
  92072. // MembershipTypeIgmp is a MembershipType enum value
  92073. MembershipTypeIgmp = "igmp"
  92074. )
  92075. const (
  92076. // MonitoringStateDisabled is a MonitoringState enum value
  92077. MonitoringStateDisabled = "disabled"
  92078. // MonitoringStateDisabling is a MonitoringState enum value
  92079. MonitoringStateDisabling = "disabling"
  92080. // MonitoringStateEnabled is a MonitoringState enum value
  92081. MonitoringStateEnabled = "enabled"
  92082. // MonitoringStatePending is a MonitoringState enum value
  92083. MonitoringStatePending = "pending"
  92084. )
  92085. const (
  92086. // MoveStatusMovingToVpc is a MoveStatus enum value
  92087. MoveStatusMovingToVpc = "movingToVpc"
  92088. // MoveStatusRestoringToClassic is a MoveStatus enum value
  92089. MoveStatusRestoringToClassic = "restoringToClassic"
  92090. )
  92091. const (
  92092. // MulticastSupportValueEnable is a MulticastSupportValue enum value
  92093. MulticastSupportValueEnable = "enable"
  92094. // MulticastSupportValueDisable is a MulticastSupportValue enum value
  92095. MulticastSupportValueDisable = "disable"
  92096. )
  92097. const (
  92098. // NatGatewayStatePending is a NatGatewayState enum value
  92099. NatGatewayStatePending = "pending"
  92100. // NatGatewayStateFailed is a NatGatewayState enum value
  92101. NatGatewayStateFailed = "failed"
  92102. // NatGatewayStateAvailable is a NatGatewayState enum value
  92103. NatGatewayStateAvailable = "available"
  92104. // NatGatewayStateDeleting is a NatGatewayState enum value
  92105. NatGatewayStateDeleting = "deleting"
  92106. // NatGatewayStateDeleted is a NatGatewayState enum value
  92107. NatGatewayStateDeleted = "deleted"
  92108. )
  92109. const (
  92110. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  92111. NetworkInterfaceAttributeDescription = "description"
  92112. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  92113. NetworkInterfaceAttributeGroupSet = "groupSet"
  92114. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  92115. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  92116. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  92117. NetworkInterfaceAttributeAttachment = "attachment"
  92118. )
  92119. const (
  92120. // NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
  92121. NetworkInterfaceCreationTypeEfa = "efa"
  92122. )
  92123. const (
  92124. // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
  92125. NetworkInterfacePermissionStateCodePending = "pending"
  92126. // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
  92127. NetworkInterfacePermissionStateCodeGranted = "granted"
  92128. // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
  92129. NetworkInterfacePermissionStateCodeRevoking = "revoking"
  92130. // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
  92131. NetworkInterfacePermissionStateCodeRevoked = "revoked"
  92132. )
  92133. const (
  92134. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  92135. NetworkInterfaceStatusAvailable = "available"
  92136. // NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
  92137. NetworkInterfaceStatusAssociated = "associated"
  92138. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  92139. NetworkInterfaceStatusAttaching = "attaching"
  92140. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  92141. NetworkInterfaceStatusInUse = "in-use"
  92142. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  92143. NetworkInterfaceStatusDetaching = "detaching"
  92144. )
  92145. const (
  92146. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  92147. NetworkInterfaceTypeInterface = "interface"
  92148. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  92149. NetworkInterfaceTypeNatGateway = "natGateway"
  92150. // NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
  92151. NetworkInterfaceTypeEfa = "efa"
  92152. )
  92153. const (
  92154. // OfferingClassTypeStandard is a OfferingClassType enum value
  92155. OfferingClassTypeStandard = "standard"
  92156. // OfferingClassTypeConvertible is a OfferingClassType enum value
  92157. OfferingClassTypeConvertible = "convertible"
  92158. )
  92159. const (
  92160. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  92161. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  92162. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  92163. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  92164. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  92165. OfferingTypeValuesLightUtilization = "Light Utilization"
  92166. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  92167. OfferingTypeValuesNoUpfront = "No Upfront"
  92168. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  92169. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  92170. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  92171. OfferingTypeValuesAllUpfront = "All Upfront"
  92172. )
  92173. const (
  92174. // OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
  92175. OnDemandAllocationStrategyLowestPrice = "lowestPrice"
  92176. // OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
  92177. OnDemandAllocationStrategyPrioritized = "prioritized"
  92178. )
  92179. const (
  92180. // OperationTypeAdd is a OperationType enum value
  92181. OperationTypeAdd = "add"
  92182. // OperationTypeRemove is a OperationType enum value
  92183. OperationTypeRemove = "remove"
  92184. )
  92185. const (
  92186. // PaymentOptionAllUpfront is a PaymentOption enum value
  92187. PaymentOptionAllUpfront = "AllUpfront"
  92188. // PaymentOptionPartialUpfront is a PaymentOption enum value
  92189. PaymentOptionPartialUpfront = "PartialUpfront"
  92190. // PaymentOptionNoUpfront is a PaymentOption enum value
  92191. PaymentOptionNoUpfront = "NoUpfront"
  92192. )
  92193. const (
  92194. // PermissionGroupAll is a PermissionGroup enum value
  92195. PermissionGroupAll = "all"
  92196. )
  92197. const (
  92198. // PlacementGroupStatePending is a PlacementGroupState enum value
  92199. PlacementGroupStatePending = "pending"
  92200. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  92201. PlacementGroupStateAvailable = "available"
  92202. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  92203. PlacementGroupStateDeleting = "deleting"
  92204. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  92205. PlacementGroupStateDeleted = "deleted"
  92206. )
  92207. const (
  92208. // PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value
  92209. PlacementGroupStrategyCluster = "cluster"
  92210. // PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value
  92211. PlacementGroupStrategyPartition = "partition"
  92212. // PlacementGroupStrategySpread is a PlacementGroupStrategy enum value
  92213. PlacementGroupStrategySpread = "spread"
  92214. )
  92215. const (
  92216. // PlacementStrategyCluster is a PlacementStrategy enum value
  92217. PlacementStrategyCluster = "cluster"
  92218. // PlacementStrategySpread is a PlacementStrategy enum value
  92219. PlacementStrategySpread = "spread"
  92220. // PlacementStrategyPartition is a PlacementStrategy enum value
  92221. PlacementStrategyPartition = "partition"
  92222. )
  92223. const (
  92224. // PlatformValuesWindows is a PlatformValues enum value
  92225. PlatformValuesWindows = "Windows"
  92226. )
  92227. const (
  92228. // PrincipalTypeAll is a PrincipalType enum value
  92229. PrincipalTypeAll = "All"
  92230. // PrincipalTypeService is a PrincipalType enum value
  92231. PrincipalTypeService = "Service"
  92232. // PrincipalTypeOrganizationUnit is a PrincipalType enum value
  92233. PrincipalTypeOrganizationUnit = "OrganizationUnit"
  92234. // PrincipalTypeAccount is a PrincipalType enum value
  92235. PrincipalTypeAccount = "Account"
  92236. // PrincipalTypeUser is a PrincipalType enum value
  92237. PrincipalTypeUser = "User"
  92238. // PrincipalTypeRole is a PrincipalType enum value
  92239. PrincipalTypeRole = "Role"
  92240. )
  92241. const (
  92242. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  92243. ProductCodeValuesDevpay = "devpay"
  92244. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  92245. ProductCodeValuesMarketplace = "marketplace"
  92246. )
  92247. const (
  92248. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  92249. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  92250. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  92251. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  92252. // RIProductDescriptionWindows is a RIProductDescription enum value
  92253. RIProductDescriptionWindows = "Windows"
  92254. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  92255. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  92256. )
  92257. const (
  92258. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  92259. RecurringChargeFrequencyHourly = "Hourly"
  92260. )
  92261. const (
  92262. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  92263. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  92264. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  92265. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  92266. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  92267. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  92268. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  92269. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  92270. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  92271. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  92272. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  92273. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  92274. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  92275. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  92276. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  92277. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  92278. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  92279. ReportInstanceReasonCodesOther = "other"
  92280. )
  92281. const (
  92282. // ReportStatusTypeOk is a ReportStatusType enum value
  92283. ReportStatusTypeOk = "ok"
  92284. // ReportStatusTypeImpaired is a ReportStatusType enum value
  92285. ReportStatusTypeImpaired = "impaired"
  92286. )
  92287. const (
  92288. // ReservationStatePaymentPending is a ReservationState enum value
  92289. ReservationStatePaymentPending = "payment-pending"
  92290. // ReservationStatePaymentFailed is a ReservationState enum value
  92291. ReservationStatePaymentFailed = "payment-failed"
  92292. // ReservationStateActive is a ReservationState enum value
  92293. ReservationStateActive = "active"
  92294. // ReservationStateRetired is a ReservationState enum value
  92295. ReservationStateRetired = "retired"
  92296. )
  92297. const (
  92298. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  92299. ReservedInstanceStatePaymentPending = "payment-pending"
  92300. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  92301. ReservedInstanceStateActive = "active"
  92302. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  92303. ReservedInstanceStatePaymentFailed = "payment-failed"
  92304. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  92305. ReservedInstanceStateRetired = "retired"
  92306. // ReservedInstanceStateQueued is a ReservedInstanceState enum value
  92307. ReservedInstanceStateQueued = "queued"
  92308. // ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value
  92309. ReservedInstanceStateQueuedDeleted = "queued-deleted"
  92310. )
  92311. const (
  92312. // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
  92313. ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
  92314. )
  92315. const (
  92316. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  92317. ResetImageAttributeNameLaunchPermission = "launchPermission"
  92318. )
  92319. const (
  92320. // ResourceTypeClientVpnEndpoint is a ResourceType enum value
  92321. ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
  92322. // ResourceTypeCustomerGateway is a ResourceType enum value
  92323. ResourceTypeCustomerGateway = "customer-gateway"
  92324. // ResourceTypeDedicatedHost is a ResourceType enum value
  92325. ResourceTypeDedicatedHost = "dedicated-host"
  92326. // ResourceTypeDhcpOptions is a ResourceType enum value
  92327. ResourceTypeDhcpOptions = "dhcp-options"
  92328. // ResourceTypeElasticIp is a ResourceType enum value
  92329. ResourceTypeElasticIp = "elastic-ip"
  92330. // ResourceTypeFleet is a ResourceType enum value
  92331. ResourceTypeFleet = "fleet"
  92332. // ResourceTypeFpgaImage is a ResourceType enum value
  92333. ResourceTypeFpgaImage = "fpga-image"
  92334. // ResourceTypeHostReservation is a ResourceType enum value
  92335. ResourceTypeHostReservation = "host-reservation"
  92336. // ResourceTypeImage is a ResourceType enum value
  92337. ResourceTypeImage = "image"
  92338. // ResourceTypeInstance is a ResourceType enum value
  92339. ResourceTypeInstance = "instance"
  92340. // ResourceTypeInternetGateway is a ResourceType enum value
  92341. ResourceTypeInternetGateway = "internet-gateway"
  92342. // ResourceTypeKeyPair is a ResourceType enum value
  92343. ResourceTypeKeyPair = "key-pair"
  92344. // ResourceTypeLaunchTemplate is a ResourceType enum value
  92345. ResourceTypeLaunchTemplate = "launch-template"
  92346. // ResourceTypeNatgateway is a ResourceType enum value
  92347. ResourceTypeNatgateway = "natgateway"
  92348. // ResourceTypeNetworkAcl is a ResourceType enum value
  92349. ResourceTypeNetworkAcl = "network-acl"
  92350. // ResourceTypeNetworkInterface is a ResourceType enum value
  92351. ResourceTypeNetworkInterface = "network-interface"
  92352. // ResourceTypePlacementGroup is a ResourceType enum value
  92353. ResourceTypePlacementGroup = "placement-group"
  92354. // ResourceTypeReservedInstances is a ResourceType enum value
  92355. ResourceTypeReservedInstances = "reserved-instances"
  92356. // ResourceTypeRouteTable is a ResourceType enum value
  92357. ResourceTypeRouteTable = "route-table"
  92358. // ResourceTypeSecurityGroup is a ResourceType enum value
  92359. ResourceTypeSecurityGroup = "security-group"
  92360. // ResourceTypeSnapshot is a ResourceType enum value
  92361. ResourceTypeSnapshot = "snapshot"
  92362. // ResourceTypeSpotFleetRequest is a ResourceType enum value
  92363. ResourceTypeSpotFleetRequest = "spot-fleet-request"
  92364. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  92365. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  92366. // ResourceTypeSubnet is a ResourceType enum value
  92367. ResourceTypeSubnet = "subnet"
  92368. // ResourceTypeTrafficMirrorFilter is a ResourceType enum value
  92369. ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter"
  92370. // ResourceTypeTrafficMirrorSession is a ResourceType enum value
  92371. ResourceTypeTrafficMirrorSession = "traffic-mirror-session"
  92372. // ResourceTypeTrafficMirrorTarget is a ResourceType enum value
  92373. ResourceTypeTrafficMirrorTarget = "traffic-mirror-target"
  92374. // ResourceTypeTransitGateway is a ResourceType enum value
  92375. ResourceTypeTransitGateway = "transit-gateway"
  92376. // ResourceTypeTransitGatewayAttachment is a ResourceType enum value
  92377. ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
  92378. // ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
  92379. ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
  92380. // ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
  92381. ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
  92382. // ResourceTypeVolume is a ResourceType enum value
  92383. ResourceTypeVolume = "volume"
  92384. // ResourceTypeVpc is a ResourceType enum value
  92385. ResourceTypeVpc = "vpc"
  92386. // ResourceTypeVpcPeeringConnection is a ResourceType enum value
  92387. ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
  92388. // ResourceTypeVpnConnection is a ResourceType enum value
  92389. ResourceTypeVpnConnection = "vpn-connection"
  92390. // ResourceTypeVpnGateway is a ResourceType enum value
  92391. ResourceTypeVpnGateway = "vpn-gateway"
  92392. )
  92393. const (
  92394. // RootDeviceTypeEbs is a RootDeviceType enum value
  92395. RootDeviceTypeEbs = "ebs"
  92396. // RootDeviceTypeInstanceStore is a RootDeviceType enum value
  92397. RootDeviceTypeInstanceStore = "instance-store"
  92398. )
  92399. const (
  92400. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  92401. RouteOriginCreateRouteTable = "CreateRouteTable"
  92402. // RouteOriginCreateRoute is a RouteOrigin enum value
  92403. RouteOriginCreateRoute = "CreateRoute"
  92404. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  92405. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  92406. )
  92407. const (
  92408. // RouteStateActive is a RouteState enum value
  92409. RouteStateActive = "active"
  92410. // RouteStateBlackhole is a RouteState enum value
  92411. RouteStateBlackhole = "blackhole"
  92412. )
  92413. const (
  92414. // RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
  92415. RouteTableAssociationStateCodeAssociating = "associating"
  92416. // RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
  92417. RouteTableAssociationStateCodeAssociated = "associated"
  92418. // RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
  92419. RouteTableAssociationStateCodeDisassociating = "disassociating"
  92420. // RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
  92421. RouteTableAssociationStateCodeDisassociated = "disassociated"
  92422. // RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
  92423. RouteTableAssociationStateCodeFailed = "failed"
  92424. )
  92425. const (
  92426. // RuleActionAllow is a RuleAction enum value
  92427. RuleActionAllow = "allow"
  92428. // RuleActionDeny is a RuleAction enum value
  92429. RuleActionDeny = "deny"
  92430. )
  92431. const (
  92432. // ScopeAvailabilityZone is a Scope enum value
  92433. ScopeAvailabilityZone = "Availability Zone"
  92434. // ScopeRegion is a Scope enum value
  92435. ScopeRegion = "Region"
  92436. )
  92437. const (
  92438. // ServiceStatePending is a ServiceState enum value
  92439. ServiceStatePending = "Pending"
  92440. // ServiceStateAvailable is a ServiceState enum value
  92441. ServiceStateAvailable = "Available"
  92442. // ServiceStateDeleting is a ServiceState enum value
  92443. ServiceStateDeleting = "Deleting"
  92444. // ServiceStateDeleted is a ServiceState enum value
  92445. ServiceStateDeleted = "Deleted"
  92446. // ServiceStateFailed is a ServiceState enum value
  92447. ServiceStateFailed = "Failed"
  92448. )
  92449. const (
  92450. // ServiceTypeInterface is a ServiceType enum value
  92451. ServiceTypeInterface = "Interface"
  92452. // ServiceTypeGateway is a ServiceType enum value
  92453. ServiceTypeGateway = "Gateway"
  92454. )
  92455. const (
  92456. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  92457. ShutdownBehaviorStop = "stop"
  92458. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  92459. ShutdownBehaviorTerminate = "terminate"
  92460. )
  92461. const (
  92462. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  92463. SnapshotAttributeNameProductCodes = "productCodes"
  92464. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  92465. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  92466. )
  92467. const (
  92468. // SnapshotStatePending is a SnapshotState enum value
  92469. SnapshotStatePending = "pending"
  92470. // SnapshotStateCompleted is a SnapshotState enum value
  92471. SnapshotStateCompleted = "completed"
  92472. // SnapshotStateError is a SnapshotState enum value
  92473. SnapshotStateError = "error"
  92474. )
  92475. const (
  92476. // SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
  92477. SpotAllocationStrategyLowestPrice = "lowest-price"
  92478. // SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
  92479. SpotAllocationStrategyDiversified = "diversified"
  92480. // SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value
  92481. SpotAllocationStrategyCapacityOptimized = "capacity-optimized"
  92482. )
  92483. const (
  92484. // SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
  92485. SpotInstanceInterruptionBehaviorHibernate = "hibernate"
  92486. // SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
  92487. SpotInstanceInterruptionBehaviorStop = "stop"
  92488. // SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
  92489. SpotInstanceInterruptionBehaviorTerminate = "terminate"
  92490. )
  92491. const (
  92492. // SpotInstanceStateOpen is a SpotInstanceState enum value
  92493. SpotInstanceStateOpen = "open"
  92494. // SpotInstanceStateActive is a SpotInstanceState enum value
  92495. SpotInstanceStateActive = "active"
  92496. // SpotInstanceStateClosed is a SpotInstanceState enum value
  92497. SpotInstanceStateClosed = "closed"
  92498. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  92499. SpotInstanceStateCancelled = "cancelled"
  92500. // SpotInstanceStateFailed is a SpotInstanceState enum value
  92501. SpotInstanceStateFailed = "failed"
  92502. )
  92503. const (
  92504. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  92505. SpotInstanceTypeOneTime = "one-time"
  92506. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  92507. SpotInstanceTypePersistent = "persistent"
  92508. )
  92509. const (
  92510. // StatePendingAcceptance is a State enum value
  92511. StatePendingAcceptance = "PendingAcceptance"
  92512. // StatePending is a State enum value
  92513. StatePending = "Pending"
  92514. // StateAvailable is a State enum value
  92515. StateAvailable = "Available"
  92516. // StateDeleting is a State enum value
  92517. StateDeleting = "Deleting"
  92518. // StateDeleted is a State enum value
  92519. StateDeleted = "Deleted"
  92520. // StateRejected is a State enum value
  92521. StateRejected = "Rejected"
  92522. // StateFailed is a State enum value
  92523. StateFailed = "Failed"
  92524. // StateExpired is a State enum value
  92525. StateExpired = "Expired"
  92526. )
  92527. const (
  92528. // StatusMoveInProgress is a Status enum value
  92529. StatusMoveInProgress = "MoveInProgress"
  92530. // StatusInVpc is a Status enum value
  92531. StatusInVpc = "InVpc"
  92532. // StatusInClassic is a Status enum value
  92533. StatusInClassic = "InClassic"
  92534. )
  92535. const (
  92536. // StatusNameReachability is a StatusName enum value
  92537. StatusNameReachability = "reachability"
  92538. )
  92539. const (
  92540. // StatusTypePassed is a StatusType enum value
  92541. StatusTypePassed = "passed"
  92542. // StatusTypeFailed is a StatusType enum value
  92543. StatusTypeFailed = "failed"
  92544. // StatusTypeInsufficientData is a StatusType enum value
  92545. StatusTypeInsufficientData = "insufficient-data"
  92546. // StatusTypeInitializing is a StatusType enum value
  92547. StatusTypeInitializing = "initializing"
  92548. )
  92549. const (
  92550. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  92551. SubnetCidrBlockStateCodeAssociating = "associating"
  92552. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  92553. SubnetCidrBlockStateCodeAssociated = "associated"
  92554. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  92555. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  92556. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  92557. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  92558. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  92559. SubnetCidrBlockStateCodeFailing = "failing"
  92560. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  92561. SubnetCidrBlockStateCodeFailed = "failed"
  92562. )
  92563. const (
  92564. // SubnetStatePending is a SubnetState enum value
  92565. SubnetStatePending = "pending"
  92566. // SubnetStateAvailable is a SubnetState enum value
  92567. SubnetStateAvailable = "available"
  92568. )
  92569. const (
  92570. // SummaryStatusOk is a SummaryStatus enum value
  92571. SummaryStatusOk = "ok"
  92572. // SummaryStatusImpaired is a SummaryStatus enum value
  92573. SummaryStatusImpaired = "impaired"
  92574. // SummaryStatusInsufficientData is a SummaryStatus enum value
  92575. SummaryStatusInsufficientData = "insufficient-data"
  92576. // SummaryStatusNotApplicable is a SummaryStatus enum value
  92577. SummaryStatusNotApplicable = "not-applicable"
  92578. // SummaryStatusInitializing is a SummaryStatus enum value
  92579. SummaryStatusInitializing = "initializing"
  92580. )
  92581. const (
  92582. // TelemetryStatusUp is a TelemetryStatus enum value
  92583. TelemetryStatusUp = "UP"
  92584. // TelemetryStatusDown is a TelemetryStatus enum value
  92585. TelemetryStatusDown = "DOWN"
  92586. )
  92587. const (
  92588. // TenancyDefault is a Tenancy enum value
  92589. TenancyDefault = "default"
  92590. // TenancyDedicated is a Tenancy enum value
  92591. TenancyDedicated = "dedicated"
  92592. // TenancyHost is a Tenancy enum value
  92593. TenancyHost = "host"
  92594. )
  92595. const (
  92596. // TrafficDirectionIngress is a TrafficDirection enum value
  92597. TrafficDirectionIngress = "ingress"
  92598. // TrafficDirectionEgress is a TrafficDirection enum value
  92599. TrafficDirectionEgress = "egress"
  92600. )
  92601. const (
  92602. // TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value
  92603. TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range"
  92604. // TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value
  92605. TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range"
  92606. // TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value
  92607. TrafficMirrorFilterRuleFieldProtocol = "protocol"
  92608. // TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value
  92609. TrafficMirrorFilterRuleFieldDescription = "description"
  92610. )
  92611. const (
  92612. // TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value
  92613. TrafficMirrorNetworkServiceAmazonDns = "amazon-dns"
  92614. )
  92615. const (
  92616. // TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value
  92617. TrafficMirrorRuleActionAccept = "accept"
  92618. // TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value
  92619. TrafficMirrorRuleActionReject = "reject"
  92620. )
  92621. const (
  92622. // TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value
  92623. TrafficMirrorSessionFieldPacketLength = "packet-length"
  92624. // TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value
  92625. TrafficMirrorSessionFieldDescription = "description"
  92626. // TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value
  92627. TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id"
  92628. )
  92629. const (
  92630. // TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value
  92631. TrafficMirrorTargetTypeNetworkInterface = "network-interface"
  92632. // TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value
  92633. TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer"
  92634. )
  92635. const (
  92636. // TrafficTypeAccept is a TrafficType enum value
  92637. TrafficTypeAccept = "ACCEPT"
  92638. // TrafficTypeReject is a TrafficType enum value
  92639. TrafficTypeReject = "REJECT"
  92640. // TrafficTypeAll is a TrafficType enum value
  92641. TrafficTypeAll = "ALL"
  92642. )
  92643. const (
  92644. // TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
  92645. TransitGatewayAssociationStateAssociating = "associating"
  92646. // TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
  92647. TransitGatewayAssociationStateAssociated = "associated"
  92648. // TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
  92649. TransitGatewayAssociationStateDisassociating = "disassociating"
  92650. // TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
  92651. TransitGatewayAssociationStateDisassociated = "disassociated"
  92652. )
  92653. const (
  92654. // TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
  92655. TransitGatewayAttachmentResourceTypeVpc = "vpc"
  92656. // TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
  92657. TransitGatewayAttachmentResourceTypeVpn = "vpn"
  92658. // TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
  92659. TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
  92660. // TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
  92661. TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
  92662. )
  92663. const (
  92664. // TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
  92665. TransitGatewayAttachmentStateInitiating = "initiating"
  92666. // TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
  92667. TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
  92668. // TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
  92669. TransitGatewayAttachmentStateRollingBack = "rollingBack"
  92670. // TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
  92671. TransitGatewayAttachmentStatePending = "pending"
  92672. // TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
  92673. TransitGatewayAttachmentStateAvailable = "available"
  92674. // TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
  92675. TransitGatewayAttachmentStateModifying = "modifying"
  92676. // TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
  92677. TransitGatewayAttachmentStateDeleting = "deleting"
  92678. // TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
  92679. TransitGatewayAttachmentStateDeleted = "deleted"
  92680. // TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
  92681. TransitGatewayAttachmentStateFailed = "failed"
  92682. // TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
  92683. TransitGatewayAttachmentStateRejected = "rejected"
  92684. // TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
  92685. TransitGatewayAttachmentStateRejecting = "rejecting"
  92686. // TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
  92687. TransitGatewayAttachmentStateFailing = "failing"
  92688. )
  92689. const (
  92690. // TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
  92691. TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
  92692. // TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
  92693. TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
  92694. // TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
  92695. TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
  92696. // TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
  92697. TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
  92698. )
  92699. const (
  92700. // TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
  92701. TransitGatewayMulticastDomainStatePending = "pending"
  92702. // TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
  92703. TransitGatewayMulticastDomainStateAvailable = "available"
  92704. // TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
  92705. TransitGatewayMulticastDomainStateDeleting = "deleting"
  92706. // TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
  92707. TransitGatewayMulticastDomainStateDeleted = "deleted"
  92708. )
  92709. const (
  92710. // TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
  92711. TransitGatewayPropagationStateEnabling = "enabling"
  92712. // TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
  92713. TransitGatewayPropagationStateEnabled = "enabled"
  92714. // TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
  92715. TransitGatewayPropagationStateDisabling = "disabling"
  92716. // TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
  92717. TransitGatewayPropagationStateDisabled = "disabled"
  92718. )
  92719. const (
  92720. // TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
  92721. TransitGatewayRouteStatePending = "pending"
  92722. // TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
  92723. TransitGatewayRouteStateActive = "active"
  92724. // TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
  92725. TransitGatewayRouteStateBlackhole = "blackhole"
  92726. // TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
  92727. TransitGatewayRouteStateDeleting = "deleting"
  92728. // TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
  92729. TransitGatewayRouteStateDeleted = "deleted"
  92730. )
  92731. const (
  92732. // TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
  92733. TransitGatewayRouteTableStatePending = "pending"
  92734. // TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
  92735. TransitGatewayRouteTableStateAvailable = "available"
  92736. // TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
  92737. TransitGatewayRouteTableStateDeleting = "deleting"
  92738. // TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
  92739. TransitGatewayRouteTableStateDeleted = "deleted"
  92740. )
  92741. const (
  92742. // TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
  92743. TransitGatewayRouteTypeStatic = "static"
  92744. // TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
  92745. TransitGatewayRouteTypePropagated = "propagated"
  92746. )
  92747. const (
  92748. // TransitGatewayStatePending is a TransitGatewayState enum value
  92749. TransitGatewayStatePending = "pending"
  92750. // TransitGatewayStateAvailable is a TransitGatewayState enum value
  92751. TransitGatewayStateAvailable = "available"
  92752. // TransitGatewayStateModifying is a TransitGatewayState enum value
  92753. TransitGatewayStateModifying = "modifying"
  92754. // TransitGatewayStateDeleting is a TransitGatewayState enum value
  92755. TransitGatewayStateDeleting = "deleting"
  92756. // TransitGatewayStateDeleted is a TransitGatewayState enum value
  92757. TransitGatewayStateDeleted = "deleted"
  92758. )
  92759. const (
  92760. // TransportProtocolTcp is a TransportProtocol enum value
  92761. TransportProtocolTcp = "tcp"
  92762. // TransportProtocolUdp is a TransportProtocol enum value
  92763. TransportProtocolUdp = "udp"
  92764. )
  92765. const (
  92766. // UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
  92767. UnlimitedSupportedInstanceFamilyT2 = "t2"
  92768. // UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
  92769. UnlimitedSupportedInstanceFamilyT3 = "t3"
  92770. // UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
  92771. UnlimitedSupportedInstanceFamilyT3a = "t3a"
  92772. )
  92773. const (
  92774. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  92775. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
  92776. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  92777. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
  92778. // UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  92779. UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
  92780. // UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  92781. UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
  92782. )
  92783. const (
  92784. // UsageClassTypeSpot is a UsageClassType enum value
  92785. UsageClassTypeSpot = "spot"
  92786. // UsageClassTypeOnDemand is a UsageClassType enum value
  92787. UsageClassTypeOnDemand = "on-demand"
  92788. )
  92789. const (
  92790. // VirtualizationTypeHvm is a VirtualizationType enum value
  92791. VirtualizationTypeHvm = "hvm"
  92792. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  92793. VirtualizationTypeParavirtual = "paravirtual"
  92794. )
  92795. const (
  92796. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  92797. VolumeAttachmentStateAttaching = "attaching"
  92798. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  92799. VolumeAttachmentStateAttached = "attached"
  92800. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  92801. VolumeAttachmentStateDetaching = "detaching"
  92802. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  92803. VolumeAttachmentStateDetached = "detached"
  92804. // VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
  92805. VolumeAttachmentStateBusy = "busy"
  92806. )
  92807. const (
  92808. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  92809. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  92810. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  92811. VolumeAttributeNameProductCodes = "productCodes"
  92812. )
  92813. const (
  92814. // VolumeModificationStateModifying is a VolumeModificationState enum value
  92815. VolumeModificationStateModifying = "modifying"
  92816. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  92817. VolumeModificationStateOptimizing = "optimizing"
  92818. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  92819. VolumeModificationStateCompleted = "completed"
  92820. // VolumeModificationStateFailed is a VolumeModificationState enum value
  92821. VolumeModificationStateFailed = "failed"
  92822. )
  92823. const (
  92824. // VolumeStateCreating is a VolumeState enum value
  92825. VolumeStateCreating = "creating"
  92826. // VolumeStateAvailable is a VolumeState enum value
  92827. VolumeStateAvailable = "available"
  92828. // VolumeStateInUse is a VolumeState enum value
  92829. VolumeStateInUse = "in-use"
  92830. // VolumeStateDeleting is a VolumeState enum value
  92831. VolumeStateDeleting = "deleting"
  92832. // VolumeStateDeleted is a VolumeState enum value
  92833. VolumeStateDeleted = "deleted"
  92834. // VolumeStateError is a VolumeState enum value
  92835. VolumeStateError = "error"
  92836. )
  92837. const (
  92838. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  92839. VolumeStatusInfoStatusOk = "ok"
  92840. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  92841. VolumeStatusInfoStatusImpaired = "impaired"
  92842. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  92843. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  92844. )
  92845. const (
  92846. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  92847. VolumeStatusNameIoEnabled = "io-enabled"
  92848. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  92849. VolumeStatusNameIoPerformance = "io-performance"
  92850. )
  92851. const (
  92852. // VolumeTypeStandard is a VolumeType enum value
  92853. VolumeTypeStandard = "standard"
  92854. // VolumeTypeIo1 is a VolumeType enum value
  92855. VolumeTypeIo1 = "io1"
  92856. // VolumeTypeGp2 is a VolumeType enum value
  92857. VolumeTypeGp2 = "gp2"
  92858. // VolumeTypeSc1 is a VolumeType enum value
  92859. VolumeTypeSc1 = "sc1"
  92860. // VolumeTypeSt1 is a VolumeType enum value
  92861. VolumeTypeSt1 = "st1"
  92862. )
  92863. const (
  92864. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  92865. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  92866. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  92867. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  92868. )
  92869. const (
  92870. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  92871. VpcCidrBlockStateCodeAssociating = "associating"
  92872. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  92873. VpcCidrBlockStateCodeAssociated = "associated"
  92874. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  92875. VpcCidrBlockStateCodeDisassociating = "disassociating"
  92876. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  92877. VpcCidrBlockStateCodeDisassociated = "disassociated"
  92878. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  92879. VpcCidrBlockStateCodeFailing = "failing"
  92880. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  92881. VpcCidrBlockStateCodeFailed = "failed"
  92882. )
  92883. const (
  92884. // VpcEndpointTypeInterface is a VpcEndpointType enum value
  92885. VpcEndpointTypeInterface = "Interface"
  92886. // VpcEndpointTypeGateway is a VpcEndpointType enum value
  92887. VpcEndpointTypeGateway = "Gateway"
  92888. )
  92889. const (
  92890. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  92891. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  92892. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  92893. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  92894. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  92895. VpcPeeringConnectionStateReasonCodeActive = "active"
  92896. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  92897. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  92898. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  92899. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  92900. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  92901. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  92902. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  92903. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  92904. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  92905. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  92906. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  92907. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  92908. )
  92909. const (
  92910. // VpcStatePending is a VpcState enum value
  92911. VpcStatePending = "pending"
  92912. // VpcStateAvailable is a VpcState enum value
  92913. VpcStateAvailable = "available"
  92914. )
  92915. const (
  92916. // VpcTenancyDefault is a VpcTenancy enum value
  92917. VpcTenancyDefault = "default"
  92918. )
  92919. const (
  92920. // VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
  92921. VpnEcmpSupportValueEnable = "enable"
  92922. // VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
  92923. VpnEcmpSupportValueDisable = "disable"
  92924. )
  92925. const (
  92926. // VpnProtocolOpenvpn is a VpnProtocol enum value
  92927. VpnProtocolOpenvpn = "openvpn"
  92928. )
  92929. const (
  92930. // VpnStatePending is a VpnState enum value
  92931. VpnStatePending = "pending"
  92932. // VpnStateAvailable is a VpnState enum value
  92933. VpnStateAvailable = "available"
  92934. // VpnStateDeleting is a VpnState enum value
  92935. VpnStateDeleting = "deleting"
  92936. // VpnStateDeleted is a VpnState enum value
  92937. VpnStateDeleted = "deleted"
  92938. )
  92939. const (
  92940. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  92941. VpnStaticRouteSourceStatic = "Static"
  92942. )